Merge "Migrate lockscreen.disabled on upgrade"
diff --git a/api/current.txt b/api/current.txt
index 6db4ba7..d29bd78 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -299,6 +299,7 @@
field public static final int anyDensity = 16843372; // 0x101026c
field public static final int apduServiceBanner = 16843757; // 0x10103ed
field public static final int apiKey = 16843281; // 0x1010211
+ field public static final int assistBlocked = 16844020; // 0x10104f4
field public static final int author = 16843444; // 0x10102b4
field public static final int authorities = 16842776; // 0x1010018
field public static final int autoAdvanceViewId = 16843535; // 0x101030f
@@ -505,6 +506,7 @@
field public static final int duplicateParentState = 16842985; // 0x10100e9
field public static final int duration = 16843160; // 0x1010198
field public static final int durationScaleHint = 16844014; // 0x10104ee
+ field public static final int dynamicResources = 16844019; // 0x10104f3
field public static final int editTextBackground = 16843602; // 0x1010352
field public static final int editTextColor = 16843601; // 0x1010351
field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
@@ -1722,6 +1724,7 @@
field public static final int selectAll = 16908319; // 0x102001f
field public static final int selectTextMode = 16908333; // 0x102002d
field public static final int selectedIcon = 16908302; // 0x102000e
+ field public static final int shareText = 16908343; // 0x1020037
field public static final int startSelectingText = 16908328; // 0x1020028
field public static final int statusBarBackground = 16908335; // 0x102002f
field public static final int stopSelectingText = 16908329; // 0x1020029
@@ -3503,6 +3506,7 @@
method public boolean shouldUpRecreateTask(android.content.Intent);
method public final deprecated void showDialog(int);
method public final deprecated boolean showDialog(int, android.os.Bundle);
+ method public void showLockTaskEscapeMessage();
method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
method public void startActivityForResult(android.content.Intent, int);
@@ -4068,6 +4072,7 @@
method public int getWidth();
method public boolean isAccessibilityFocused();
method public boolean isActivated();
+ method public boolean isAssistBlocked();
method public boolean isCheckable();
method public boolean isChecked();
method public boolean isClickable();
@@ -5649,6 +5654,7 @@
method public void onProfileProvisioningComplete(android.content.Context, android.content.Intent);
method public void onReadyForUserInitialization(android.content.Context, android.content.Intent);
method public void onReceive(android.content.Context, android.content.Intent);
+ method public void onSystemUpdatePending(android.content.Context, android.content.Intent, long);
field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
field public static final java.lang.String ACTION_DEVICE_ADMIN_ENABLED = "android.app.action.DEVICE_ADMIN_ENABLED";
@@ -7772,6 +7778,7 @@
field public static final java.lang.String MEDIA_PROJECTION_SERVICE = "media_projection";
field public static final java.lang.String MEDIA_ROUTER_SERVICE = "media_router";
field public static final java.lang.String MEDIA_SESSION_SERVICE = "media_session";
+ field public static final java.lang.String MIDI_SERVICE = "midi";
field public static final int MODE_APPEND = 32768; // 0x8000
field public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; // 0x8
field public static final int MODE_MULTI_PROCESS = 4; // 0x4
@@ -9309,6 +9316,7 @@
field public static final java.lang.String FEATURE_APP_WIDGETS = "android.software.app_widgets";
field public static final java.lang.String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
field public static final java.lang.String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
+ field public static final java.lang.String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
field public static final java.lang.String FEATURE_BACKUP = "android.software.backup";
field public static final java.lang.String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
field public static final java.lang.String FEATURE_BLUETOOTH_LE = "android.hardware.bluetooth_le";
@@ -12410,7 +12418,9 @@
method public void draw(android.graphics.Canvas);
method public android.graphics.drawable.Drawable findDrawableByLayerId(int);
method public int findIndexByLayerId(int);
+ method public int getBottomPadding();
method public android.graphics.drawable.Drawable getDrawable(int);
+ method public int getEndPadding();
method public int getId(int);
method public int getLayerGravity(int);
method public int getLayerHeight(int);
@@ -12421,9 +12431,13 @@
method public int getLayerInsetStart(int);
method public int getLayerInsetTop(int);
method public int getLayerWidth(int);
+ method public int getLeftPadding();
method public int getNumberOfLayers();
method public int getOpacity();
method public int getPaddingMode();
+ method public int getRightPadding();
+ method public int getStartPadding();
+ method public int getTopPadding();
method public void invalidateDrawable(android.graphics.drawable.Drawable);
method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
method public void setAlpha(int);
@@ -12444,7 +12458,9 @@
method public void setLayerSize(int, int, int);
method public void setLayerWidth(int, int);
method public void setOpacity(int);
+ method public void setPadding(int, int, int, int);
method public void setPaddingMode(int);
+ method public void setPaddingRelative(int, int, int, int);
method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
field public static final int PADDING_MODE_NEST = 0; // 0x0
field public static final int PADDING_MODE_STACK = 1; // 0x1
@@ -14985,6 +15001,7 @@
method public int getPlayState();
method public int getPlaybackHeadPosition();
method public int getPlaybackRate();
+ method public android.media.PlaybackSettings getPlaybackSettings();
method public int getPositionNotificationPeriod();
method public android.media.AudioDeviceInfo getPreferredOutputDevice();
method public int getSampleRate();
@@ -15002,6 +15019,7 @@
method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
method public int setPlaybackRate(int);
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
method public int setPositionNotificationPeriod(int);
method public boolean setPreferredOutputDevice(android.media.AudioDeviceInfo);
method protected deprecated void setState(int);
@@ -15014,6 +15032,7 @@
method public int write(short[], int, int, int);
method public int write(float[], int, int, int);
method public int write(java.nio.ByteBuffer, int, int);
+ method public int write(java.nio.ByteBuffer, int, int, long);
field public static final int ERROR = -1; // 0xffffffff
field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
@@ -15259,6 +15278,7 @@
method public static android.media.MediaCodec createDecoderByType(java.lang.String) throws java.io.IOException;
method public static android.media.MediaCodec createEncoderByType(java.lang.String) throws java.io.IOException;
method public final android.view.Surface createInputSurface();
+ method public static android.view.Surface createPersistentInputSurface();
method public final int dequeueInputBuffer(long);
method public final int dequeueOutputBuffer(android.media.MediaCodec.BufferInfo, long);
method public final void flush();
@@ -15279,12 +15299,16 @@
method public final void releaseOutputBuffer(int, boolean);
method public final void releaseOutputBuffer(int, long);
method public final void reset();
+ method public void setCallback(android.media.MediaCodec.Callback, android.os.Handler);
method public void setCallback(android.media.MediaCodec.Callback);
+ method public void setOnFrameRenderedListener(android.media.MediaCodec.OnFrameRenderedListener, android.os.Handler);
method public final void setParameters(android.os.Bundle);
+ method public void setSurface(android.view.Surface);
method public final void setVideoScalingMode(int);
method public final void signalEndOfInputStream();
method public final void start();
method public final void stop();
+ method public void usePersistentInputSurface(android.view.Surface);
field public static final int BUFFER_FLAG_CODEC_CONFIG = 2; // 0x2
field public static final int BUFFER_FLAG_END_OF_STREAM = 4; // 0x4
field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1
@@ -15348,6 +15372,10 @@
field public int numSubSamples;
}
+ public static abstract interface MediaCodec.OnFrameRenderedListener {
+ method public abstract void onFrameRendered(android.media.MediaCodec, long, long);
+ }
+
public final class MediaCodecInfo {
method public final android.media.MediaCodecInfo.CodecCapabilities getCapabilitiesForType(java.lang.String);
method public final java.lang.String getName();
@@ -15375,54 +15403,55 @@
method public final boolean isFeatureRequired(java.lang.String);
method public final boolean isFeatureSupported(java.lang.String);
method public final boolean isFormatSupported(android.media.MediaFormat);
- field public static final int COLOR_Format12bitRGB444 = 3; // 0x3
- field public static final int COLOR_Format16bitARGB1555 = 5; // 0x5
- field public static final int COLOR_Format16bitARGB4444 = 4; // 0x4
- field public static final int COLOR_Format16bitBGR565 = 7; // 0x7
+ field public static final deprecated int COLOR_Format12bitRGB444 = 3; // 0x3
+ field public static final deprecated int COLOR_Format16bitARGB1555 = 5; // 0x5
+ field public static final deprecated int COLOR_Format16bitARGB4444 = 4; // 0x4
+ field public static final deprecated int COLOR_Format16bitBGR565 = 7; // 0x7
field public static final int COLOR_Format16bitRGB565 = 6; // 0x6
- field public static final int COLOR_Format18BitBGR666 = 41; // 0x29
- field public static final int COLOR_Format18bitARGB1665 = 9; // 0x9
- field public static final int COLOR_Format18bitRGB666 = 8; // 0x8
- field public static final int COLOR_Format19bitARGB1666 = 10; // 0xa
- field public static final int COLOR_Format24BitABGR6666 = 43; // 0x2b
- field public static final int COLOR_Format24BitARGB6666 = 42; // 0x2a
- field public static final int COLOR_Format24bitARGB1887 = 13; // 0xd
- field public static final int COLOR_Format24bitBGR888 = 12; // 0xc
+ field public static final deprecated int COLOR_Format18BitBGR666 = 41; // 0x29
+ field public static final deprecated int COLOR_Format18bitARGB1665 = 9; // 0x9
+ field public static final deprecated int COLOR_Format18bitRGB666 = 8; // 0x8
+ field public static final deprecated int COLOR_Format19bitARGB1666 = 10; // 0xa
+ field public static final deprecated int COLOR_Format24BitABGR6666 = 43; // 0x2b
+ field public static final deprecated int COLOR_Format24BitARGB6666 = 42; // 0x2a
+ field public static final deprecated int COLOR_Format24bitARGB1887 = 13; // 0xd
+ field public static final deprecated int COLOR_Format24bitBGR888 = 12; // 0xc
field public static final int COLOR_Format24bitRGB888 = 11; // 0xb
- field public static final int COLOR_Format25bitARGB1888 = 14; // 0xe
- field public static final int COLOR_Format32BitRGBA8888 = 2130747392; // 0x7f00a000
+ field public static final deprecated int COLOR_Format25bitARGB1888 = 14; // 0xe
+ field public static final deprecated int COLOR_Format32BitRGBA8888 = 2130747392; // 0x7f00a000
field public static final int COLOR_Format32bitARGB8888 = 16; // 0x10
field public static final int COLOR_Format32bitBGRA8888 = 15; // 0xf
- field public static final int COLOR_Format8bitRGB332 = 2; // 0x2
- field public static final int COLOR_FormatCbYCrY = 27; // 0x1b
- field public static final int COLOR_FormatCrYCbY = 28; // 0x1c
+ field public static final deprecated int COLOR_Format8bitRGB332 = 2; // 0x2
+ field public static final deprecated int COLOR_FormatCbYCrY = 27; // 0x1b
+ field public static final deprecated int COLOR_FormatCrYCbY = 28; // 0x1c
field public static final int COLOR_FormatL16 = 36; // 0x24
- field public static final int COLOR_FormatL2 = 33; // 0x21
- field public static final int COLOR_FormatL24 = 37; // 0x25
+ field public static final deprecated int COLOR_FormatL2 = 33; // 0x21
+ field public static final deprecated int COLOR_FormatL24 = 37; // 0x25
field public static final int COLOR_FormatL32 = 38; // 0x26
- field public static final int COLOR_FormatL4 = 34; // 0x22
+ field public static final deprecated int COLOR_FormatL4 = 34; // 0x22
field public static final int COLOR_FormatL8 = 35; // 0x23
- field public static final int COLOR_FormatMonochrome = 1; // 0x1
+ field public static final deprecated int COLOR_FormatMonochrome = 1; // 0x1
field public static final int COLOR_FormatRawBayer10bit = 31; // 0x1f
field public static final int COLOR_FormatRawBayer8bit = 30; // 0x1e
field public static final int COLOR_FormatRawBayer8bitcompressed = 32; // 0x20
field public static final int COLOR_FormatSurface = 2130708361; // 0x7f000789
- field public static final int COLOR_FormatYCbYCr = 25; // 0x19
- field public static final int COLOR_FormatYCrYCb = 26; // 0x1a
- field public static final int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
- field public static final int COLOR_FormatYUV411Planar = 17; // 0x11
+ field public static final deprecated int COLOR_FormatYCbYCr = 25; // 0x19
+ field public static final deprecated int COLOR_FormatYCrYCb = 26; // 0x1a
+ field public static final deprecated int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
+ field public static final deprecated int COLOR_FormatYUV411Planar = 17; // 0x11
field public static final int COLOR_FormatYUV420Flexible = 2135033992; // 0x7f420888
- field public static final int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
- field public static final int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
- field public static final int COLOR_FormatYUV420Planar = 19; // 0x13
- field public static final int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
- field public static final int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
- field public static final int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
- field public static final int COLOR_FormatYUV422Planar = 22; // 0x16
- field public static final int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
+ field public static final deprecated int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
+ field public static final deprecated int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
+ field public static final deprecated int COLOR_FormatYUV420Planar = 19; // 0x13
+ field public static final deprecated int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
+ field public static final int COLOR_FormatYUV422Flexible = 2135042184; // 0x7f422888
+ field public static final deprecated int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
+ field public static final deprecated int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
+ field public static final deprecated int COLOR_FormatYUV422Planar = 22; // 0x16
+ field public static final deprecated int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
field public static final int COLOR_FormatYUV444Interleaved = 29; // 0x1d
- field public static final int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
- field public static final int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
+ field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
+ field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback";
field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback";
field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback";
@@ -15554,6 +15583,7 @@
public static final class MediaCodecInfo.VideoCapabilities {
method public boolean areSizeAndRateSupported(int, int, double);
+ method public android.util.Range<java.lang.Double> getAchievableFrameRatesFor(int, int);
method public android.util.Range<java.lang.Integer> getBitrateRange();
method public int getHeightAlignment();
method public android.util.Range<java.lang.Integer> getSupportedFrameRates();
@@ -15729,7 +15759,7 @@
method public final void release();
method public void seekTo(long, int);
method public void selectTrack(int);
- method public final void setDataSource(android.media.MediaDataSource) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public final void setDataSource(android.media.MediaDataSource) throws java.io.IOException;
method public final void setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>) throws java.io.IOException;
method public final void setDataSource(java.lang.String, java.util.Map<java.lang.String, java.lang.String>) throws java.io.IOException;
method public final void setDataSource(java.lang.String) throws java.io.IOException;
@@ -15972,7 +16002,10 @@
method public int getAudioSessionId();
method public int getCurrentPosition();
method public int getDuration();
+ method public android.media.PlaybackSettings getPlaybackSettings();
method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
+ method public android.media.SyncSettings getSyncSettings();
+ method public android.media.MediaTimestamp getTimestamp();
method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
method public int getVideoHeight();
method public int getVideoWidth();
@@ -16008,8 +16041,10 @@
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackRate(float, int);
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface);
+ method public void setSyncSettings(android.media.SyncSettings);
method public void setVideoScalingMode(int);
method public void setVolume(float, float);
method public void setWakeMode(android.content.Context, int);
@@ -16033,7 +16068,9 @@
field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
}
@@ -16121,6 +16158,7 @@
method public void setVideoSource(int) throws java.lang.IllegalStateException;
method public void start() throws java.lang.IllegalStateException;
method public void stop() throws java.lang.IllegalStateException;
+ method public void usePersistentSurface(android.view.Surface);
field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
field public static final int MEDIA_RECORDER_ERROR_UNKNOWN = 1; // 0x1
field public static final int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED = 800; // 0x320
@@ -16323,15 +16361,22 @@
public final class MediaSync {
ctor public MediaSync();
- method public void configureAudioTrack(android.media.AudioTrack);
- method public void configureSurface(android.view.Surface);
method public final android.view.Surface createInputSurface();
- method public boolean getTimestamp(android.media.MediaTimestamp);
+ method public void flush();
+ method public android.media.PlaybackSettings getPlaybackSettings();
+ method public android.media.SyncSettings getSyncSettings();
+ method public android.media.MediaTimestamp getTimestamp();
method public void queueAudio(java.nio.ByteBuffer, int, int, long);
method public final void release();
+ method public void setAudioTrack(android.media.AudioTrack);
method public void setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setPlaybackRate(float, int);
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
+ method public void setSurface(android.view.Surface);
+ method public void setSyncSettings(android.media.SyncSettings);
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
}
public static abstract class MediaSync.Callback {
@@ -16349,10 +16394,9 @@
}
public final class MediaTimestamp {
- ctor public MediaTimestamp();
- field public float clockRate;
- field public long mediaTimeUs;
- field public long nanoTime;
+ field public final float clockRate;
+ field public final long mediaTimeUs;
+ field public final long nanoTime;
}
public final class NotProvisionedException extends android.media.MediaDrmException {
@@ -16363,6 +16407,24 @@
method public abstract void onAudioDeviceConnection();
}
+ public final class PlaybackSettings {
+ ctor public PlaybackSettings();
+ method public android.media.PlaybackSettings allowDefaults();
+ method public int getAudioFallbackMode();
+ method public int getAudioStretchMode();
+ method public float getPitch();
+ method public float getSpeed();
+ method public android.media.PlaybackSettings setAudioFallbackMode(int);
+ method public android.media.PlaybackSettings setAudioStretchMode(int);
+ method public android.media.PlaybackSettings setPitch(float);
+ method public android.media.PlaybackSettings setSpeed(float);
+ field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
+ field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
+ field public static final int AUDIO_STRETCH_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_STRETCH_MODE_VOICE = 1; // 0x1
+ }
+
public final class Rating implements android.os.Parcelable {
method public int describeContents();
method public float getPercentRating();
@@ -16548,6 +16610,26 @@
method public abstract void onLoadComplete(android.media.SoundPool, int, int);
}
+ public final class SyncSettings {
+ ctor public SyncSettings();
+ method public android.media.SyncSettings allowDefaults();
+ method public int getAudioAdjustMode();
+ method public float getFrameRate();
+ method public int getSyncSource();
+ method public float getTolerance();
+ method public android.media.SyncSettings setAudioAdjustMode(int);
+ method public android.media.SyncSettings setFrameRate(float);
+ method public android.media.SyncSettings setSyncSource(int);
+ method public android.media.SyncSettings setTolerance(float);
+ field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
+ field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+ field public static final int SYNC_SOURCE_AUDIO = 2; // 0x2
+ field public static final int SYNC_SOURCE_DEFAULT = 0; // 0x0
+ field public static final int SYNC_SOURCE_SYSTEM_CLOCK = 1; // 0x1
+ field public static final int SYNC_SOURCE_VSYNC = 3; // 0x3
+ }
+
public class ThumbnailUtils {
ctor public ThumbnailUtils();
method public static android.graphics.Bitmap createVideoThumbnail(java.lang.String, int);
@@ -18201,11 +18283,8 @@
method public void reportNetworkConnectivity(android.net.Network, boolean);
method public void requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback);
method public void requestNetwork(android.net.NetworkRequest, android.app.PendingIntent);
- method public deprecated boolean requestRouteToHost(int, int);
method public deprecated void setNetworkPreference(int);
method public static deprecated boolean setProcessDefaultNetwork(android.net.Network);
- method public deprecated int startUsingNetworkFeature(int, java.lang.String);
- method public deprecated int stopUsingNetworkFeature(int, java.lang.String);
method public void unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback);
field public static final deprecated java.lang.String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
field public static final java.lang.String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
@@ -18224,9 +18303,9 @@
field public static final int TYPE_ETHERNET = 9; // 0x9
field public static final int TYPE_MOBILE = 0; // 0x0
field public static final int TYPE_MOBILE_DUN = 4; // 0x4
- field public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
- field public static final int TYPE_MOBILE_MMS = 2; // 0x2
- field public static final int TYPE_MOBILE_SUPL = 3; // 0x3
+ field public static final deprecated int TYPE_MOBILE_HIPRI = 5; // 0x5
+ field public static final deprecated int TYPE_MOBILE_MMS = 2; // 0x2
+ field public static final deprecated int TYPE_MOBILE_SUPL = 3; // 0x3
field public static final int TYPE_VPN = 17; // 0x11
field public static final int TYPE_WIFI = 1; // 0x1
field public static final int TYPE_WIMAX = 6; // 0x6
@@ -19751,9 +19830,12 @@
method public boolean supportsAidPrefixRegistration();
method public boolean unsetPreferredService(android.app.Activity);
field public static final java.lang.String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
+ field public static final java.lang.String ACTION_REQUEST_SERVICE_RESOURCES = "android.nfc.cardemulation.action.REQUEST_SERVICE_RESOURCES";
field public static final java.lang.String CATEGORY_OTHER = "other";
field public static final java.lang.String CATEGORY_PAYMENT = "payment";
+ field public static final java.lang.String EXTRA_BANNER_RES_ID = "android.nfc.cardemulation.extra.BANNER_RES_ID";
field public static final java.lang.String EXTRA_CATEGORY = "category";
+ field public static final java.lang.String EXTRA_DESCRIPTION = "android.nfc.cardemulation.extra.DESCRIPTION";
field public static final java.lang.String EXTRA_SERVICE_COMPONENT = "component";
field public static final int SELECTION_MODE_ALWAYS_ASK = 1; // 0x1
field public static final int SELECTION_MODE_ASK_IF_CONFLICT = 2; // 0x2
@@ -26602,6 +26684,8 @@
field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled";
field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes";
field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id";
+ field public static final java.lang.String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG";
+ field public static final java.lang.String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON";
}
public static final class Settings.Global extends android.provider.Settings.NameValueTable {
@@ -27979,12 +28063,19 @@
}
public final class ScriptGroup extends android.renderscript.BaseObj {
- method public void execute();
- method public void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
- method public void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+ method public java.lang.Object[] execute(java.lang.Object...);
+ method public deprecated void execute();
+ method public deprecated void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+ method public deprecated void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
}
- public static final class ScriptGroup.Builder {
+ public static final class ScriptGroup.Binding {
+ ctor public ScriptGroup.Binding(android.renderscript.Script.FieldID, java.lang.Object);
+ method public android.renderscript.Script.FieldID getField();
+ method public java.lang.Object getValue();
+ }
+
+ public static final deprecated class ScriptGroup.Builder {
ctor public ScriptGroup.Builder(android.renderscript.RenderScript);
method public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.FieldID);
method public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.KernelID);
@@ -27992,39 +28083,23 @@
method public android.renderscript.ScriptGroup create();
}
- public class ScriptGroup2 extends android.renderscript.BaseObj {
- ctor public ScriptGroup2(long, android.renderscript.RenderScript);
- method public java.lang.Object[] execute(java.lang.Object...);
+ public static final class ScriptGroup.Builder2 {
+ ctor public ScriptGroup.Builder2(android.renderscript.RenderScript);
+ method public android.renderscript.ScriptGroup.Input addInput();
+ method public android.renderscript.ScriptGroup.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
+ method public android.renderscript.ScriptGroup.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
+ method public android.renderscript.ScriptGroup create(java.lang.String, android.renderscript.ScriptGroup.Future...);
}
- public static final class ScriptGroup2.Binding {
- ctor public ScriptGroup2.Binding(android.renderscript.Script.FieldID, java.lang.Object);
- method public android.renderscript.Script.FieldID getField();
- method public java.lang.Object getValue();
+ public static final class ScriptGroup.Closure extends android.renderscript.BaseObj {
+ method public android.renderscript.ScriptGroup.Future getGlobal(android.renderscript.Script.FieldID);
+ method public android.renderscript.ScriptGroup.Future getReturn();
}
- public static final class ScriptGroup2.Builder {
- ctor public ScriptGroup2.Builder(android.renderscript.RenderScript);
- method public android.renderscript.ScriptGroup2.UnboundValue addInput();
- method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
- method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
- method public android.renderscript.ScriptGroup2 create(java.lang.String, android.renderscript.ScriptGroup2.Future...);
+ public static final class ScriptGroup.Future {
}
- public static class ScriptGroup2.Closure extends android.renderscript.BaseObj {
- ctor public ScriptGroup2.Closure(long, android.renderscript.RenderScript);
- ctor public ScriptGroup2.Closure(android.renderscript.RenderScript, android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- ctor public ScriptGroup2.Closure(android.renderscript.RenderScript, android.renderscript.Script.InvokeID, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Future getGlobal(android.renderscript.Script.FieldID);
- method public android.renderscript.ScriptGroup2.Future getReturn();
- }
-
- public static class ScriptGroup2.Future {
- }
-
- public static class ScriptGroup2.UnboundValue {
+ public static final class ScriptGroup.Input {
}
public abstract class ScriptIntrinsic extends android.renderscript.Script {
@@ -30061,6 +30136,7 @@
method public int getHandlePresentation();
method public android.telecom.StatusHints getStatusHints();
method public int getVideoState();
+ field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
field public static final int CAPABILITY_GENERIC_CONFERENCE = 16384; // 0x4000
field public static final int CAPABILITY_HIGH_DEF_AUDIO = 32768; // 0x8000
@@ -30889,6 +30965,7 @@
method public int getEvdoSnr();
method public int getGsmBitErrorRate();
method public int getGsmSignalStrength();
+ method public int getLevel();
method public boolean isGsm();
method public void writeToParcel(android.os.Parcel, int);
}
@@ -35569,10 +35646,10 @@
method public long getTimeDelta();
method public boolean isInProgress();
method public boolean isQuickScaleEnabled();
- method public boolean isSecondaryButtonScaleEnabled();
+ method public boolean isStylusScaleEnabled();
method public boolean onTouchEvent(android.view.MotionEvent);
method public void setQuickScaleEnabled(boolean);
- method public void setSecondaryButtonScaleEnabled(boolean);
+ method public void setStylusScaleEnabled(boolean);
}
public static abstract interface ScaleGestureDetector.OnScaleGestureListener {
@@ -35976,6 +36053,7 @@
method public void invalidateOutline();
method public boolean isAccessibilityFocused();
method public boolean isActivated();
+ method public boolean isAssistBlocked();
method public boolean isAttachedToWindow();
method public boolean isClickable();
method public boolean isDirty();
@@ -36118,6 +36196,7 @@
method public void setActivated(boolean);
method public void setAlpha(float);
method public void setAnimation(android.view.animation.Animation);
+ method public void setAssistBlocked(boolean);
method public void setBackground(android.graphics.drawable.Drawable);
method public void setBackgroundColor(int);
method public deprecated void setBackgroundDrawable(android.graphics.drawable.Drawable);
@@ -36480,6 +36559,7 @@
method public abstract android.view.ViewAssistStructure newChild(int);
method public abstract void setAccessibilityFocused(boolean);
method public abstract void setActivated(boolean);
+ method public abstract void setAssistBlocked(boolean);
method public abstract void setCheckable(boolean);
method public abstract void setChecked(boolean);
method public abstract void setChildCount(int);
diff --git a/api/removed.txt b/api/removed.txt
index 326b05d..a722e17 100644
--- a/api/removed.txt
+++ b/api/removed.txt
@@ -35,6 +35,13 @@
package android.net {
+ public class ConnectivityManager {
+ method public deprecated boolean requestRouteToHost(int, int);
+ method public deprecated boolean requestRouteToHostAddress(int, java.net.InetAddress);
+ method public deprecated int startUsingNetworkFeature(int, java.lang.String);
+ method public deprecated int stopUsingNetworkFeature(int, java.lang.String);
+ }
+
public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
method public static deprecated org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int, android.net.SSLSessionCache);
}
diff --git a/api/system-current.txt b/api/system-current.txt
index 0d35d7c..d6242ae 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -372,6 +372,7 @@
field public static final int anyDensity = 16843372; // 0x101026c
field public static final int apduServiceBanner = 16843757; // 0x10103ed
field public static final int apiKey = 16843281; // 0x1010211
+ field public static final int assistBlocked = 16844020; // 0x10104f4
field public static final int author = 16843444; // 0x10102b4
field public static final int authorities = 16842776; // 0x1010018
field public static final int autoAdvanceViewId = 16843535; // 0x101030f
@@ -578,6 +579,7 @@
field public static final int duplicateParentState = 16842985; // 0x10100e9
field public static final int duration = 16843160; // 0x1010198
field public static final int durationScaleHint = 16844014; // 0x10104ee
+ field public static final int dynamicResources = 16844019; // 0x10104f3
field public static final int editTextBackground = 16843602; // 0x1010352
field public static final int editTextColor = 16843601; // 0x1010351
field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
@@ -1799,6 +1801,7 @@
field public static final int selectAll = 16908319; // 0x102001f
field public static final int selectTextMode = 16908333; // 0x102002d
field public static final int selectedIcon = 16908302; // 0x102000e
+ field public static final int shareText = 16908343; // 0x1020037
field public static final int startSelectingText = 16908328; // 0x1020028
field public static final int statusBarBackground = 16908335; // 0x102002f
field public static final int stopSelectingText = 16908329; // 0x1020029
@@ -3587,6 +3590,7 @@
method public boolean shouldUpRecreateTask(android.content.Intent);
method public final deprecated void showDialog(int);
method public final deprecated boolean showDialog(int, android.os.Bundle);
+ method public void showLockTaskEscapeMessage();
method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
method public void startActivityForResult(android.content.Intent, int);
@@ -4159,6 +4163,7 @@
method public int getWidth();
method public boolean isAccessibilityFocused();
method public boolean isActivated();
+ method public boolean isAssistBlocked();
method public boolean isCheckable();
method public boolean isChecked();
method public boolean isClickable();
@@ -5744,6 +5749,7 @@
method public void onProfileProvisioningComplete(android.content.Context, android.content.Intent);
method public void onReadyForUserInitialization(android.content.Context, android.content.Intent);
method public void onReceive(android.content.Context, android.content.Intent);
+ method public void onSystemUpdatePending(android.content.Context, android.content.Intent, long);
field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
field public static final java.lang.String ACTION_DEVICE_ADMIN_ENABLED = "android.app.action.DEVICE_ADMIN_ENABLED";
@@ -5849,6 +5855,7 @@
method public boolean isProfileOwnerApp(java.lang.String);
method public boolean isUninstallBlocked(android.content.ComponentName, java.lang.String);
method public void lockNow();
+ method public void notifyPendingSystemUpdate(long);
method public void removeActiveAdmin(android.content.ComponentName);
method public boolean removeCrossProfileWidgetProvider(android.content.ComponentName, java.lang.String);
method public boolean removeUser(android.content.ComponentName, android.os.UserHandle);
@@ -7989,6 +7996,7 @@
field public static final java.lang.String MEDIA_PROJECTION_SERVICE = "media_projection";
field public static final java.lang.String MEDIA_ROUTER_SERVICE = "media_router";
field public static final java.lang.String MEDIA_SESSION_SERVICE = "media_session";
+ field public static final java.lang.String MIDI_SERVICE = "midi";
field public static final int MODE_APPEND = 32768; // 0x8000
field public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; // 0x8
field public static final int MODE_MULTI_PROCESS = 4; // 0x4
@@ -9568,6 +9576,7 @@
field public static final java.lang.String FEATURE_APP_WIDGETS = "android.software.app_widgets";
field public static final java.lang.String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
field public static final java.lang.String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
+ field public static final java.lang.String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
field public static final java.lang.String FEATURE_BACKUP = "android.software.backup";
field public static final java.lang.String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
field public static final java.lang.String FEATURE_BLUETOOTH_LE = "android.hardware.bluetooth_le";
@@ -12704,7 +12713,9 @@
method public void draw(android.graphics.Canvas);
method public android.graphics.drawable.Drawable findDrawableByLayerId(int);
method public int findIndexByLayerId(int);
+ method public int getBottomPadding();
method public android.graphics.drawable.Drawable getDrawable(int);
+ method public int getEndPadding();
method public int getId(int);
method public int getLayerGravity(int);
method public int getLayerHeight(int);
@@ -12715,9 +12726,13 @@
method public int getLayerInsetStart(int);
method public int getLayerInsetTop(int);
method public int getLayerWidth(int);
+ method public int getLeftPadding();
method public int getNumberOfLayers();
method public int getOpacity();
method public int getPaddingMode();
+ method public int getRightPadding();
+ method public int getStartPadding();
+ method public int getTopPadding();
method public void invalidateDrawable(android.graphics.drawable.Drawable);
method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
method public void setAlpha(int);
@@ -12738,7 +12753,9 @@
method public void setLayerSize(int, int, int);
method public void setLayerWidth(int, int);
method public void setOpacity(int);
+ method public void setPadding(int, int, int, int);
method public void setPaddingMode(int);
+ method public void setPaddingRelative(int, int, int, int);
method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
field public static final int PADDING_MODE_NEST = 0; // 0x0
field public static final int PADDING_MODE_STACK = 1; // 0x1
@@ -16197,6 +16214,7 @@
method public int getPlayState();
method public int getPlaybackHeadPosition();
method public int getPlaybackRate();
+ method public android.media.PlaybackSettings getPlaybackSettings();
method public int getPositionNotificationPeriod();
method public android.media.AudioDeviceInfo getPreferredOutputDevice();
method public int getSampleRate();
@@ -16214,6 +16232,7 @@
method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
method public int setPlaybackRate(int);
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
method public int setPositionNotificationPeriod(int);
method public boolean setPreferredOutputDevice(android.media.AudioDeviceInfo);
method protected deprecated void setState(int);
@@ -16226,6 +16245,7 @@
method public int write(short[], int, int, int);
method public int write(float[], int, int, int);
method public int write(java.nio.ByteBuffer, int, int);
+ method public int write(java.nio.ByteBuffer, int, int, long);
field public static final int ERROR = -1; // 0xffffffff
field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
@@ -16471,6 +16491,7 @@
method public static android.media.MediaCodec createDecoderByType(java.lang.String) throws java.io.IOException;
method public static android.media.MediaCodec createEncoderByType(java.lang.String) throws java.io.IOException;
method public final android.view.Surface createInputSurface();
+ method public static android.view.Surface createPersistentInputSurface();
method public final int dequeueInputBuffer(long);
method public final int dequeueOutputBuffer(android.media.MediaCodec.BufferInfo, long);
method public final void flush();
@@ -16491,12 +16512,16 @@
method public final void releaseOutputBuffer(int, boolean);
method public final void releaseOutputBuffer(int, long);
method public final void reset();
+ method public void setCallback(android.media.MediaCodec.Callback, android.os.Handler);
method public void setCallback(android.media.MediaCodec.Callback);
+ method public void setOnFrameRenderedListener(android.media.MediaCodec.OnFrameRenderedListener, android.os.Handler);
method public final void setParameters(android.os.Bundle);
+ method public void setSurface(android.view.Surface);
method public final void setVideoScalingMode(int);
method public final void signalEndOfInputStream();
method public final void start();
method public final void stop();
+ method public void usePersistentInputSurface(android.view.Surface);
field public static final int BUFFER_FLAG_CODEC_CONFIG = 2; // 0x2
field public static final int BUFFER_FLAG_END_OF_STREAM = 4; // 0x4
field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1
@@ -16560,6 +16585,10 @@
field public int numSubSamples;
}
+ public static abstract interface MediaCodec.OnFrameRenderedListener {
+ method public abstract void onFrameRendered(android.media.MediaCodec, long, long);
+ }
+
public final class MediaCodecInfo {
method public final android.media.MediaCodecInfo.CodecCapabilities getCapabilitiesForType(java.lang.String);
method public final java.lang.String getName();
@@ -16587,54 +16616,55 @@
method public final boolean isFeatureRequired(java.lang.String);
method public final boolean isFeatureSupported(java.lang.String);
method public final boolean isFormatSupported(android.media.MediaFormat);
- field public static final int COLOR_Format12bitRGB444 = 3; // 0x3
- field public static final int COLOR_Format16bitARGB1555 = 5; // 0x5
- field public static final int COLOR_Format16bitARGB4444 = 4; // 0x4
- field public static final int COLOR_Format16bitBGR565 = 7; // 0x7
+ field public static final deprecated int COLOR_Format12bitRGB444 = 3; // 0x3
+ field public static final deprecated int COLOR_Format16bitARGB1555 = 5; // 0x5
+ field public static final deprecated int COLOR_Format16bitARGB4444 = 4; // 0x4
+ field public static final deprecated int COLOR_Format16bitBGR565 = 7; // 0x7
field public static final int COLOR_Format16bitRGB565 = 6; // 0x6
- field public static final int COLOR_Format18BitBGR666 = 41; // 0x29
- field public static final int COLOR_Format18bitARGB1665 = 9; // 0x9
- field public static final int COLOR_Format18bitRGB666 = 8; // 0x8
- field public static final int COLOR_Format19bitARGB1666 = 10; // 0xa
- field public static final int COLOR_Format24BitABGR6666 = 43; // 0x2b
- field public static final int COLOR_Format24BitARGB6666 = 42; // 0x2a
- field public static final int COLOR_Format24bitARGB1887 = 13; // 0xd
- field public static final int COLOR_Format24bitBGR888 = 12; // 0xc
+ field public static final deprecated int COLOR_Format18BitBGR666 = 41; // 0x29
+ field public static final deprecated int COLOR_Format18bitARGB1665 = 9; // 0x9
+ field public static final deprecated int COLOR_Format18bitRGB666 = 8; // 0x8
+ field public static final deprecated int COLOR_Format19bitARGB1666 = 10; // 0xa
+ field public static final deprecated int COLOR_Format24BitABGR6666 = 43; // 0x2b
+ field public static final deprecated int COLOR_Format24BitARGB6666 = 42; // 0x2a
+ field public static final deprecated int COLOR_Format24bitARGB1887 = 13; // 0xd
+ field public static final deprecated int COLOR_Format24bitBGR888 = 12; // 0xc
field public static final int COLOR_Format24bitRGB888 = 11; // 0xb
- field public static final int COLOR_Format25bitARGB1888 = 14; // 0xe
- field public static final int COLOR_Format32BitRGBA8888 = 2130747392; // 0x7f00a000
+ field public static final deprecated int COLOR_Format25bitARGB1888 = 14; // 0xe
+ field public static final deprecated int COLOR_Format32BitRGBA8888 = 2130747392; // 0x7f00a000
field public static final int COLOR_Format32bitARGB8888 = 16; // 0x10
field public static final int COLOR_Format32bitBGRA8888 = 15; // 0xf
- field public static final int COLOR_Format8bitRGB332 = 2; // 0x2
- field public static final int COLOR_FormatCbYCrY = 27; // 0x1b
- field public static final int COLOR_FormatCrYCbY = 28; // 0x1c
+ field public static final deprecated int COLOR_Format8bitRGB332 = 2; // 0x2
+ field public static final deprecated int COLOR_FormatCbYCrY = 27; // 0x1b
+ field public static final deprecated int COLOR_FormatCrYCbY = 28; // 0x1c
field public static final int COLOR_FormatL16 = 36; // 0x24
- field public static final int COLOR_FormatL2 = 33; // 0x21
- field public static final int COLOR_FormatL24 = 37; // 0x25
+ field public static final deprecated int COLOR_FormatL2 = 33; // 0x21
+ field public static final deprecated int COLOR_FormatL24 = 37; // 0x25
field public static final int COLOR_FormatL32 = 38; // 0x26
- field public static final int COLOR_FormatL4 = 34; // 0x22
+ field public static final deprecated int COLOR_FormatL4 = 34; // 0x22
field public static final int COLOR_FormatL8 = 35; // 0x23
- field public static final int COLOR_FormatMonochrome = 1; // 0x1
+ field public static final deprecated int COLOR_FormatMonochrome = 1; // 0x1
field public static final int COLOR_FormatRawBayer10bit = 31; // 0x1f
field public static final int COLOR_FormatRawBayer8bit = 30; // 0x1e
field public static final int COLOR_FormatRawBayer8bitcompressed = 32; // 0x20
field public static final int COLOR_FormatSurface = 2130708361; // 0x7f000789
- field public static final int COLOR_FormatYCbYCr = 25; // 0x19
- field public static final int COLOR_FormatYCrYCb = 26; // 0x1a
- field public static final int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
- field public static final int COLOR_FormatYUV411Planar = 17; // 0x11
+ field public static final deprecated int COLOR_FormatYCbYCr = 25; // 0x19
+ field public static final deprecated int COLOR_FormatYCrYCb = 26; // 0x1a
+ field public static final deprecated int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
+ field public static final deprecated int COLOR_FormatYUV411Planar = 17; // 0x11
field public static final int COLOR_FormatYUV420Flexible = 2135033992; // 0x7f420888
- field public static final int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
- field public static final int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
- field public static final int COLOR_FormatYUV420Planar = 19; // 0x13
- field public static final int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
- field public static final int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
- field public static final int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
- field public static final int COLOR_FormatYUV422Planar = 22; // 0x16
- field public static final int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
+ field public static final deprecated int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
+ field public static final deprecated int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
+ field public static final deprecated int COLOR_FormatYUV420Planar = 19; // 0x13
+ field public static final deprecated int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
+ field public static final int COLOR_FormatYUV422Flexible = 2135042184; // 0x7f422888
+ field public static final deprecated int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
+ field public static final deprecated int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
+ field public static final deprecated int COLOR_FormatYUV422Planar = 22; // 0x16
+ field public static final deprecated int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
field public static final int COLOR_FormatYUV444Interleaved = 29; // 0x1d
- field public static final int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
- field public static final int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
+ field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
+ field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback";
field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback";
field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback";
@@ -16766,6 +16796,7 @@
public static final class MediaCodecInfo.VideoCapabilities {
method public boolean areSizeAndRateSupported(int, int, double);
+ method public android.util.Range<java.lang.Double> getAchievableFrameRatesFor(int, int);
method public android.util.Range<java.lang.Integer> getBitrateRange();
method public int getHeightAlignment();
method public android.util.Range<java.lang.Integer> getSupportedFrameRates();
@@ -16942,7 +16973,7 @@
method public final void release();
method public void seekTo(long, int);
method public void selectTrack(int);
- method public final void setDataSource(android.media.MediaDataSource) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public final void setDataSource(android.media.MediaDataSource) throws java.io.IOException;
method public final void setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>) throws java.io.IOException;
method public final void setDataSource(java.lang.String, java.util.Map<java.lang.String, java.lang.String>) throws java.io.IOException;
method public final void setDataSource(java.lang.String) throws java.io.IOException;
@@ -17185,7 +17216,10 @@
method public int getAudioSessionId();
method public int getCurrentPosition();
method public int getDuration();
+ method public android.media.PlaybackSettings getPlaybackSettings();
method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
+ method public android.media.SyncSettings getSyncSettings();
+ method public android.media.MediaTimestamp getTimestamp();
method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
method public int getVideoHeight();
method public int getVideoWidth();
@@ -17221,8 +17255,10 @@
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackRate(float, int);
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface);
+ method public void setSyncSettings(android.media.SyncSettings);
method public void setVideoScalingMode(int);
method public void setVolume(float, float);
method public void setWakeMode(android.content.Context, int);
@@ -17246,7 +17282,9 @@
field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
}
@@ -17334,6 +17372,7 @@
method public void setVideoSource(int) throws java.lang.IllegalStateException;
method public void start() throws java.lang.IllegalStateException;
method public void stop() throws java.lang.IllegalStateException;
+ method public void usePersistentSurface(android.view.Surface);
field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
field public static final int MEDIA_RECORDER_ERROR_UNKNOWN = 1; // 0x1
field public static final int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED = 800; // 0x320
@@ -17538,15 +17577,22 @@
public final class MediaSync {
ctor public MediaSync();
- method public void configureAudioTrack(android.media.AudioTrack);
- method public void configureSurface(android.view.Surface);
method public final android.view.Surface createInputSurface();
- method public boolean getTimestamp(android.media.MediaTimestamp);
+ method public void flush();
+ method public android.media.PlaybackSettings getPlaybackSettings();
+ method public android.media.SyncSettings getSyncSettings();
+ method public android.media.MediaTimestamp getTimestamp();
method public void queueAudio(java.nio.ByteBuffer, int, int, long);
method public final void release();
+ method public void setAudioTrack(android.media.AudioTrack);
method public void setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setPlaybackRate(float, int);
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
+ method public void setPlaybackSettings(android.media.PlaybackSettings);
+ method public void setSurface(android.view.Surface);
+ method public void setSyncSettings(android.media.SyncSettings);
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
+ field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
}
public static abstract class MediaSync.Callback {
@@ -17564,10 +17610,9 @@
}
public final class MediaTimestamp {
- ctor public MediaTimestamp();
- field public float clockRate;
- field public long mediaTimeUs;
- field public long nanoTime;
+ field public final float clockRate;
+ field public final long mediaTimeUs;
+ field public final long nanoTime;
}
public final class NotProvisionedException extends android.media.MediaDrmException {
@@ -17578,6 +17623,24 @@
method public abstract void onAudioDeviceConnection();
}
+ public final class PlaybackSettings {
+ ctor public PlaybackSettings();
+ method public android.media.PlaybackSettings allowDefaults();
+ method public int getAudioFallbackMode();
+ method public int getAudioStretchMode();
+ method public float getPitch();
+ method public float getSpeed();
+ method public android.media.PlaybackSettings setAudioFallbackMode(int);
+ method public android.media.PlaybackSettings setAudioStretchMode(int);
+ method public android.media.PlaybackSettings setPitch(float);
+ method public android.media.PlaybackSettings setSpeed(float);
+ field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
+ field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
+ field public static final int AUDIO_STRETCH_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_STRETCH_MODE_VOICE = 1; // 0x1
+ }
+
public final class Rating implements android.os.Parcelable {
method public int describeContents();
method public float getPercentRating();
@@ -17763,6 +17826,26 @@
method public abstract void onLoadComplete(android.media.SoundPool, int, int);
}
+ public final class SyncSettings {
+ ctor public SyncSettings();
+ method public android.media.SyncSettings allowDefaults();
+ method public int getAudioAdjustMode();
+ method public float getFrameRate();
+ method public int getSyncSource();
+ method public float getTolerance();
+ method public android.media.SyncSettings setAudioAdjustMode(int);
+ method public android.media.SyncSettings setFrameRate(float);
+ method public android.media.SyncSettings setSyncSource(int);
+ method public android.media.SyncSettings setTolerance(float);
+ field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
+ field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
+ field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+ field public static final int SYNC_SOURCE_AUDIO = 2; // 0x2
+ field public static final int SYNC_SOURCE_DEFAULT = 0; // 0x0
+ field public static final int SYNC_SOURCE_SYSTEM_CLOCK = 1; // 0x1
+ field public static final int SYNC_SOURCE_VSYNC = 3; // 0x3
+ }
+
public class ThumbnailUtils {
ctor public ThumbnailUtils();
method public static android.graphics.Bitmap createVideoThumbnail(java.lang.String, int);
@@ -19659,11 +19742,8 @@
method public void reportNetworkConnectivity(android.net.Network, boolean);
method public void requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback);
method public void requestNetwork(android.net.NetworkRequest, android.app.PendingIntent);
- method public deprecated boolean requestRouteToHost(int, int);
method public deprecated void setNetworkPreference(int);
method public static deprecated boolean setProcessDefaultNetwork(android.net.Network);
- method public deprecated int startUsingNetworkFeature(int, java.lang.String);
- method public deprecated int stopUsingNetworkFeature(int, java.lang.String);
method public void unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback);
field public static final deprecated java.lang.String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
field public static final java.lang.String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
@@ -19682,9 +19762,9 @@
field public static final int TYPE_ETHERNET = 9; // 0x9
field public static final int TYPE_MOBILE = 0; // 0x0
field public static final int TYPE_MOBILE_DUN = 4; // 0x4
- field public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
- field public static final int TYPE_MOBILE_MMS = 2; // 0x2
- field public static final int TYPE_MOBILE_SUPL = 3; // 0x3
+ field public static final deprecated int TYPE_MOBILE_HIPRI = 5; // 0x5
+ field public static final deprecated int TYPE_MOBILE_MMS = 2; // 0x2
+ field public static final deprecated int TYPE_MOBILE_SUPL = 3; // 0x3
field public static final int TYPE_VPN = 17; // 0x11
field public static final int TYPE_WIFI = 1; // 0x1
field public static final int TYPE_WIMAX = 6; // 0x6
@@ -21639,9 +21719,12 @@
method public boolean supportsAidPrefixRegistration();
method public boolean unsetPreferredService(android.app.Activity);
field public static final java.lang.String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
+ field public static final java.lang.String ACTION_REQUEST_SERVICE_RESOURCES = "android.nfc.cardemulation.action.REQUEST_SERVICE_RESOURCES";
field public static final java.lang.String CATEGORY_OTHER = "other";
field public static final java.lang.String CATEGORY_PAYMENT = "payment";
+ field public static final java.lang.String EXTRA_BANNER_RES_ID = "android.nfc.cardemulation.extra.BANNER_RES_ID";
field public static final java.lang.String EXTRA_CATEGORY = "category";
+ field public static final java.lang.String EXTRA_DESCRIPTION = "android.nfc.cardemulation.extra.DESCRIPTION";
field public static final java.lang.String EXTRA_SERVICE_COMPONENT = "component";
field public static final int SELECTION_MODE_ALWAYS_ASK = 1; // 0x1
field public static final int SELECTION_MODE_ASK_IF_CONFLICT = 2; // 0x2
@@ -28604,6 +28687,8 @@
field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled";
field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes";
field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id";
+ field public static final java.lang.String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG";
+ field public static final java.lang.String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON";
}
public static final class Settings.Global extends android.provider.Settings.NameValueTable {
@@ -29982,12 +30067,19 @@
}
public final class ScriptGroup extends android.renderscript.BaseObj {
- method public void execute();
- method public void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
- method public void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+ method public java.lang.Object[] execute(java.lang.Object...);
+ method public deprecated void execute();
+ method public deprecated void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+ method public deprecated void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
}
- public static final class ScriptGroup.Builder {
+ public static final class ScriptGroup.Binding {
+ ctor public ScriptGroup.Binding(android.renderscript.Script.FieldID, java.lang.Object);
+ method public android.renderscript.Script.FieldID getField();
+ method public java.lang.Object getValue();
+ }
+
+ public static final deprecated class ScriptGroup.Builder {
ctor public ScriptGroup.Builder(android.renderscript.RenderScript);
method public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.FieldID);
method public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.KernelID);
@@ -29995,39 +30087,23 @@
method public android.renderscript.ScriptGroup create();
}
- public class ScriptGroup2 extends android.renderscript.BaseObj {
- ctor public ScriptGroup2(long, android.renderscript.RenderScript);
- method public java.lang.Object[] execute(java.lang.Object...);
+ public static final class ScriptGroup.Builder2 {
+ ctor public ScriptGroup.Builder2(android.renderscript.RenderScript);
+ method public android.renderscript.ScriptGroup.Input addInput();
+ method public android.renderscript.ScriptGroup.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
+ method public android.renderscript.ScriptGroup.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
+ method public android.renderscript.ScriptGroup create(java.lang.String, android.renderscript.ScriptGroup.Future...);
}
- public static final class ScriptGroup2.Binding {
- ctor public ScriptGroup2.Binding(android.renderscript.Script.FieldID, java.lang.Object);
- method public android.renderscript.Script.FieldID getField();
- method public java.lang.Object getValue();
+ public static final class ScriptGroup.Closure extends android.renderscript.BaseObj {
+ method public android.renderscript.ScriptGroup.Future getGlobal(android.renderscript.Script.FieldID);
+ method public android.renderscript.ScriptGroup.Future getReturn();
}
- public static final class ScriptGroup2.Builder {
- ctor public ScriptGroup2.Builder(android.renderscript.RenderScript);
- method public android.renderscript.ScriptGroup2.UnboundValue addInput();
- method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
- method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
- method public android.renderscript.ScriptGroup2 create(java.lang.String, android.renderscript.ScriptGroup2.Future...);
+ public static final class ScriptGroup.Future {
}
- public static class ScriptGroup2.Closure extends android.renderscript.BaseObj {
- ctor public ScriptGroup2.Closure(long, android.renderscript.RenderScript);
- ctor public ScriptGroup2.Closure(android.renderscript.RenderScript, android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- ctor public ScriptGroup2.Closure(android.renderscript.RenderScript, android.renderscript.Script.InvokeID, java.lang.Object[], java.util.Map<android.renderscript.Script.FieldID, java.lang.Object>);
- method public android.renderscript.ScriptGroup2.Future getGlobal(android.renderscript.Script.FieldID);
- method public android.renderscript.ScriptGroup2.Future getReturn();
- }
-
- public static class ScriptGroup2.Future {
- }
-
- public static class ScriptGroup2.UnboundValue {
+ public static final class ScriptGroup.Input {
}
public abstract class ScriptIntrinsic extends android.renderscript.Script {
@@ -32166,6 +32242,7 @@
method public int getHandlePresentation();
method public android.telecom.StatusHints getStatusHints();
method public int getVideoState();
+ field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
field public static final int CAPABILITY_GENERIC_CONFERENCE = 16384; // 0x4000
field public static final int CAPABILITY_HIGH_DEF_AUDIO = 32768; // 0x8000
@@ -33042,6 +33119,7 @@
method public int getEvdoSnr();
method public int getGsmBitErrorRate();
method public int getGsmSignalStrength();
+ method public int getLevel();
method public boolean isGsm();
method public void writeToParcel(android.os.Parcel, int);
}
@@ -37768,10 +37846,10 @@
method public long getTimeDelta();
method public boolean isInProgress();
method public boolean isQuickScaleEnabled();
- method public boolean isSecondaryButtonScaleEnabled();
+ method public boolean isStylusScaleEnabled();
method public boolean onTouchEvent(android.view.MotionEvent);
method public void setQuickScaleEnabled(boolean);
- method public void setSecondaryButtonScaleEnabled(boolean);
+ method public void setStylusScaleEnabled(boolean);
}
public static abstract interface ScaleGestureDetector.OnScaleGestureListener {
@@ -38175,6 +38253,7 @@
method public void invalidateOutline();
method public boolean isAccessibilityFocused();
method public boolean isActivated();
+ method public boolean isAssistBlocked();
method public boolean isAttachedToWindow();
method public boolean isClickable();
method public boolean isDirty();
@@ -38317,6 +38396,7 @@
method public void setActivated(boolean);
method public void setAlpha(float);
method public void setAnimation(android.view.animation.Animation);
+ method public void setAssistBlocked(boolean);
method public void setBackground(android.graphics.drawable.Drawable);
method public void setBackgroundColor(int);
method public deprecated void setBackgroundDrawable(android.graphics.drawable.Drawable);
@@ -38679,6 +38759,7 @@
method public abstract android.view.ViewAssistStructure newChild(int);
method public abstract void setAccessibilityFocused(boolean);
method public abstract void setActivated(boolean);
+ method public abstract void setAssistBlocked(boolean);
method public abstract void setCheckable(boolean);
method public abstract void setChecked(boolean);
method public abstract void setChildCount(int);
diff --git a/api/system-removed.txt b/api/system-removed.txt
index 326b05d..a722e17 100644
--- a/api/system-removed.txt
+++ b/api/system-removed.txt
@@ -35,6 +35,13 @@
package android.net {
+ public class ConnectivityManager {
+ method public deprecated boolean requestRouteToHost(int, int);
+ method public deprecated boolean requestRouteToHostAddress(int, java.net.InetAddress);
+ method public deprecated int startUsingNetworkFeature(int, java.lang.String);
+ method public deprecated int stopUsingNetworkFeature(int, java.lang.String);
+ }
+
public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
method public static deprecated org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int, android.net.SSLSessionCache);
}
diff --git a/core/java/android/animation/AnimatorInflater.java b/core/java/android/animation/AnimatorInflater.java
index 224e8e9..e47d017 100644
--- a/core/java/android/animation/AnimatorInflater.java
+++ b/core/java/android/animation/AnimatorInflater.java
@@ -790,6 +790,31 @@
return valuesArray;
}
+ // When no value type is provided in keyframe, we need to infer the type from the value. i.e.
+ // if value is defined in the style of a color value, then the color type is returned.
+ // Otherwise, default float type is returned.
+ private static int inferValueTypeOfKeyframe(Resources res, Theme theme, AttributeSet attrs) {
+ int valueType;
+ TypedArray a;
+ if (theme != null) {
+ a = theme.obtainStyledAttributes(attrs, R.styleable.Keyframe, 0, 0);
+ } else {
+ a = res.obtainAttributes(attrs, R.styleable.Keyframe);
+ }
+
+ TypedValue keyframeValue = a.peekValue(R.styleable.Keyframe_value);
+ boolean hasValue = (keyframeValue != null);
+ // When no value type is provided, check whether it's a color type first.
+ // If not, fall back to default value type (i.e. float type).
+ if (hasValue && isColorType(keyframeValue.type)) {
+ valueType = VALUE_TYPE_COLOR;
+ } else {
+ valueType = VALUE_TYPE_FLOAT;
+ }
+ a.recycle();
+ return valueType;
+ }
+
private static void dumpKeyframes(Object[] keyframes, String header) {
if (keyframes == null || keyframes.length == 0) {
return;
@@ -817,6 +842,9 @@
type != XmlPullParser.END_DOCUMENT) {
String name = parser.getName();
if (name.equals("keyframe")) {
+ if (valueType == VALUE_TYPE_UNDEFINED) {
+ valueType = inferValueTypeOfKeyframe(res, theme, Xml.asAttributeSet(parser));
+ }
Keyframe keyframe = loadKeyframe(res, theme, Xml.asAttributeSet(parser), valueType);
if (keyframe != null) {
if (keyframes == null) {
diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java
index dd5f18e..f6ad847 100644
--- a/core/java/android/animation/AnimatorSet.java
+++ b/core/java/android/animation/AnimatorSet.java
@@ -1095,7 +1095,8 @@
public Node clone() {
try {
Node node = (Node) super.clone();
- node.animation = (Animator) animation.clone();
+ node.animation = animation.clone();
+ node.done = false;
return node;
} catch (CloneNotSupportedException e) {
throw new AssertionError();
diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java
index 275e78e..292507b 100644
--- a/core/java/android/animation/ValueAnimator.java
+++ b/core/java/android/animation/ValueAnimator.java
@@ -1486,6 +1486,11 @@
anim.mPaused = false;
anim.mResumed = false;
anim.mStartListenersCalled = false;
+ anim.mStartTime = 0;
+ anim.mStartTimeCommitted = false;
+ anim.mPauseTime = 0;
+ anim.mCurrentFraction = 0;
+ anim.mDelayStartTime = 0;
PropertyValuesHolder[] oldValues = mValues;
if (oldValues != null) {
diff --git a/core/java/android/annotation/BinderThread.java b/core/java/android/annotation/BinderThread.java
new file mode 100644
index 0000000..c69ba10
--- /dev/null
+++ b/core/java/android/annotation/BinderThread.java
@@ -0,0 +1,42 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated method should only be called on the binder thread.
+ * If the annotated element is a class, then all methods in the class should be called
+ * on the binder thread.
+ * <p>
+ * Example:
+ * <pre>{@code
+ * (@BinderThread
+ * public BeamShareData createBeamShareData() { ... }
+ * }</pre>
+ *
+ * {@hide}
+ */
+@Retention(SOURCE)
+@Target({METHOD,CONSTRUCTOR,TYPE})
+public @interface BinderThread {
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/MainThread.java b/core/java/android/annotation/MainThread.java
new file mode 100644
index 0000000..18a4283
--- /dev/null
+++ b/core/java/android/annotation/MainThread.java
@@ -0,0 +1,42 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated method should only be called on the main thread.
+ * If the annotated element is a class, then all methods in the class should be called
+ * on the main thread.
+ * <p>
+ * Example:
+ * <pre>{@code
+ * @MainThread
+ * public void deliverResult(D data) { ... }
+ * }</pre>
+ *
+ * {@hide}
+ */
+@Retention(SOURCE)
+@Target({METHOD,CONSTRUCTOR,TYPE})
+public @interface MainThread {
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/RequiresPermission.java b/core/java/android/annotation/RequiresPermission.java
new file mode 100644
index 0000000..4aed5c1
--- /dev/null
+++ b/core/java/android/annotation/RequiresPermission.java
@@ -0,0 +1,104 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated element requires (or may require) one or more permissions.
+ * <p/>
+ * Example of requiring a single permission:
+ * <pre>{@code
+ * @RequiresPermission(Manifest.permission.SET_WALLPAPER)
+ * public abstract void setWallpaper(Bitmap bitmap) throws IOException;
+ *
+ * @RequiresPermission(ACCESS_COARSE_LOCATION)
+ * public abstract Location getLastKnownLocation(String provider);
+ * }</pre>
+ * Example of requiring at least one permission from a set:
+ * <pre>{@code
+ * @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
+ * public abstract Location getLastKnownLocation(String provider);
+ * }</pre>
+ * Example of requiring multiple permissions:
+ * <pre>{@code
+ * @RequiresPermission(allOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
+ * public abstract Location getLastKnownLocation(String provider);
+ * }</pre>
+ * Example of requiring separate read and write permissions for a content provider:
+ * <pre>{@code
+ * @RequiresPermission.Read(@RequiresPermission(READ_HISTORY_BOOKMARKS))
+ * @RequiresPermission.Write(@RequiresPermission(WRITE_HISTORY_BOOKMARKS))
+ * public static final Uri BOOKMARKS_URI = Uri.parse("content://browser/bookmarks");
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({ANNOTATION_TYPE,METHOD,CONSTRUCTOR,FIELD})
+public @interface RequiresPermission {
+ /**
+ * The name of the permission that is required, if precisely one permission
+ * is required. If more than one permission is required, specify either
+ * {@link #allOf()} or {@link #anyOf()} instead.
+ * <p>
+ * If specified, {@link #anyOf()} and {@link #allOf()} must both be null.
+ */
+ String value() default "";
+
+ /**
+ * Specifies a list of permission names that are all required.
+ * <p>
+ * If specified, {@link #anyOf()} and {@link #value()} must both be null.
+ */
+ String[] allOf() default {};
+
+ /**
+ * Specifies a list of permission names where at least one is required
+ * <p>
+ * If specified, {@link #allOf()} and {@link #value()} must both be null.
+ */
+ String[] anyOf() default {};
+
+ /**
+ * If true, the permission may not be required in all cases (e.g. it may only be
+ * enforced on certain platforms, or for certain call parameters, etc.
+ */
+ boolean conditional() default false;
+
+ /**
+ * Specifies that the given permission is required for read operations
+ */
+ @Target(FIELD)
+ @interface Read {
+ RequiresPermission value();
+ }
+
+ /**
+ * Specifies that the given permission is required for write operations
+ */
+ @Target(FIELD)
+ @interface Write {
+ RequiresPermission value();
+ }
+}
diff --git a/core/java/android/annotation/UiThread.java b/core/java/android/annotation/UiThread.java
new file mode 100644
index 0000000..b814600
--- /dev/null
+++ b/core/java/android/annotation/UiThread.java
@@ -0,0 +1,42 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated method or constructor should only be called on the UI thread.
+ * If the annotated element is a class, then all methods in the class should be called
+ * on the UI thread.
+ * <p>
+ * Example:
+ * <pre>{@code
+ * @UiThread
+ * public abstract void setText(@NonNull String text) { ... }
+ * }</pre>
+ *
+ * {@hide}
+ */
+@Retention(SOURCE)
+@Target({METHOD,CONSTRUCTOR,TYPE})
+public @interface UiThread {
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/WorkerThread.java b/core/java/android/annotation/WorkerThread.java
new file mode 100644
index 0000000..dd12e05
--- /dev/null
+++ b/core/java/android/annotation/WorkerThread.java
@@ -0,0 +1,42 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated method should only be called on a worker thread.
+ * If the annotated element is a class, then all methods in the class should be called
+ * on a worker thread.
+ * <p>
+ * Example:
+ * <pre>{@code
+ * (@WorkerThread
+ * protected abstract FilterResults performFiltering(CharSequence constraint);
+ * }</pre>
+ *
+ * {@hide}
+ */
+@Retention(SOURCE)
+@Target({METHOD,CONSTRUCTOR,TYPE})
+public @interface WorkerThread {
+}
\ No newline at end of file
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 4ccde1c..69cba78 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -6483,6 +6483,18 @@
}
/**
+ * Shows the user the system defined message for telling the user how to exit
+ * lock task mode. The task containing this activity must be in lock task mode at the time
+ * of this call for the message to be displayed.
+ */
+ public void showLockTaskEscapeMessage() {
+ try {
+ ActivityManagerNative.getDefault().showLockTaskEscapeMessage(mToken);
+ } catch (RemoteException e) {
+ }
+ }
+
+ /**
* Interface for informing a translucent {@link Activity} once all visible activities below it
* have completed drawing. This is necessary only after an {@link Activity} has been made
* opaque using {@link Activity#convertFromTranslucent()} and before it has been drawn
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index d56dc1e..bde8f39 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -16,6 +16,8 @@
package android.app;
+import android.annotation.NonNull;
+
/**
* Activity manager local system service interface.
*
@@ -27,4 +29,23 @@
public abstract int startIsolatedProcess(String entryPoint, String[] mainArgs,
String processName, String abiOverride, int uid, Runnable crashHandler);
+
+ /**
+ * Acquires a sleep token with the specified tag.
+ *
+ * @param tag A string identifying the purpose of the token (eg. "Dream").
+ */
+ public abstract SleepToken acquireSleepToken(@NonNull String tag);
+
+ /**
+ * Sleep tokens cause the activity manager to put the top activity to sleep.
+ * They are used by components such as dreams that may hide and block interaction
+ * with underlying activities.
+ */
+ public static abstract class SleepToken {
+ /**
+ * Releases the sleep token.
+ */
+ public abstract void release();
+ }
}
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index add7af2..b11c509 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -2345,6 +2345,14 @@
return true;
}
+ case SHOW_LOCK_TASK_ESCAPE_MESSAGE_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ final IBinder token = data.readStrongBinder();
+ showLockTaskEscapeMessage(token);
+ reply.writeNoException();
+ return true;
+ }
+
case SET_TASK_DESCRIPTION_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
IBinder token = data.readStrongBinder();
@@ -2505,6 +2513,14 @@
return true;
}
+ case UPDATE_DEVICE_OWNER_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ String packageName = data.readString();
+ updateDeviceOwner(packageName);
+ reply.writeNoException();
+ return true;
+ }
+
case GET_PACKAGE_PROCESS_STATE_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
String pkg = data.readString();
@@ -5552,6 +5568,19 @@
}
@Override
+ public void showLockTaskEscapeMessage(IBinder token) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ data.writeStrongBinder(token);
+ mRemote.transact(SHOW_LOCK_TASK_ESCAPE_MESSAGE_TRANSACTION, data, reply,
+ IBinder.FLAG_ONEWAY);
+ reply.readException();
+ data.recycle();
+ reply.recycle();
+ }
+
+ @Override
public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values)
throws RemoteException {
Parcel data = Parcel.obtain();
@@ -5780,6 +5809,18 @@
}
@Override
+ public void updateDeviceOwner(String packageName) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ data.writeString(packageName);
+ mRemote.transact(UPDATE_DEVICE_OWNER_TRANSACTION, data, reply, 0);
+ reply.readException();
+ data.recycle();
+ reply.recycle();
+ }
+
+ @Override
public int getPackageProcessState(String packageName) throws RemoteException {
Parcel data = Parcel.obtain();
Parcel reply = Parcel.obtain();
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 10d6d01..ab5f811 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -2541,11 +2541,16 @@
if (cmd.requestType == ActivityManager.ASSIST_CONTEXT_FULL) {
data.putParcelable(AssistStructure.ASSIST_KEY, new AssistStructure(r.activity));
AssistContent content = new AssistContent();
- Intent intent = new Intent(r.activity.getIntent());
- intent.setFlags(intent.getFlags() & ~(Intent.FLAG_GRANT_WRITE_URI_PERMISSION
- | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION));
- intent.removeUnsafeExtras();
- content.setIntent(intent);
+ Intent activityIntent = r.activity.getIntent();
+ if (activityIntent != null) {
+ Intent intent = new Intent(activityIntent);
+ intent.setFlags(intent.getFlags() & ~(Intent.FLAG_GRANT_WRITE_URI_PERMISSION
+ | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION));
+ intent.removeUnsafeExtras();
+ content.setIntent(intent);
+ } else {
+ content.setIntent(new Intent());
+ }
r.activity.onProvideAssistContent(content);
data.putParcelable(AssistContent.ASSIST_KEY, content);
}
diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java
index 179957d..9d1d312 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -597,6 +597,15 @@
}
}
+ /** @hide */
+ public long getNextWakeFromIdleTime() {
+ try {
+ return mService.getNextWakeFromIdleTime();
+ } catch (RemoteException ex) {
+ return Long.MAX_VALUE;
+ }
+ }
+
/**
* Gets information about the next alarm clock currently scheduled.
*
diff --git a/core/java/android/app/AssistStructure.java b/core/java/android/app/AssistStructure.java
index 1e159a3..9946d79 100644
--- a/core/java/android/app/AssistStructure.java
+++ b/core/java/android/app/AssistStructure.java
@@ -218,6 +218,7 @@
static final int FLAGS_FOCUSED = 0x00000020;
static final int FLAGS_ACCESSIBILITY_FOCUSED = 0x04000000;
static final int FLAGS_SELECTED = 0x00000040;
+ static final int FLAGS_ASSIST_BLOCKED = 0x00000080;
static final int FLAGS_ACTIVATED = 0x40000000;
static final int FLAGS_CHECKABLE = 0x00000100;
static final int FLAGS_CHECKED = 0x00000200;
@@ -356,6 +357,10 @@
return mFlags&ViewNode.FLAGS_VISIBILITY_MASK;
}
+ public boolean isAssistBlocked() {
+ return (mFlags&ViewNode.FLAGS_ASSIST_BLOCKED) == 0;
+ }
+
public boolean isEnabled() {
return (mFlags&ViewNode.FLAGS_DISABLED) == 0;
}
@@ -484,6 +489,12 @@
}
@Override
+ public void setAssistBlocked(boolean state) {
+ mNode.mFlags = (mNode.mFlags&~ViewNode.FLAGS_ASSIST_BLOCKED)
+ | (state ? 0 : ViewNode.FLAGS_ASSIST_BLOCKED);
+ }
+
+ @Override
public void setEnabled(boolean state) {
mNode.mFlags = (mNode.mFlags&~ViewNode.FLAGS_DISABLED)
| (state ? 0 : ViewNode.FLAGS_DISABLED);
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index 59de281..00558fe 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -467,6 +467,8 @@
public int getLockTaskModeState() throws RemoteException;
+ public void showLockTaskEscapeMessage(IBinder token) throws RemoteException;
+
public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values)
throws RemoteException;
public void setTaskResizeable(int taskId, boolean resizeable) throws RemoteException;
@@ -493,6 +495,7 @@
public void setVoiceKeepAwake(IVoiceInteractionSession session, boolean keepAwake)
throws RemoteException;
public void updateLockTaskPackages(int userId, String[] packages) throws RemoteException;
+ public void updateDeviceOwner(String packageName) throws RemoteException;
public int getPackageProcessState(String packageName) throws RemoteException;
@@ -834,4 +837,6 @@
int NOTE_ALARM_START_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+291;
int NOTE_ALARM_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+292;
int GET_PACKAGE_PROCESS_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+293;
+ int SHOW_LOCK_TASK_ESCAPE_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+294;
+ int UPDATE_DEVICE_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+295;
}
diff --git a/core/java/android/app/IAlarmManager.aidl b/core/java/android/app/IAlarmManager.aidl
index d5719f5..327c00b 100644
--- a/core/java/android/app/IAlarmManager.aidl
+++ b/core/java/android/app/IAlarmManager.aidl
@@ -33,6 +33,7 @@
boolean setTime(long millis);
void setTimeZone(String zone);
void remove(in PendingIntent operation);
+ long getNextWakeFromIdleTime();
AlarmManager.AlarmClockInfo getNextAlarmClock(int userId);
}
diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index fe284ce..aea413d 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -264,6 +264,20 @@
public static final String EXTRA_CHOOSE_PRIVATE_KEY_RESPONSE = "android.app.extra.CHOOSE_PRIVATE_KEY_RESPONSE";
/**
+ * Broadcast action: notify device owner that there is a pending system update.
+ * @hide
+ */
+ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+ public static final String ACTION_NOTIFY_PENDING_SYSTEM_UPDATE = "android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE";
+
+ /**
+ * A long type extra for {@link #onSystemUpdatePending} recording the system time as given by
+ * {@link System#currentTimeMillis()} when the current pending system update is first available.
+ * @hide
+ */
+ public static final String EXTRA_SYSTEM_UPDATE_RECEIVED_TIME = "android.app.extra.SYSTEM_UPDATE_RECEIVED_TIME";
+
+ /**
* Name under which a DevicePolicy component publishes information
* about itself. This meta-data must reference an XML resource containing
* a device-admin tag.
@@ -486,6 +500,22 @@
}
/**
+ * Allows the receiver to be notified when information about a pending system update is
+ * available from the system update service. The same pending system update can trigger multiple
+ * calls to this method, so it is necessary to examine the incoming parameters for details about
+ * the update.
+ * <p>
+ * This callback is only applicable to device owners.
+ *
+ * @param context The running context as per {@link #onReceive}.
+ * @param intent The received intent as per {@link #onReceive}.
+ * @param receivedTime The time as given by {@link System#currentTimeMillis()} indicating when
+ * the current pending update was first available. -1 if no pending update is available.
+ */
+ public void onSystemUpdatePending(Context context, Intent intent, long receivedTime) {
+ }
+
+ /**
* Intercept standard device administrator broadcasts. Implementations
* should not override this method; it is better to implement the
* convenience callbacks for each action.
@@ -530,6 +560,9 @@
onLockTaskModeExiting(context, intent);
} else if (ACTION_READY_FOR_USER_INITIALIZATION.equals(action)) {
onReadyForUserInitialization(context, intent);
+ } else if (ACTION_NOTIFY_PENDING_SYSTEM_UPDATE.equals(action)) {
+ long receivedTime = intent.getLongExtra(EXTRA_SYSTEM_UPDATE_RECEIVED_TIME, -1);
+ onSystemUpdatePending(context, intent, receivedTime);
}
}
}
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 9e2da61..a20aa668 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -4301,4 +4301,24 @@
Log.w(TAG, "Failed talking with device policy service", re);
}
}
+
+ /**
+ * Callable by the system update service to notify device owners about pending updates.
+ * The caller must hold {@link android.Manifest.permission#NOTIFY_PENDING_SYSTEM_UPDATE}
+ * permission.
+ *
+ * @param updateReceivedTime The time as given by {@link System#currentTimeMillis()} indicating
+ * when the current pending update was first available. -1 if no update is available.
+ * @hide
+ */
+ @SystemApi
+ public void notifyPendingSystemUpdate(long updateReceivedTime) {
+ if (mService != null) {
+ try {
+ mService.notifyPendingSystemUpdate(updateReceivedTime);
+ } catch (RemoteException re) {
+ Log.w(TAG, "Could not notify device owner about pending system update", re);
+ }
+ }
+ }
}
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 1f7498e..087fc88 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -225,4 +225,6 @@
boolean setKeyguardEnabledState(in ComponentName admin, boolean enabled);
void setStatusBarEnabledState(in ComponentName who, boolean enabled);
boolean getDoNotAskCredentialsOnBoot();
+
+ void notifyPendingSystemUpdate(in long updateReceivedTime);
}
diff --git a/core/java/android/app/backup/BlobBackupHelper.java b/core/java/android/app/backup/BlobBackupHelper.java
index 8e4002d..cdc62dc 100644
--- a/core/java/android/app/backup/BlobBackupHelper.java
+++ b/core/java/android/app/backup/BlobBackupHelper.java
@@ -133,7 +133,7 @@
out.writeInt(mCurrentBlobVersion);
- final int N = state.size();
+ final int N = (state != null) ? state.size() : 0;
out.writeInt(N);
for (int i = 0; i < N; i++) {
out.writeUTF(state.keyAt(i));
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index 393cf8e..fd65d56 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -26,6 +26,7 @@
import android.content.res.AssetFileDescriptor;
import android.content.res.Configuration;
import android.database.Cursor;
+import android.database.MatrixCursor;
import android.database.SQLException;
import android.net.Uri;
import android.os.AsyncTask;
@@ -204,8 +205,13 @@
validateIncomingUri(uri);
uri = getUriWithoutUserId(uri);
if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
- return rejectQuery(uri, projection, selection, selectionArgs, sortOrder,
- CancellationSignal.fromTransport(cancellationSignal));
+ // The caller has no access to the data, so return an empty cursor with
+ // the columns in the requested order. The caller may ask for an invalid
+ // column and we would not catch that but this is not a problem in practice.
+ // We do not call ContentProvider#query with a modified where clause since
+ // the implementation is not guaranteed to be backed by a SQL database, hence
+ // it may not handle properly the tautology where clause we would have created.
+ return new MatrixCursor(projection, 0);
}
final String original = setCallingPackage(callingPkg);
try {
@@ -817,31 +823,6 @@
}
/**
- * @hide
- * Implementation when a caller has performed a query on the content
- * provider, but that call has been rejected for the operation given
- * to {@link #setAppOps(int, int)}. The default implementation
- * rewrites the <var>selection</var> argument to include a condition
- * that is never true (so will always result in an empty cursor)
- * and calls through to {@link #query(android.net.Uri, String[], String, String[],
- * String, android.os.CancellationSignal)} with that.
- */
- public Cursor rejectQuery(Uri uri, String[] projection,
- String selection, String[] selectionArgs, String sortOrder,
- CancellationSignal cancellationSignal) {
- // The read is not allowed... to fake it out, we replace the given
- // selection statement with a dummy one that will always be false.
- // This way we will get a cursor back that has the correct structure
- // but contains no rows.
- if (selection == null || selection.isEmpty()) {
- selection = "'A' = 'B'";
- } else {
- selection = "'A' = 'B' AND (" + selection + ")";
- }
- return query(uri, projection, selection, selectionArgs, sortOrder, cancellationSignal);
- }
-
- /**
* Implement this to handle query requests from clients.
* This method can be called from multiple threads, as described in
* <a href="{@docRoot}guide/topics/fundamentals/processes-and-threads.html#Threads">Processes
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 3bf3f85..5eacce3 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -3098,7 +3098,6 @@
* {@link android.media.midi.MidiManager} for accessing the MIDI service.
*
* @see #getSystemService
- * @hide
*/
public static final String MIDI_SERVICE = "midi";
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index e2701ee..6c32873 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -339,8 +339,14 @@
* (e.g., HTTP rather than HTTPS; WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP
* without STARTTLS or TLS). If {@code false}, the app declares that it does not intend to use
* cleartext network traffic, in which case platform components (e.g., HTTP stacks,
- * {@code WebView}, {@code DownloadManager}, {@code MediaPlayer}) will refuse app's requests to
- * use cleartext traffic. Third-party libraries are encouraged to honor this flag as well.
+ * {@code DownloadManager}, {@code MediaPlayer}) will refuse app's requests to use cleartext
+ * traffic. Third-party libraries are encouraged to honor this flag as well.
+ *
+ * <p>NOTE: {@code WebView} does not honor this flag.
+ *
+ * <p>This flag comes from
+ * {@link android.R.styleable#AndroidManifestApplication_usesCleartextTraffic
+ * android:usesCleartextTraffic} of the <application> tag.
*/
public static final int FLAG_USES_CLEARTEXT_TRAFFIC = 1<<27;
diff --git a/core/java/android/content/pm/PackageCleanItem.java b/core/java/android/content/pm/PackageCleanItem.java
index b1896aa..e1656d6 100644
--- a/core/java/android/content/pm/PackageCleanItem.java
+++ b/core/java/android/content/pm/PackageCleanItem.java
@@ -20,7 +20,7 @@
import android.os.Parcelable;
/** @hide */
-public class PackageCleanItem {
+public class PackageCleanItem implements Parcelable {
public final int userId;
public final String packageName;
public final boolean andCode;
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index a0cec50..e4108b1 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -1574,6 +1574,21 @@
/**
* Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: This is a device dedicated to showing UI
+ * on a vehicle headunit. A headunit here is defined to be inside a
+ * vehicle that may or may not be moving. A headunit uses either a
+ * primary display in the center console and/or additional displays in
+ * the instrument cluster or elsewhere in the vehicle. Headunit display(s)
+ * have limited size and resolution. The user will likely be focused on
+ * driving so limiting driver distraction is a primary concern. User input
+ * can be a variety of hard buttons, touch, rotary controllers and even mouse-
+ * like interfaces.
+ */
+ @SdkConstant(SdkConstantType.FEATURE)
+ public static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
+
+ /**
+ * Feature for {@link #getSystemAvailableFeatures} and
+ * {@link #hasSystemFeature}: This is a device dedicated to showing UI
* on a television. Television here is defined to be a typical living
* room television experience: displayed on a big screen, where the user
* is sitting far away from it, and the dominant form of input will be
diff --git a/core/java/android/content/pm/ParceledListSlice.java b/core/java/android/content/pm/ParceledListSlice.java
index 335a45e..e5c2203 100644
--- a/core/java/android/content/pm/ParceledListSlice.java
+++ b/core/java/android/content/pm/ParceledListSlice.java
@@ -55,6 +55,7 @@
mList = list;
}
+ @SuppressWarnings("unchecked")
private ParceledListSlice(Parcel p, ClassLoader loader) {
final int N = p.readInt();
mList = new ArrayList<T>(N);
@@ -63,7 +64,7 @@
return;
}
- Parcelable.Creator<T> creator = p.readParcelableCreator(loader);
+ Parcelable.Creator<?> creator = p.readParcelableCreator(loader);
Class<?> listElementClass = null;
int i = 0;
diff --git a/core/java/android/database/sqlite/SQLiteConnection.java b/core/java/android/database/sqlite/SQLiteConnection.java
index 24a7d33..3cda39a 100644
--- a/core/java/android/database/sqlite/SQLiteConnection.java
+++ b/core/java/android/database/sqlite/SQLiteConnection.java
@@ -91,8 +91,6 @@
private static final String[] EMPTY_STRING_ARRAY = new String[0];
private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
- private static final Pattern TRIM_SQL_PATTERN = Pattern.compile("[\\s]*\\n+[\\s]*");
-
private final CloseGuard mCloseGuard = CloseGuard.get();
private final SQLiteConnectionPool mPool;
@@ -1203,7 +1201,11 @@
}
private static String trimSqlForDisplay(String sql) {
- return TRIM_SQL_PATTERN.matcher(sql).replaceAll(" ");
+ // Note: Creating and caching a regular expression is expensive at preload-time
+ // and stops compile-time initialization. This pattern is only used when
+ // dumping the connection, which is a rare (mainly error) case. So:
+ // DO NOT CACHE.
+ return sql.replaceAll("[\\s]*\\n+[\\s]*", " ");
}
/**
@@ -1437,9 +1439,6 @@
}
private static final class Operation {
- private static final SimpleDateFormat sDateFormat =
- new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
-
public long mStartTime;
public long mEndTime;
public String mKind;
@@ -1494,7 +1493,11 @@
}
private String getFormattedStartTime() {
- return sDateFormat.format(new Date(mStartTime));
+ // Note: SimpleDateFormat is not thread-safe, cannot be compile-time created, and is
+ // relatively expensive to create during preloading. This method is only used
+ // when dumping a connection, which is a rare (mainly error) case. So:
+ // DO NOT CACHE.
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date(mStartTime));
}
}
}
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java
index 0d7b261..2257b0a 100644
--- a/core/java/android/hardware/fingerprint/FingerprintManager.java
+++ b/core/java/android/hardware/fingerprint/FingerprintManager.java
@@ -587,6 +587,25 @@
return false;
}
+ /**
+ * Retrieves the authenticator token for binding keys to the lifecycle
+ * of the current set of fingerprints. Used only by internal clients.
+ *
+ * @hide
+ */
+ public long getAuthenticatorId() {
+ if (mService != null) {
+ try {
+ return mService.getAuthenticatorId();
+ } catch (RemoteException e) {
+ Log.v(TAG, "Remote exception in getAuthenticatorId(): ", e);
+ }
+ } else {
+ Log.w(TAG, "getAuthenticatorId(): Service not connected!");
+ }
+ return 0;
+ }
+
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch(msg.what) {
@@ -792,4 +811,5 @@
}
};
-}
\ No newline at end of file
+}
+
diff --git a/core/java/android/hardware/fingerprint/FingerprintUtils.java b/core/java/android/hardware/fingerprint/FingerprintUtils.java
index ae3d4a4..525f254 100644
--- a/core/java/android/hardware/fingerprint/FingerprintUtils.java
+++ b/core/java/android/hardware/fingerprint/FingerprintUtils.java
@@ -17,6 +17,8 @@
package android.hardware.fingerprint;
import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Vibrator;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -35,6 +37,8 @@
class FingerprintUtils {
private static final boolean DEBUG = true;
private static final String TAG = "FingerprintUtils";
+ private static final long[] FP_ERROR_VIBRATE_PATTERN = new long[] {0, 30, 100, 30};
+ private static final long[] FP_SUCCESS_VIBRATE_PATTERN = new long[] {0, 30};
private static int[] toIntArray(List<Integer> list) {
if (list == null) {
@@ -104,5 +108,19 @@
return false;
}
+ public static void vibrateFingerprintError(Context context) {
+ Vibrator vibrator = context.getSystemService(Vibrator.class);
+ if (vibrator != null) {
+ vibrator.vibrate(FP_ERROR_VIBRATE_PATTERN, -1);
+ }
+ }
+
+ public static void vibrateFingerprintSuccess(Context context) {
+ Vibrator vibrator = context.getSystemService(Vibrator.class);
+ if (vibrator != null) {
+ vibrator.vibrate(FP_SUCCESS_VIBRATE_PATTERN, -1);
+ }
+ }
+
};
diff --git a/core/java/android/hardware/fingerprint/IFingerprintService.aidl b/core/java/android/hardware/fingerprint/IFingerprintService.aidl
index 51a0e4c..c5ec08c 100644
--- a/core/java/android/hardware/fingerprint/IFingerprintService.aidl
+++ b/core/java/android/hardware/fingerprint/IFingerprintService.aidl
@@ -63,4 +63,6 @@
// Gets the unique device id for hardware enumerated at i
// long getHardwareDevice(int i);
+ // Gets the authenticator ID for fingerprint
+ long getAuthenticatorId();
}
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 3e9b3d6..63f48cf 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -305,6 +305,9 @@
* same network interface as {@link #TYPE_MOBILE} or it may use a different
* one. This is used by applications needing to talk to the carrier's
* Multimedia Messaging Service servers.
+ *
+ * @deprecated Applications should instead use {@link #requestNetwork} to request a network that
+ * provides the {@link NetworkCapabilities#NET_CAPABILITY_MMS} capability.
*/
public static final int TYPE_MOBILE_MMS = 2;
/**
@@ -312,6 +315,9 @@
* same network interface as {@link #TYPE_MOBILE} or it may use a different
* one. This is used by applications needing to talk to the carrier's
* Secure User Plane Location servers for help locating the device.
+ *
+ * @deprecated Applications should instead use {@link #requestNetwork} to request a network that
+ * provides the {@link NetworkCapabilities#NET_CAPABILITY_SUPL} capability.
*/
public static final int TYPE_MOBILE_SUPL = 3;
/**
@@ -324,9 +330,10 @@
/**
* A High Priority Mobile data connection. This network type uses the
* same network interface as {@link #TYPE_MOBILE} but the routing setup
- * is different. Only requesting processes will have access to the
- * Mobile DNS servers and only IP's explicitly requested via {@link #requestRouteToHost}
- * will route over this interface if no default route exists.
+ * is different.
+ *
+ * @deprecated Applications should instead use {@link #requestNetwork} to request a network that
+ * uses the {@link NetworkCapabilities#TRANSPORT_CELLULAR} transport.
*/
public static final int TYPE_MOBILE_HIPRI = 5;
/**
@@ -386,7 +393,7 @@
*/
public static final int TYPE_MOBILE_IA = 14;
-/**
+ /**
* Emergency PDN connection for emergency calls
* {@hide}
*/
@@ -736,7 +743,7 @@
}
/**
- * Returns an array of of {@link NetworkCapabilities} objects, representing
+ * Returns an array of {@link android.net.NetworkCapabilities} objects, representing
* the Networks that applications run by the given user will use by default.
* @hide
*/
@@ -826,11 +833,11 @@
}
/**
- * Get the {@link NetworkCapabilities} for the given {@link Network}. This
+ * Get the {@link android.net.NetworkCapabilities} for the given {@link Network}. This
* will return {@code null} if the network is unknown.
*
* @param network The {@link Network} object identifying the network in question.
- * @return The {@link NetworkCapabilities} for the network, or {@code null}.
+ * @return The {@link android.net.NetworkCapabilities} for the network, or {@code null}.
*/
public NetworkCapabilities getNetworkCapabilities(Network network) {
try {
@@ -854,6 +861,7 @@
* always indicates failure.
*
* @deprecated Deprecated in favor of the cleaner {@link #requestNetwork} api.
+ * @removed
*/
public int startUsingNetworkFeature(int networkType, String feature) {
NetworkCapabilities netCap = networkCapabilitiesForFeature(networkType, feature);
@@ -901,6 +909,7 @@
* always indicates failure.
*
* @deprecated Deprecated in favor of the cleaner {@link #requestNetwork} api.
+ * @removed
*/
public int stopUsingNetworkFeature(int networkType, String feature) {
NetworkCapabilities netCap = networkCapabilitiesForFeature(networkType, feature);
@@ -1179,6 +1188,7 @@
*
* @deprecated Deprecated in favor of the {@link #requestNetwork},
* {@link #bindProcessToNetwork} and {@link Network#getSocketFactory} api.
+ * @removed
*/
public boolean requestRouteToHost(int networkType, int hostAddress) {
return requestRouteToHostAddress(networkType, NetworkUtils.intToInetAddress(hostAddress));
@@ -1197,6 +1207,7 @@
* @hide
* @deprecated Deprecated in favor of the {@link #requestNetwork} and
* {@link #bindProcessToNetwork} api.
+ * @removed
*/
public boolean requestRouteToHostAddress(int networkType, InetAddress hostAddress) {
try {
@@ -2057,7 +2068,7 @@
* changes capabilities but still satisfies the stated need.
*
* @param network The {@link Network} whose capabilities have changed.
- * @param networkCapabilities The new {@link NetworkCapabilities} for this network.
+ * @param networkCapabilities The new {@link android.net.NetworkCapabilities} for this network.
*/
public void onCapabilitiesChanged(Network network,
NetworkCapabilities networkCapabilities) {}
@@ -2299,7 +2310,7 @@
}
/**
- * Request a network to satisfy a set of {@link NetworkCapabilities}.
+ * Request a network to satisfy a set of {@link android.net.NetworkCapabilities}.
*
* This {@link NetworkRequest} will live until released via
* {@link #unregisterNetworkCallback} or the calling application exits.
@@ -2318,7 +2329,7 @@
}
/**
- * Request a network to satisfy a set of {@link NetworkCapabilities}, limited
+ * Request a network to satisfy a set of {@link android.net.NetworkCapabilities}, limited
* by a timeout.
*
* This function behaves identically to the non-timedout version, but if a suitable
@@ -2365,7 +2376,7 @@
/**
- * Request a network to satisfy a set of {@link NetworkCapabilities}.
+ * Request a network to satisfy a set of {@link android.net.NetworkCapabilities}.
*
* This function behaves identically to the version that takes a NetworkCallback, but instead
* of {@link NetworkCallback} a {@link PendingIntent} is used. This means
@@ -2441,17 +2452,21 @@
}
/**
- * Request connectivityservice to refresh network capabilities for the given
- * {@link network}. This method returns true if the network is still active, false
- * otherwise. Notice the method call assumes the caller has registered for
- * listening NetworkCapabilities updates.
+ * Requests bandwidth update for a given {@link Network} and returns whether the update request
+ * is accepted by ConnectivityService. Once accepted, ConnectivityService will poll underlying
+ * network connection for updated bandwidth information. The caller will be notified via
+ * {@link ConnectivityManager.NetworkCallback} if there is an update. Notice that this
+ * method assumes that the caller has previously called {@link #registerNetworkCallback} to
+ * listen for network changes.
*
* @param network{@link Network} specifying which network you're interested.
+ * @return {@code true} on success, {@code false} if the {@link Network} is no longer valid.
+ *
* @hide
*/
- public boolean requestBwUpdate(Network network) {
+ public boolean requestBandwidthUpdate(Network network) {
try {
- return mService.requestBwUpdate(network);
+ return mService.requestBandwidthUpdate(network);
} catch (RemoteException e) {
return false;
}
@@ -2563,7 +2578,12 @@
if (NetworkUtils.bindProcessToNetwork(netId)) {
// Set HTTP proxy system properties to match network.
// TODO: Deprecate this static method and replace it with a non-static version.
- Proxy.setHttpProxySystemProperty(getInstance().getDefaultProxy());
+ try {
+ Proxy.setHttpProxySystemProperty(getInstance().getDefaultProxy());
+ } catch (SecurityException e) {
+ // The process doesn't have ACCESS_NETWORK_STATE, so we can't fetch the proxy.
+ Log.e(TAG, "Can't set proxy properties", e);
+ }
// Must flush DNS cache as new network may have different DNS resolutions.
InetAddress.clearDnsCache();
// Must flush socket pool as idle sockets will be bound to previous network and may
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index d6c0693..efc76b3 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -134,7 +134,7 @@
void registerNetworkFactory(in Messenger messenger, in String name);
- boolean requestBwUpdate(in Network network);
+ boolean requestBandwidthUpdate(in Network network);
void unregisterNetworkFactory(in Messenger messenger);
diff --git a/core/java/android/nfc/cardemulation/ApduServiceInfo.java b/core/java/android/nfc/cardemulation/ApduServiceInfo.java
index f10e530..3d065e3 100644
--- a/core/java/android/nfc/cardemulation/ApduServiceInfo.java
+++ b/core/java/android/nfc/cardemulation/ApduServiceInfo.java
@@ -17,6 +17,7 @@
package android.nfc.cardemulation;
import android.content.ComponentName;
+import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
@@ -28,6 +29,7 @@
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
+import android.os.ResultReceiver;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Xml;
@@ -88,12 +90,24 @@
* The uid of the package the service belongs to
*/
final int mUid;
+
+ /**
+ * Whether this service has dynamic resources
+ */
+ final boolean mHasDynamicResources;
+
+ /**
+ * Settings Activity for this service
+ */
+ final String mSettingsActivityName;
+
/**
* @hide
*/
public ApduServiceInfo(ResolveInfo info, boolean onHost, String description,
ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
- boolean requiresUnlock, int bannerResource, int uid) {
+ boolean requiresUnlock, int bannerResource, int uid, boolean hasDynamicResources,
+ String settingsActivityName) {
this.mService = info;
this.mDescription = description;
this.mStaticAidGroups = new HashMap<String, AidGroup>();
@@ -108,6 +122,8 @@
}
this.mBannerResourceId = bannerResource;
this.mUid = uid;
+ this.mHasDynamicResources = hasDynamicResources;
+ this.mSettingsActivityName = settingsActivityName;
}
public ApduServiceInfo(PackageManager pm, ResolveInfo info, boolean onHost) throws
@@ -156,6 +172,10 @@
false);
mBannerResourceId = sa.getResourceId(
com.android.internal.R.styleable.HostApduService_apduServiceBanner, -1);
+ mHasDynamicResources = sa.getBoolean(
+ com.android.internal.R.styleable.HostApduService_dynamicResources, false);
+ mSettingsActivityName = sa.getString(
+ com.android.internal.R.styleable.HostApduService_settingsActivity);
sa.recycle();
} else {
TypedArray sa = res.obtainAttributes(attrs,
@@ -166,6 +186,10 @@
mRequiresDeviceUnlock = false;
mBannerResourceId = sa.getResourceId(
com.android.internal.R.styleable.OffHostApduService_apduServiceBanner, -1);
+ mHasDynamicResources = sa.getBoolean(
+ com.android.internal.R.styleable.OffHostApduService_dynamicResources, false);
+ mSettingsActivityName = sa.getString(
+ com.android.internal.R.styleable.HostApduService_settingsActivity);
sa.recycle();
}
@@ -359,6 +383,15 @@
return mService.loadLabel(pm);
}
+ public CharSequence loadAppLabel(PackageManager pm) {
+ try {
+ return pm.getApplicationLabel(pm.getApplicationInfo(
+ mService.resolvePackageName, PackageManager.GET_META_DATA));
+ } catch (PackageManager.NameNotFoundException e) {
+ return null;
+ }
+ }
+
public Drawable loadIcon(PackageManager pm) {
return mService.loadIcon(pm);
}
@@ -377,6 +410,11 @@
return null;
}
}
+ public boolean hasDynamicResources() {
+ return mHasDynamicResources;
+ }
+
+ public String getSettingsActivityName() { return mSettingsActivityName; }
@Override
public String toString() {
@@ -430,6 +468,8 @@
dest.writeInt(mRequiresDeviceUnlock ? 1 : 0);
dest.writeInt(mBannerResourceId);
dest.writeInt(mUid);
+ dest.writeInt(mHasDynamicResources ? 1 : 0);
+ dest.writeString(mSettingsActivityName);
};
public static final Parcelable.Creator<ApduServiceInfo> CREATOR =
@@ -452,8 +492,11 @@
boolean requiresUnlock = source.readInt() != 0;
int bannerResource = source.readInt();
int uid = source.readInt();
+ boolean dynamicResources = source.readInt() != 0;
+ String settingsActivityName = source.readString();
return new ApduServiceInfo(info, onHost, description, staticAidGroups,
- dynamicAidGroups, requiresUnlock, bannerResource, uid);
+ dynamicAidGroups, requiresUnlock, bannerResource, uid, dynamicResources,
+ settingsActivityName);
}
@Override
@@ -479,5 +522,6 @@
pw.println(" AID: " + aid);
}
}
+ pw.println(" Settings Activity: " + mSettingsActivityName);
}
}
diff --git a/core/java/android/nfc/cardemulation/CardEmulation.java b/core/java/android/nfc/cardemulation/CardEmulation.java
index 64c2bc2..b94d4a6 100644
--- a/core/java/android/nfc/cardemulation/CardEmulation.java
+++ b/core/java/android/nfc/cardemulation/CardEmulation.java
@@ -90,6 +90,37 @@
public static final String CATEGORY_OTHER = "other";
/**
+ * Ordered broadcast that can be sent to your app to
+ * request a description and banner to be shown in
+ * Android Settings UI.
+ * When sent to you, this broadcast will contain the
+ * {@link #EXTRA_SERVICE_COMPONENT} extra to identify
+ * the service.
+ *
+ * Note that this broadcast will only be sent to your
+ * app, if a card emulation service in your app has requested
+ * its resources to be loaded dynamically.
+ */
+ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+ public static final String ACTION_REQUEST_SERVICE_RESOURCES =
+ "android.nfc.cardemulation.action.REQUEST_SERVICE_RESOURCES";
+
+ /**
+ * The description of the service. Note that this must
+ * be localized by your app, as the String will be shown
+ * as is.
+ */
+ public static final String EXTRA_DESCRIPTION =
+ "android.nfc.cardemulation.extra.DESCRIPTION";
+
+ /**
+ * The resource ID of the service banner to be shown
+ * for this service.
+ */
+ public static final String EXTRA_BANNER_RES_ID =
+ "android.nfc.cardemulation.extra.BANNER_RES_ID";
+
+ /**
* Return value for {@link #getSelectionModeForCategory(String)}.
*
* <p>In this mode, the user has set a default service for this
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index af23f11..43309c0 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -34,6 +34,7 @@
import java.io.ObjectStreamClass;
import java.io.Serializable;
import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -1375,8 +1376,7 @@
writeString(null);
return;
}
- String name = p.getClass().getName();
- writeString(name);
+ writeParcelableCreator(p);
p.writeToParcel(this, parcelableFlags);
}
@@ -2277,78 +2277,94 @@
* @throws BadParcelableException Throws BadParcelableException if there
* was an error trying to instantiate the Parcelable.
*/
+ @SuppressWarnings("unchecked")
public final <T extends Parcelable> T readParcelable(ClassLoader loader) {
- Parcelable.Creator<T> creator = readParcelableCreator(loader);
+ Parcelable.Creator<?> creator = readParcelableCreator(loader);
if (creator == null) {
return null;
}
if (creator instanceof Parcelable.ClassLoaderCreator<?>) {
- return ((Parcelable.ClassLoaderCreator<T>)creator).createFromParcel(this, loader);
+ Parcelable.ClassLoaderCreator<?> classLoaderCreator =
+ (Parcelable.ClassLoaderCreator<?>) creator;
+ return (T) classLoaderCreator.createFromParcel(this, loader);
}
- return creator.createFromParcel(this);
+ return (T) creator.createFromParcel(this);
}
/** @hide */
- public final <T extends Parcelable> T readCreator(Parcelable.Creator<T> creator,
+ @SuppressWarnings("unchecked")
+ public final <T extends Parcelable> T readCreator(Parcelable.Creator<?> creator,
ClassLoader loader) {
if (creator instanceof Parcelable.ClassLoaderCreator<?>) {
- return ((Parcelable.ClassLoaderCreator<T>)creator).createFromParcel(this, loader);
+ Parcelable.ClassLoaderCreator<?> classLoaderCreator =
+ (Parcelable.ClassLoaderCreator<?>) creator;
+ return (T) classLoaderCreator.createFromParcel(this, loader);
}
- return creator.createFromParcel(this);
+ return (T) creator.createFromParcel(this);
}
/** @hide */
- public final <T extends Parcelable> Parcelable.Creator<T> readParcelableCreator(
- ClassLoader loader) {
+ public final Parcelable.Creator<?> readParcelableCreator(ClassLoader loader) {
String name = readString();
if (name == null) {
return null;
}
- Parcelable.Creator<T> creator;
+ Parcelable.Creator<?> creator;
synchronized (mCreators) {
- HashMap<String,Parcelable.Creator> map = mCreators.get(loader);
+ HashMap<String,Parcelable.Creator<?>> map = mCreators.get(loader);
if (map == null) {
- map = new HashMap<String,Parcelable.Creator>();
+ map = new HashMap<>();
mCreators.put(loader, map);
}
creator = map.get(name);
if (creator == null) {
try {
- Class c = loader == null ?
- Class.forName(name) : Class.forName(name, true, loader);
- Field f = c.getField("CREATOR");
- creator = (Parcelable.Creator)f.get(null);
+ // If loader == null, explicitly emulate Class.forName(String) "caller
+ // classloader" behavior.
+ ClassLoader parcelableClassLoader =
+ (loader == null ? getClass().getClassLoader() : loader);
+ // Avoid initializing the Parcelable class until we know it implements
+ // Parcelable and has the necessary CREATOR field. http://b/1171613.
+ Class<?> parcelableClass = Class.forName(name, false /* initialize */,
+ parcelableClassLoader);
+ if (!Parcelable.class.isAssignableFrom(parcelableClass)) {
+ throw new BadParcelableException("Parcelable protocol requires that the "
+ + "class implements Parcelable");
+ }
+ Field f = parcelableClass.getField("CREATOR");
+ if ((f.getModifiers() & Modifier.STATIC) == 0) {
+ throw new BadParcelableException("Parcelable protocol requires "
+ + "the CREATOR object to be static on class " + name);
+ }
+ Class<?> creatorType = f.getType();
+ if (!Parcelable.Creator.class.isAssignableFrom(creatorType)) {
+ // Fail before calling Field.get(), not after, to avoid initializing
+ // parcelableClass unnecessarily.
+ throw new BadParcelableException("Parcelable protocol requires a "
+ + "Parcelable.Creator object called "
+ + "CREATOR on class " + name);
+ }
+ creator = (Parcelable.Creator<?>) f.get(null);
}
catch (IllegalAccessException e) {
- Log.e(TAG, "Illegal access when unmarshalling: "
- + name, e);
+ Log.e(TAG, "Illegal access when unmarshalling: " + name, e);
throw new BadParcelableException(
"IllegalAccessException when unmarshalling: " + name);
}
catch (ClassNotFoundException e) {
- Log.e(TAG, "Class not found when unmarshalling: "
- + name, e);
+ Log.e(TAG, "Class not found when unmarshalling: " + name, e);
throw new BadParcelableException(
"ClassNotFoundException when unmarshalling: " + name);
}
- catch (ClassCastException e) {
- throw new BadParcelableException("Parcelable protocol requires a "
- + "Parcelable.Creator object called "
- + " CREATOR on class " + name);
- }
catch (NoSuchFieldException e) {
throw new BadParcelableException("Parcelable protocol requires a "
- + "Parcelable.Creator object called "
- + " CREATOR on class " + name);
- }
- catch (NullPointerException e) {
- throw new BadParcelableException("Parcelable protocol requires "
- + "the CREATOR object to be static on class " + name);
+ + "Parcelable.Creator object called "
+ + "CREATOR on class " + name);
}
if (creator == null) {
throw new BadParcelableException("Parcelable protocol requires a "
- + "Parcelable.Creator object called "
- + " CREATOR on class " + name);
+ + "non-null Parcelable.Creator object called "
+ + "CREATOR on class " + name);
}
map.put(name, creator);
@@ -2371,7 +2387,7 @@
}
Parcelable[] p = new Parcelable[N];
for (int i = 0; i < N; i++) {
- p[i] = (Parcelable) readParcelable(loader);
+ p[i] = readParcelable(loader);
}
return p;
}
@@ -2426,8 +2442,8 @@
// Cache of previously looked up CREATOR.createFromParcel() methods for
// particular classes. Keys are the names of the classes, values are
// Method objects.
- private static final HashMap<ClassLoader,HashMap<String,Parcelable.Creator>>
- mCreators = new HashMap<ClassLoader,HashMap<String,Parcelable.Creator>>();
+ private static final HashMap<ClassLoader,HashMap<String,Parcelable.Creator<?>>>
+ mCreators = new HashMap<>();
/** @hide for internal use only. */
static protected final Parcel obtain(int obj) {
diff --git a/core/java/android/os/Parcelable.java b/core/java/android/os/Parcelable.java
index 594fbb2..448b591 100644
--- a/core/java/android/os/Parcelable.java
+++ b/core/java/android/os/Parcelable.java
@@ -19,9 +19,8 @@
/**
* Interface for classes whose instances can be written to
* and restored from a {@link Parcel}. Classes implementing the Parcelable
- * interface must also have a static field called <code>CREATOR</code>, which
- * is an object implementing the {@link Parcelable.Creator Parcelable.Creator}
- * interface.
+ * interface must also have a non-null static field called <code>CREATOR</code>
+ * of a type that implements the {@link Parcelable.Creator} interface.
*
* <p>A typical implementation of Parcelable is:</p>
*
diff --git a/core/java/android/os/storage/DiskInfo.java b/core/java/android/os/storage/DiskInfo.java
index 9f38de8..64f2a05 100644
--- a/core/java/android/os/storage/DiskInfo.java
+++ b/core/java/android/os/storage/DiskInfo.java
@@ -68,6 +68,9 @@
if (TextUtils.isEmpty(label)) {
return false;
}
+ if (label.equalsIgnoreCase("ata")) {
+ return false;
+ }
if (label.toLowerCase().contains("generic")) {
return false;
}
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index efa3ef2..f101352 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -69,6 +69,8 @@
/** {@hide} */
public static final String PROP_PRIMARY_PHYSICAL = "ro.vold.primary_physical";
+ /** {@hide} */
+ public static final String PROP_FORCE_ADOPTABLE = "persist.fw.force_adoptable";
/** {@hide} */
public static final int FLAG_ALL_METADATA = 1 << 0;
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index bf7f3cb..396cf19 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -2201,7 +2201,6 @@
public static final long DAYS_KEPT_MILLISECONDS = 1000L * 60L * 60L * 24L * (long)DAYS_KEPT;
}
-
protected interface RawContactsColumns {
/**
* A reference to the {@link ContactsContract.Contacts#_ID} that this
@@ -8921,4 +8920,147 @@
public static final String EXTRA_DATA_SET = "android.provider.extra.DATA_SET";
}
}
+
+ /**
+ * @hide
+ */
+ protected interface MetadataSyncColumns {
+
+ /**
+ * The raw contact backup id.
+ * A reference to the {@link ContactsContract.RawContacts#BACKUP_ID} that save the
+ * persistent unique id for each raw contact within its source system.
+ *
+ * @hide
+ */
+ public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
+
+ /**
+ * The account type to which the raw_contact of this item is associated. See
+ * {@link RawContacts#ACCOUNT_TYPE}
+ *
+ * @hide
+ */
+ public static final String ACCOUNT_TYPE = "account_type";
+
+ /**
+ * The account name to which the raw_contact of this item is associated. See
+ * {@link RawContacts#ACCOUNT_NAME}
+ *
+ * @hide
+ */
+ public static final String ACCOUNT_NAME = "account_name";
+
+ /**
+ * The data set within the account that the raw_contact of this row belongs to. This allows
+ * multiple sync adapters for the same account type to distinguish between
+ * each others' data.
+ * {@link RawContacts#DATA_SET}
+ *
+ * @hide
+ */
+ public static final String DATA_SET = "data_set";
+
+ /**
+ * A text column contains the Json string got from People API. The Json string contains
+ * all the metadata related to the raw contact, i.e., all the data fields and
+ * aggregation exceptions.
+ *
+ * Here is an example of the Json string got from the actual schema.
+ * <pre>
+ * {
+ * "unique_contact_id": {
+ * "account_type": "CUSTOM_ACCOUNT",
+ * "custom_account_type": "facebook",
+ * "account_name": "android-test",
+ * "contact_id": "1111111",
+ * "data_set": "FOCUS"
+ * },
+ * "contact_prefs": {
+ * "send_to_voicemail": true,
+ * "starred": false,
+ * "pinned": 2
+ * },
+ * "aggregation_data": [
+ * {
+ * "type": "TOGETHER",
+ * "contact_ids": [
+ * {
+ * "account_type": "GOOGLE_ACCOUNT",
+ * "account_name": "android-test2",
+ * "contact_id": "2222222",
+ * "data_set": "GOOGLE_PLUS"
+ * },
+ * {
+ * "account_type": "GOOGLE_ACCOUNT",
+ * "account_name": "android-test3",
+ * "contact_id": "3333333",
+ * "data_set": "CUSTOM",
+ * "custom_data_set": "custom type"
+ * }
+ * ]
+ * }
+ * ],
+ * "field_data": [
+ * {
+ * "field_data_id": "1001",
+ * "field_data_prefs": {
+ * "is_primary": true,
+ * "is_super_primary": true
+ * },
+ * "usage_stats": [
+ * {
+ * "usage_type": "CALL",
+ * "last_time_used": 10000001,
+ * "usage_count": 10
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * </pre>
+ *
+ * @hide
+ */
+ public static final String DATA = "data";
+
+ /**
+ * The "deleted" flag: "0" by default, "1" if the row has been marked
+ * for deletion. When {@link android.content.ContentResolver#delete} is
+ * called on a raw contact, updating MetadataSync table to set the flag of the raw contact
+ * as "1", then metadata sync adapter deletes the raw contact metadata on the server.
+ * <P>Type: INTEGER</P>
+ *
+ * @hide
+ */
+ public static final String DELETED = "deleted";
+ }
+
+ /**
+ * Constants for the metadata sync table. This table is used to cache the metadata_sync data
+ * from server before it is merged into other CP2 tables.
+ *
+ * @hide
+ */
+ public static final class MetadataSync implements BaseColumns, MetadataSyncColumns {
+
+ /** The authority for the contacts metadata */
+ public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
+
+ /** A content:// style uri to the authority for the contacts metadata */
+ public static final Uri METADATA_AUTHORITY_URI = Uri.parse(
+ "content://" + METADATA_AUTHORITY);
+
+ /**
+ * This utility class cannot be instantiated
+ */
+ private MetadataSync() {
+ }
+
+ /**
+ * The content:// style URI for this table.
+ */
+ public static final Uri CONTENT_URI = Uri.withAppendedPath(METADATA_AUTHORITY_URI,
+ "metadata_sync");
+ }
}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index a622a21..00c851b 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -189,6 +189,36 @@
"android.settings.USAGE_ACCESS_SETTINGS";
/**
+ * Activity Category: Show application settings related to usage access.
+ * <p>
+ * An activity that provides a user interface for adjusting usage access related
+ * preferences for its containing application. Optional but recommended for apps that
+ * use {@link android.Manifest.permission#PACKAGE_USAGE_STATS}.
+ * <p>
+ * The activity may define meta-data to describe what usage access is
+ * used for within their app with {@link #METADATA_USAGE_ACCESS_REASON}, which
+ * will be displayed in Settings.
+ * <p>
+ * Input: Nothing.
+ * <p>
+ * Output: Nothing.
+ */
+ @SdkConstant(SdkConstantType.INTENT_CATEGORY)
+ public static final String INTENT_CATEGORY_USAGE_ACCESS_CONFIG =
+ "android.intent.category.USAGE_ACCESS_CONFIG";
+
+ /**
+ * Metadata key: Reason for needing usage access.
+ * <p>
+ * A key for metadata attached to an activity that receives action
+ * {@link #INTENT_CATEGORY_USAGE_ACCESS_CONFIG}, shown to the
+ * user as description of how the app uses usage access.
+ * <p>
+ */
+ public static final String METADATA_USAGE_ACCESS_REASON =
+ "android.settings.metadata.USAGE_ACCESS_REASON";
+
+ /**
* Activity Action: Show settings to allow configuration of security and
* location privacy.
* <p>
@@ -5361,6 +5391,12 @@
public static final String SMS_DEFAULT_APPLICATION = "sms_default_application";
/**
+ * Specifies the package name currently configured to be the default dialer application
+ * @hide
+ */
+ public static final String DIALER_DEFAULT_APPLICATION = "dialer_default_application";
+
+ /**
* Specifies the package name currently configured to be the emergency assistance application
*
* @see android.telephony.TelephonyManager#ACTION_EMERGENCY_ASSISTANCE
diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java
index 70cd388..7e87717 100644
--- a/core/java/android/security/NetworkSecurityPolicy.java
+++ b/core/java/android/security/NetworkSecurityPolicy.java
@@ -46,9 +46,9 @@
* without TLS or STARTTLS) is permitted for this process.
*
* <p>When cleartext network traffic is not permitted, the platform's components (e.g. HTTP and
- * FTP stacks, {@link android.webkit.WebView}, {@link android.app.DownloadManager},
- * {@link android.media.MediaPlayer}) will refuse this process's requests to use cleartext
- * traffic. Third-party libraries are strongly encouraged to honor this setting as well.
+ * FTP stacks, {@link android.app.DownloadManager}, {@link android.media.MediaPlayer}) will
+ * refuse this process's requests to use cleartext traffic. Third-party libraries are strongly
+ * encouraged to honor this setting as well.
*
* <p>This flag is honored on a best effort basis because it's impossible to prevent all
* cleartext traffic from Android applications given the level of access provided to them. For
@@ -56,6 +56,8 @@
* because it cannot determine whether its traffic is in cleartext. However, most network
* traffic from applications is handled by higher-level network stacks/components which can
* honor this aspect of the policy.
+ *
+ * <p>NOTE: {@link android.webkit.WebView} does not honor this flag.
*/
public boolean isCleartextTrafficPermitted() {
return libcore.net.NetworkSecurityPolicy.isCleartextTrafficPermitted();
diff --git a/core/java/android/service/chooser/ChooserTarget.java b/core/java/android/service/chooser/ChooserTarget.java
index d21cc3c..f0ca276 100644
--- a/core/java/android/service/chooser/ChooserTarget.java
+++ b/core/java/android/service/chooser/ChooserTarget.java
@@ -78,7 +78,8 @@
* <p>The creator of a target may supply a ranking score. This score is assumed to be relative
* to the other targets supplied by the same
* {@link ChooserTargetService#onGetChooserTargets(ComponentName, IntentFilter) query}.
- * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).</p>
+ * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).
+ * Scores for a set of targets do not need to sum to 1.</p>
*
* <p>Before being sent, the PendingIntent supplied will be
* {@link Intent#fillIn(Intent, int) filled in} by the Intent originally supplied
@@ -113,7 +114,8 @@
* <p>The creator of a target may supply a ranking score. This score is assumed to be relative
* to the other targets supplied by the same
* {@link ChooserTargetService#onGetChooserTargets(ComponentName, IntentFilter) query}.
- * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).</p>
+ * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).
+ * Scores for a set of targets do not need to sum to 1.</p>
*
* <p>Before being sent, the IntentSender supplied will be
* {@link Intent#fillIn(Intent, int) filled in} by the Intent originally supplied
@@ -144,6 +146,32 @@
mIntentSender = intentSender;
}
+ /**
+ * Construct a deep link target for presentation by a chooser UI.
+ *
+ * <p>A target is composed of a title and an icon for presentation to the user.
+ * The UI presenting this target may truncate the title if it is too long to be presented
+ * in the available space, as well as crop, resize or overlay the supplied icon.</p>
+ *
+ * <p>The creator of a target may supply a ranking score. This score is assumed to be relative
+ * to the other targets supplied by the same
+ * {@link ChooserTargetService#onGetChooserTargets(ComponentName, IntentFilter) query}.
+ * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).
+ * Scores for a set of targets do not need to sum to 1.</p>
+ *
+ * <p>Before being sent, the Intent supplied will be
+ * {@link Intent#fillIn(Intent, int) filled in} by the Intent originally supplied
+ * to the chooser.</p>
+ *
+ * <p>Take care not to place custom {@link android.os.Parcelable} types into
+ * the Intent as extras, as the system will not be able to unparcel it to merge
+ * additional extras.</p>
+ *
+ * @param title title of this target that will be shown to a user
+ * @param icon icon to represent this target
+ * @param score ranking score for this target between 0.0f and 1.0f, inclusive
+ * @param intent Intent to fill in and send if the user chooses this target
+ */
public ChooserTarget(CharSequence title, Bitmap icon, float score, Intent intent) {
mTitle = title;
mIcon = icon;
@@ -358,6 +386,10 @@
}
dest.writeFloat(mScore);
IntentSender.writeIntentSenderOrNullToParcel(mIntentSender, dest);
+ dest.writeInt(mIntent != null ? 1 : 0);
+ if (mIntent != null) {
+ mIntent.writeToParcel(dest, 0);
+ }
}
public static final Creator<ChooserTarget> CREATOR
diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java
index 5cf2c5c..b055efe 100644
--- a/core/java/android/view/ScaleGestureDetector.java
+++ b/core/java/android/view/ScaleGestureDetector.java
@@ -130,7 +130,7 @@
private float mFocusY;
private boolean mQuickScaleEnabled;
- private boolean mButtonScaleEnabled;
+ private boolean mStylusScaleEnabled;
private float mCurrSpan;
private float mPrevSpan;
@@ -162,7 +162,7 @@
private static final float SCALE_FACTOR = .5f;
private static final int ANCHORED_SCALE_MODE_NONE = 0;
private static final int ANCHORED_SCALE_MODE_DOUBLE_TAP = 1;
- private static final int ANCHORED_SCALE_MODE_BUTTON = 2;
+ private static final int ANCHORED_SCALE_MODE_STYLUS = 2;
/**
@@ -212,9 +212,14 @@
mMinSpan = res.getDimensionPixelSize(com.android.internal.R.dimen.config_minScalingSpan);
mHandler = handler;
// Quick scale is enabled by default after JB_MR2
- if (context.getApplicationInfo().targetSdkVersion > Build.VERSION_CODES.JELLY_BEAN_MR2) {
+ final int targetSdkVersion = context.getApplicationInfo().targetSdkVersion;
+ if (targetSdkVersion > Build.VERSION_CODES.JELLY_BEAN_MR2) {
setQuickScaleEnabled(true);
}
+ // Stylus scale is enabled by default after LOLLIPOP_MR1
+ if (targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1) {
+ setStylusScaleEnabled(true);
+ }
}
/**
@@ -315,14 +320,11 @@
}
final int count = event.getPointerCount();
- final int toolType = event.getToolType(0);
- final boolean isButtonTool = toolType == MotionEvent.TOOL_TYPE_STYLUS
- || toolType == MotionEvent.TOOL_TYPE_MOUSE;
- final boolean isAnchoredScaleButtonDown = isButtonTool && (count == 1)
+ final boolean isStylusButtonDown = (event.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS)
&& (event.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0;
final boolean anchoredScaleCancelled =
- mAnchoredScaleMode == ANCHORED_SCALE_MODE_BUTTON && !isAnchoredScaleButtonDown;
+ mAnchoredScaleMode == ANCHORED_SCALE_MODE_STYLUS && !isStylusButtonDown;
final boolean streamComplete = action == MotionEvent.ACTION_UP ||
action == MotionEvent.ACTION_CANCEL || anchoredScaleCancelled;
@@ -347,12 +349,12 @@
}
}
- if (!mInProgress && mButtonScaleEnabled && !inAnchoredScaleMode()
- && !streamComplete && isAnchoredScaleButtonDown) {
+ if (!mInProgress && mStylusScaleEnabled && !inAnchoredScaleMode()
+ && !streamComplete && isStylusButtonDown) {
// Start of a button scale gesture
mAnchoredScaleStartX = event.getX();
mAnchoredScaleStartY = event.getY();
- mAnchoredScaleMode = ANCHORED_SCALE_MODE_BUTTON;
+ mAnchoredScaleMode = ANCHORED_SCALE_MODE_STYLUS;
mInitialSpan = 0;
}
@@ -503,24 +505,22 @@
}
/**
- * Sets whether the associates {@link OnScaleGestureListener} should receive onScale callbacks
- * when the user presses a {@value MotionEvent#BUTTON_SECONDARY} (right mouse button, stylus
- * first button) and drags the pointer on the screen. Note that this is enabled by default if
- * the app targets API 23 and newer.
+ * Sets whether the associates {@link OnScaleGestureListener} should receive
+ * onScale callbacks when the user uses a stylus and presses the button.
+ * Note that this is enabled by default if the app targets API 23 and newer.
*
- * @param scales true to enable stylus or mouse scaling, false to disable.
+ * @param scales true to enable stylus scaling, false to disable.
*/
- public void setSecondaryButtonScaleEnabled(boolean scales) {
- mButtonScaleEnabled = scales;
+ public void setStylusScaleEnabled(boolean scales) {
+ mStylusScaleEnabled = scales;
}
/**
- * Return whether the button scale gesture, in which the user presses a
- * {@value MotionEvent#BUTTON_SECONDARY} (right mouse button, stylus first button) and drags the
- * pointer on the screen, should perform scaling. {@see #setButtonScaleEnabled(boolean)}.
+ * Return whether the stylus scale gesture, in which the user uses a stylus
+ * and presses the button, should preform scaling. {@see #setButtonScaleEnabled(boolean)}.
*/
- public boolean isSecondaryButtonScaleEnabled() {
- return mButtonScaleEnabled;
+ public boolean isStylusScaleEnabled() {
+ return mStylusScaleEnabled;
}
/**
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 52e0235..5c6ce76 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -631,6 +631,7 @@
* </p>
*
* @attr ref android.R.styleable#View_alpha
+ * @attr ref android.R.styleable#View_assistBlocked
* @attr ref android.R.styleable#View_background
* @attr ref android.R.styleable#View_clickable
* @attr ref android.R.styleable#View_contentDescription
@@ -2324,6 +2325,10 @@
* 1 PFLAG3_IS_LAID_OUT
* 1 PFLAG3_MEASURE_NEEDED_BEFORE_LAYOUT
* 1 PFLAG3_CALLED_SUPER
+ * 1 PFLAG3_APPLYING_INSETS
+ * 1 PFLAG3_FITTING_SYSTEM_WINDOWS
+ * 1 PFLAG3_NESTED_SCROLLING_ENABLED
+ * 1 PFLAG3_ASSIST_BLOCKED
* |-------|-------|-------|-------|
*/
@@ -2381,6 +2386,12 @@
static final int DRAG_MASK = PFLAG2_DRAG_CAN_ACCEPT | PFLAG2_DRAG_HOVERED;
/**
+ * <p>Indicates that we are allowing {@link android.view.ViewAssistStructure} to traverse
+ * into this view.<p>
+ */
+ static final int PFLAG3_ASSIST_BLOCKED = 0x100;
+
+ /**
* Always allow a user to over-scroll this view, provided it is a
* view that can scroll.
*
@@ -3869,6 +3880,11 @@
viewFlagMasks |= SAVE_DISABLED_MASK;
}
break;
+ case com.android.internal.R.styleable.View_assistBlocked:
+ if (a.getBoolean(attr, false)) {
+ mPrivateFlags3 |= PFLAG3_ASSIST_BLOCKED;
+ }
+ break;
case com.android.internal.R.styleable.View_duplicateParentState:
if (a.getBoolean(attr, false)) {
viewFlagValues |= DUPLICATE_PARENT_STATE;
@@ -5775,7 +5791,7 @@
} else {
structure.setId(id, null, null, null);
}
- structure.setDimens(mLeft, mTop, mScrollX, mScrollY, mRight-mLeft, mBottom-mTop);
+ structure.setDimens(mLeft, mTop, mScrollX, mScrollY, mRight - mLeft, mBottom - mTop);
structure.setVisibility(getVisibility());
structure.setEnabled(isEnabled());
if (isClickable()) {
@@ -5890,8 +5906,13 @@
* {@link #onProvideVirtualAssistStructure}.
*/
public void dispatchProvideAssistStructure(ViewAssistStructure structure) {
- onProvideAssistStructure(structure);
- onProvideVirtualAssistStructure(structure);
+ if (!isAssistBlocked()) {
+ onProvideAssistStructure(structure);
+ onProvideVirtualAssistStructure(structure);
+ } else {
+ structure.setClassName(getAccessibilityClassName().toString());
+ structure.setAssistBlocked(true);
+ }
}
/**
@@ -7458,6 +7479,42 @@
}
/**
+ * Indicates whether this view will participate in data collection through
+ * {@link android.view.ViewAssistStructure}. If true, it will not provide any data
+ * for itself or its children. If false, the normal data collection will be allowed.
+ *
+ * @return Returns false if assist data collection is not blocked, else true.
+ *
+ * @see #setAssistBlocked(boolean)
+ * @attr ref android.R.styleable#View_assistBlocked
+ */
+ public boolean isAssistBlocked() {
+ return (mPrivateFlags3 & PFLAG3_ASSIST_BLOCKED) != 0;
+ }
+
+ /**
+ * Controls whether assist data collection from this view and its children is enabled
+ * (that is, whether {@link #onProvideAssistStructure} and
+ * {@link #onProvideVirtualAssistStructure} will be called). The default value is false,
+ * allowing normal assist collection. Setting this to false will disable assist collection.
+ *
+ * @param enabled Set to true to <em>disable</em> assist data collection, or false
+ * (the default) to allow it.
+ *
+ * @see #isAssistBlocked()
+ * @see #onProvideAssistStructure
+ * @see #onProvideVirtualAssistStructure
+ * @attr ref android.R.styleable#View_assistBlocked
+ */
+ public void setAssistBlocked(boolean enabled) {
+ if (enabled) {
+ mPrivateFlags3 |= PFLAG3_ASSIST_BLOCKED;
+ } else {
+ mPrivateFlags3 &= ~PFLAG3_ASSIST_BLOCKED;
+ }
+ }
+
+ /**
* Indicates whether this view will save its state (that is,
* whether its {@link #onSaveInstanceState} method will be called).
*
@@ -15301,9 +15358,10 @@
RenderNode renderNode = null;
Bitmap cache = null;
- int layerType = getLayerType();
+ int layerType = getLayerType(); // TODO: signify cache state with just 'cache' local
if (layerType == LAYER_TYPE_SOFTWARE
|| (!drawingWithRenderNode && layerType != LAYER_TYPE_NONE)) {
+ // If not drawing with RenderNode, treat HW layers as SW
layerType = LAYER_TYPE_SOFTWARE;
buildDrawingCache(true);
cache = getDrawingCache(true);
@@ -15330,10 +15388,8 @@
sy = mScrollY;
}
- final boolean hasNoCache = cache == null || drawingWithRenderNode;
- final boolean offsetForScroll = cache == null
- && !drawingWithRenderNode
- && layerType != LAYER_TYPE_HARDWARE;
+ final boolean drawingWithDrawingCache = cache != null && !drawingWithRenderNode;
+ final boolean offsetForScroll = cache == null && !drawingWithRenderNode;
int restoreTo = -1;
if (!drawingWithRenderNode || transformToApply != null) {
@@ -15406,17 +15462,16 @@
mPrivateFlags3 &= ~PFLAG3_VIEW_IS_ANIMATING_ALPHA;
}
parent.mGroupFlags |= ViewGroup.FLAG_CLEAR_TRANSFORMATION;
- if (hasNoCache) {
+ if (!drawingWithDrawingCache) {
final int multipliedAlpha = (int) (255 * alpha);
if (!onSetAlpha(multipliedAlpha)) {
- int layerFlags = Canvas.HAS_ALPHA_LAYER_SAVE_FLAG;
- if ((parentFlags & ViewGroup.FLAG_CLIP_CHILDREN) != 0
- || layerType != LAYER_TYPE_NONE) {
- layerFlags |= Canvas.CLIP_TO_LAYER_SAVE_FLAG;
- }
if (drawingWithRenderNode) {
renderNode.setAlpha(alpha * getAlpha() * getTransitionAlpha());
} else if (layerType == LAYER_TYPE_NONE) {
+ int layerFlags = Canvas.HAS_ALPHA_LAYER_SAVE_FLAG;
+ if ((parentFlags & ViewGroup.FLAG_CLIP_CHILDREN) != 0) {
+ layerFlags |= Canvas.CLIP_TO_LAYER_SAVE_FLAG;
+ }
canvas.saveLayerAlpha(sx, sy, sx + getWidth(), sy + getHeight(),
multipliedAlpha, layerFlags);
}
@@ -15451,33 +15506,17 @@
}
}
- if (hasNoCache) {
- boolean layerRendered = false;
- if (layerType == LAYER_TYPE_HARDWARE && !drawingWithRenderNode) {
- final HardwareLayer layer = getHardwareLayer();
- if (layer != null && layer.isValid()) {
- int restoreAlpha = mLayerPaint.getAlpha();
- mLayerPaint.setAlpha((int) (alpha * 255));
- ((DisplayListCanvas) canvas).drawHardwareLayer(layer, 0, 0, mLayerPaint);
- mLayerPaint.setAlpha(restoreAlpha);
- layerRendered = true;
- } else {
- canvas.saveLayer(sx, sy, sx + getWidth(), sy + getHeight(), mLayerPaint);
- }
- }
-
- if (!layerRendered) {
- if (!drawingWithRenderNode) {
- // Fast path for layouts with no backgrounds
- if ((mPrivateFlags & PFLAG_SKIP_DRAW) == PFLAG_SKIP_DRAW) {
- mPrivateFlags &= ~PFLAG_DIRTY_MASK;
- dispatchDraw(canvas);
- } else {
- draw(canvas);
- }
- } else {
+ if (!drawingWithDrawingCache) {
+ if (drawingWithRenderNode) {
+ mPrivateFlags &= ~PFLAG_DIRTY_MASK;
+ ((DisplayListCanvas) canvas).drawRenderNode(renderNode, parentFlags);
+ } else {
+ // Fast path for layouts with no backgrounds
+ if ((mPrivateFlags & PFLAG_SKIP_DRAW) == PFLAG_SKIP_DRAW) {
mPrivateFlags &= ~PFLAG_DIRTY_MASK;
- ((DisplayListCanvas) canvas).drawRenderNode(renderNode, parentFlags);
+ dispatchDraw(canvas);
+ } else {
+ draw(canvas);
}
}
} else if (cache != null) {
diff --git a/core/java/android/view/ViewAssistStructure.java b/core/java/android/view/ViewAssistStructure.java
index 7d263c5..346b8ec 100644
--- a/core/java/android/view/ViewAssistStructure.java
+++ b/core/java/android/view/ViewAssistStructure.java
@@ -32,6 +32,8 @@
public abstract void setVisibility(int visibility);
+ public abstract void setAssistBlocked(boolean state);
+
public abstract void setEnabled(boolean state);
public abstract void setClickable(boolean state);
diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java
index a237afd..27304f5 100644
--- a/core/java/android/view/ViewDebug.java
+++ b/core/java/android/view/ViewDebug.java
@@ -1040,14 +1040,10 @@
return methods;
}
- final ArrayList<Method> declaredMethods = new ArrayList();
- klass.getDeclaredMethodsUnchecked(false, declaredMethods);
+ methods = klass.getDeclaredMethodsUnchecked(false);
final ArrayList<Method> foundMethods = new ArrayList<Method>();
- final int count = declaredMethods.size();
- for (int i = 0; i < count; i++) {
- final Method method = declaredMethods.get(i);
-
+ for (final Method method : methods) {
// Ensure the method return and parameter types can be resolved.
try {
method.getReturnType();
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 8f2be99..4324e75 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -2881,21 +2881,23 @@
*/
public void dispatchProvideAssistStructure(ViewAssistStructure structure) {
super.dispatchProvideAssistStructure(structure);
- if (structure.getChildCount() == 0) {
- final int childrenCount = getChildCount();
- if (childrenCount > 0) {
- structure.setChildCount(childrenCount);
- final ArrayList<View> preorderedList = buildOrderedChildList();
- final boolean customOrder = preorderedList == null
- && isChildrenDrawingOrderEnabled();
- final View[] children = mChildren;
- for (int i=0; i<childrenCount; i++) {
- final int childIndex = customOrder
- ? getChildDrawingOrder(childrenCount, i) : i;
- final View child = (preorderedList == null)
- ? children[childIndex] : preorderedList.get(childIndex);
- ViewAssistStructure cstructure = structure.newChild(i);
- child.dispatchProvideAssistStructure(cstructure);
+ if (!isAssistBlocked()) {
+ if (structure.getChildCount() == 0) {
+ final int childrenCount = getChildCount();
+ if (childrenCount > 0) {
+ structure.setChildCount(childrenCount);
+ final ArrayList<View> preorderedList = buildOrderedChildList();
+ final boolean customOrder = preorderedList == null
+ && isChildrenDrawingOrderEnabled();
+ final View[] children = mChildren;
+ for (int i=0; i<childrenCount; i++) {
+ final int childIndex = customOrder
+ ? getChildDrawingOrder(childrenCount, i) : i;
+ final View child = (preorderedList == null)
+ ? children[childIndex] : preorderedList.get(childIndex);
+ ViewAssistStructure cstructure = structure.newChild(i);
+ child.dispatchProvideAssistStructure(cstructure);
+ }
}
}
}
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index 943beb0..453e4f5 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -900,7 +900,9 @@
* and therefore secure policy, this setting should be disabled.
* Note that this setting affects only JavaScript access to file scheme
* resources. Other access to such resources, for example, from image HTML
- * elements, is unaffected.
+ * elements, is unaffected. To prevent possible violation of same domain policy
+ * on {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH} and earlier
+ * devices, you should explicitly set this value to {@code false}.
* <p>
* The default value is true for API level
* {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below,
@@ -920,7 +922,9 @@
* the value of {@link #getAllowUniversalAccessFromFileURLs} is true.
* Note too, that this setting affects only JavaScript access to file scheme
* resources. Other access to such resources, for example, from image HTML
- * elements, is unaffected.
+ * elements, is unaffected. To prevent possible violation of same domain policy
+ * on {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH} and earlier
+ * devices, you should explicitly set this value to {@code false}.
* <p>
* The default value is true for API level
* {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below,
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 955ad06..b049e49 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -39,7 +39,6 @@
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.inputmethodservice.ExtractEditText;
-import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcel;
@@ -104,7 +103,6 @@
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;
-import com.android.internal.view.menu.MenuBuilder;
import com.android.internal.widget.EditableInputConnection;
import java.text.BreakIterator;
@@ -1764,15 +1762,55 @@
}
/**
- * @return <code>true</code> if the cursor/current selection overlaps a {@link SuggestionSpan}.
+ * @return <code>true</code> if it's reasonable to offer to show suggestions depending on
+ * the current cursor position or selection range. This method is consistent with the
+ * method to show suggestions {@link SuggestionsPopupWindow#updateSuggestions}.
*/
- private boolean isCursorInsideSuggestionSpan() {
+ private boolean shouldOfferToShowSuggestions() {
CharSequence text = mTextView.getText();
if (!(text instanceof Spannable)) return false;
- SuggestionSpan[] suggestionSpans = ((Spannable) text).getSpans(
- mTextView.getSelectionStart(), mTextView.getSelectionEnd(), SuggestionSpan.class);
- return (suggestionSpans.length > 0);
+ final Spannable spannable = (Spannable) text;
+ final int selectionStart = mTextView.getSelectionStart();
+ final int selectionEnd = mTextView.getSelectionEnd();
+ final SuggestionSpan[] suggestionSpans = spannable.getSpans(selectionStart, selectionEnd,
+ SuggestionSpan.class);
+ if (suggestionSpans.length == 0) {
+ return false;
+ }
+ if (selectionStart == selectionEnd) {
+ // Spans overlap the cursor.
+ return true;
+ }
+ int minSpanStart = mTextView.getText().length();
+ int maxSpanEnd = 0;
+ int unionOfSpansCoveringSelectionStartStart = mTextView.getText().length();
+ int unionOfSpansCoveringSelectionStartEnd = 0;
+ for (int i = 0; i < suggestionSpans.length; i++) {
+ final int spanStart = spannable.getSpanStart(suggestionSpans[i]);
+ final int spanEnd = spannable.getSpanEnd(suggestionSpans[i]);
+ minSpanStart = Math.min(minSpanStart, spanStart);
+ maxSpanEnd = Math.max(maxSpanEnd, spanEnd);
+ if (selectionStart < spanStart || selectionStart > spanEnd) {
+ // The span doesn't cover the current selection start point.
+ continue;
+ }
+ unionOfSpansCoveringSelectionStartStart =
+ Math.min(unionOfSpansCoveringSelectionStartStart, spanStart);
+ unionOfSpansCoveringSelectionStartEnd =
+ Math.max(unionOfSpansCoveringSelectionStartEnd, spanEnd);
+ }
+ if (unionOfSpansCoveringSelectionStartStart >= unionOfSpansCoveringSelectionStartEnd) {
+ // No spans cover the selection start point.
+ return false;
+ }
+ if (minSpanStart < unionOfSpansCoveringSelectionStartStart
+ || maxSpanEnd > unionOfSpansCoveringSelectionStartEnd) {
+ // There is a span that is not covered by the union. In this case, we soouldn't offer
+ // to show suggestions as it's confusing.
+ return false;
+ }
+ return true;
}
/**
@@ -3020,18 +3058,8 @@
}
private void populateMenuWithItems(Menu menu) {
- final boolean legacy = mTextView.getContext().getApplicationInfo().targetSdkVersion <
- Build.VERSION_CODES.LOLLIPOP;
- final Context context = !legacy && menu instanceof MenuBuilder ?
- ((MenuBuilder) menu).getContext() :
- mTextView.getContext();
- final TypedArray styledAttributes = context.obtainStyledAttributes(
- com.android.internal.R.styleable.SelectionModeDrawables);
-
if (mTextView.canCut()) {
menu.add(0, TextView.ID_CUT, 0, com.android.internal.R.string.cut).
- setIcon(styledAttributes.getResourceId(
- R.styleable.SelectionModeDrawables_actionModeCutDrawable, 0)).
setAlphabeticShortcut('x').
setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -3039,8 +3067,6 @@
if (mTextView.canCopy()) {
menu.add(0, TextView.ID_COPY, 0, com.android.internal.R.string.copy).
- setIcon(styledAttributes.getResourceId(
- R.styleable.SelectionModeDrawables_actionModeCopyDrawable, 0)).
setAlphabeticShortcut('c').
setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -3048,23 +3074,23 @@
if (mTextView.canPaste()) {
menu.add(0, TextView.ID_PASTE, 0, com.android.internal.R.string.paste).
- setIcon(styledAttributes.getResourceId(
- R.styleable.SelectionModeDrawables_actionModePasteDrawable, 0)).
setAlphabeticShortcut('v').
setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
+ if (mTextView.canShare()) {
+ menu.add(0, TextView.ID_SHARE, 0, com.android.internal.R.string.share).
+ setShowAsAction(
+ MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+ }
+
menu.add(0, TextView.ID_SELECT_ALL, 0, com.android.internal.R.string.selectAll).
- setIcon(styledAttributes.getResourceId(
- R.styleable.SelectionModeDrawables_actionModeSelectAllDrawable, 0)).
setAlphabeticShortcut('a').
setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
updateReplaceItem(menu);
-
- styledAttributes.recycle();
}
private void addIntentMenuItemsForTextProcessing(Menu menu) {
@@ -3104,7 +3130,7 @@
}
private void updateReplaceItem(Menu menu) {
- boolean canReplace = mTextView.isSuggestionsEnabled() && isCursorInsideSuggestionSpan();
+ boolean canReplace = mTextView.isSuggestionsEnabled() && shouldOfferToShowSuggestions();
boolean replaceItemExists = menu.findItem(TextView.ID_REPLACE) != null;
if (canReplace && !replaceItemExists) {
menu.add(0, TextView.ID_REPLACE, 0, com.android.internal.R.string.replace).
@@ -4025,9 +4051,9 @@
positionCursor = true;
} else if (offset + mTouchWordOffset < mPreviousOffset) {
// User is shrinking the selection.
- if (currLine > mPrevLine) {
+ if (currLine < mPrevLine) {
// We're on a different line, so we'll snap to word boundaries.
- offset = getWordStart(offset);
+ offset = start;
}
offset += mTouchWordOffset;
positionCursor = true;
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 726b89a..3e8df08 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8955,13 +8955,14 @@
static final int ID_CUT = android.R.id.cut;
static final int ID_COPY = android.R.id.copy;
static final int ID_PASTE = android.R.id.paste;
+ static final int ID_SHARE = android.R.id.shareText;
static final int ID_PASTE_AS_PLAIN_TEXT = android.R.id.pasteAsPlainText;
static final int ID_REPLACE = android.R.id.replaceText;
/**
* Called when a context menu option for the text view is selected. Currently
* this will be one of {@link android.R.id#selectAll}, {@link android.R.id#cut},
- * {@link android.R.id#copy} or {@link android.R.id#paste}.
+ * {@link android.R.id#copy}, {@link android.R.id#paste} or {@link android.R.id#shareText}.
*
* @return true if the context menu item action was performed.
*/
@@ -9014,6 +9015,10 @@
setPrimaryClip(ClipData.newPlainText(null, getTransformedText(min, max)));
stopSelectionActionMode();
return true;
+
+ case ID_SHARE:
+ shareSelectedText();
+ return true;
}
return false;
}
@@ -9091,15 +9096,15 @@
* If provided, this ActionMode.Callback will be used to create the ActionMode when text
* selection is initiated in this View.
*
- * The standard implementation populates the menu with a subset of Select All, Cut, Copy and
- * Paste actions, depending on what this View supports.
+ * The standard implementation populates the menu with a subset of Select All, Cut, Copy,
+ * Paste and Share actions, depending on what this View supports.
*
* A custom implementation can add new entries in the default menu in its
* {@link android.view.ActionMode.Callback#onPrepareActionMode(ActionMode, Menu)} method. The
* default actions can also be removed from the menu using
* {@link android.view.Menu#removeItem(int)} and passing {@link android.R.id#selectAll},
- * {@link android.R.id#cut}, {@link android.R.id#copy} or {@link android.R.id#paste} ids as
- * parameters.
+ * {@link android.R.id#cut}, {@link android.R.id#copy}, {@link android.R.id#paste} or
+ * {@link android.R.id#shareText} ids as parameters.
*
* Returning false from
* {@link android.view.ActionMode.Callback#onCreateActionMode(ActionMode, Menu)} will prevent
@@ -9168,6 +9173,10 @@
return false;
}
+ boolean canShare() {
+ return canCopy();
+ }
+
boolean canPaste() {
return (mText instanceof Editable &&
mEditor != null && mEditor.mKeyListener != null &&
@@ -9241,6 +9250,18 @@
}
}
+ private void shareSelectedText() {
+ String selectedText = getSelectedText();
+ if (selectedText != null && !selectedText.isEmpty()) {
+ Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
+ sharingIntent.setType("text/plain");
+ sharingIntent.removeExtra(android.content.Intent.EXTRA_TEXT);
+ sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, selectedText);
+ getContext().startActivity(Intent.createChooser(sharingIntent, null));
+ stopSelectionActionMode();
+ }
+ }
+
private void setPrimaryClip(ClipData clip) {
ClipboardManager clipboard = (ClipboardManager) getContext().
getSystemService(Context.CLIPBOARD_SERVICE);
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 8403e77..a6c39e6 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -401,6 +401,11 @@
}
@Override
+ public boolean shouldGetResolvedFilter() {
+ return true;
+ }
+
+ @Override
public int getCount() {
int count = super.getCount();
if (mServiceTargets != null) {
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 3cd69a1..7f51d92 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -1062,7 +1062,7 @@
} else {
currentResolveList = mOrigResolveList = mPm.queryIntentActivities(mIntent,
PackageManager.MATCH_DEFAULT_ONLY
- | (mFilterLastUsed ? PackageManager.GET_RESOLVED_FILTER : 0)
+ | (shouldGetResolvedFilter() ? PackageManager.GET_RESOLVED_FILTER : 0)
| (shouldGetActivityMetadata() ? PackageManager.GET_META_DATA : 0)
);
// Filter out any activities that the launched uid does not
@@ -1188,6 +1188,10 @@
// This space for rent
}
+ public boolean shouldGetResolvedFilter() {
+ return mFilterLastUsed;
+ }
+
private void processGroup(List<ResolveInfo> rList, int start, int end, ResolveInfo ro,
CharSequence roLabel) {
// Process labels from start to i
diff --git a/core/java/com/android/internal/logging/EventLogTags.logtags b/core/java/com/android/internal/logging/EventLogTags.logtags
index b9208ff..4364cc3 100644
--- a/core/java/com/android/internal/logging/EventLogTags.logtags
+++ b/core/java/com/android/internal/logging/EventLogTags.logtags
@@ -4,6 +4,6 @@
# interaction logs
524287 sysui_view_visibility (category|1|5),(visible|1|6)
-524288 sysui_action (category|1|5)
+524288 sysui_action (category|1|5),(pkg|3)
524290 sysui_count (name|3),(increment|1)
524291 sysui_histogram (name|3),(bucket|1)
diff --git a/core/java/com/android/internal/logging/MetricsLogger.java b/core/java/com/android/internal/logging/MetricsLogger.java
index 24b5d0d..092c148 100644
--- a/core/java/com/android/internal/logging/MetricsLogger.java
+++ b/core/java/com/android/internal/logging/MetricsLogger.java
@@ -30,6 +30,7 @@
public static final int NOTIFICATION_ZEN_MODE_SCHEDULE_RULE = 144;
public static final int NOTIFICATION_ZEN_MODE_EXTERNAL_RULE = 145;
+ public static final int ACTION_BAN_APP_NOTES = 146;
public static void visible(Context context, int category) throws IllegalArgumentException {
if (Build.IS_DEBUGGABLE && category == VIEW_UNKNOWN) {
@@ -46,10 +47,14 @@
}
public static void action(Context context, int category) {
+ action(context, category, "");
+ }
+
+ public static void action(Context context, int category, String pkg) {
if (Build.IS_DEBUGGABLE && category == VIEW_UNKNOWN) {
throw new IllegalArgumentException("Must define metric category");
}
- EventLogTags.writeSysuiAction(category);
+ EventLogTags.writeSysuiAction(category, pkg);
}
/** Add an integer value to the monotonically increasing counter with the given name. */
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 48f0e71..5ed4f70 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -269,11 +269,11 @@
if (false) {
Log.v(TAG, "Preloading " + line + "...");
}
- // Load and explicitly initialize the given class. Use the tree-argument version
- // of forName to avoid repeated stack lookups (to derive the caller's
- // class-loader). Use true to force initialization, and null for the boot
- // classpath class-loader (could as well cache the class-loader of this class in
- // a variable).
+ // Load and explicitly initialize the given class. Use
+ // Class.forName(String, boolean, ClassLoader) to avoid repeated stack lookups
+ // (to derive the caller's class-loader). Use true to force initialization, and
+ // null for the boot classpath class-loader (could as well cache the
+ // class-loader of this class in a variable).
Class.forName(line, true, null);
count++;
} catch (ClassNotFoundException e) {
diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java
index a14e98d..3a1e0ca 100644
--- a/core/java/com/android/internal/widget/FloatingToolbar.java
+++ b/core/java/com/android/internal/widget/FloatingToolbar.java
@@ -346,6 +346,17 @@
};
private final Region mTouchableRegion = new Region();
+ private final ViewTreeObserver.OnComputeInternalInsetsListener mInsetsComputer =
+ new ViewTreeObserver.OnComputeInternalInsetsListener() {
+ public void onComputeInternalInsets(
+ ViewTreeObserver.InternalInsetsInfo info) {
+ info.contentInsets.setEmpty();
+ info.visibleInsets.setEmpty();
+ info.touchableRegion.set(mTouchableRegion);
+ info.setTouchableInsets(ViewTreeObserver.InternalInsetsInfo
+ .TOUCHABLE_INSETS_REGION);
+ }
+ };
private boolean mDismissed = true; // tracks whether this popup is dismissed or dismissing.
private boolean mHidden; // tracks whether this popup is hidden or hiding.
@@ -382,21 +393,6 @@
mPopupWindow.dismiss();
}
});
- // Make the touchable area of this popup be the area specified by mTouchableRegion.
- mPopupWindow.getContentView()
- .getRootView()
- .getViewTreeObserver()
- .addOnComputeInternalInsetsListener(
- new ViewTreeObserver.OnComputeInternalInsetsListener() {
- public void onComputeInternalInsets(
- ViewTreeObserver.InternalInsetsInfo info) {
- info.contentInsets.setEmpty();
- info.visibleInsets.setEmpty();
- info.touchableRegion.set(mTouchableRegion);
- info.setTouchableInsets(ViewTreeObserver.InternalInsetsInfo
- .TOUCHABLE_INSETS_REGION);
- }
- });
mMarginHorizontal = parent.getResources()
.getDimensionPixelSize(R.dimen.floating_toolbar_horizontal_margin);
mMarginVertical = parent.getResources()
@@ -437,16 +433,15 @@
mHidden = false;
mDismissed = false;
- cancelAllAnimations();
+ cancelDismissAndHideAnimations();
+ cancelOverflowAnimations();
// Make sure a panel is set as the content.
if (mContentContainer.getChildCount() == 0) {
setMainPanelAsContent();
}
preparePopupContent();
- // If we're yet to show the popup, set the container visibility to zero.
- // The "show" animation will make this visible.
- mContentContainer.setAlpha(0);
mPopupWindow.showAtLocation(mParent, Gravity.NO_GRAVITY, x, y);
+ setTouchableSurfaceInsetsComputer();
runShowAnimation();
}
@@ -454,12 +449,13 @@
* Gets rid of this popup. If the popup isn't currently showing, this will be a no-op.
*/
public void dismiss() {
- if (!isShowing()) {
+ if (mDismissed) {
return;
}
mHidden = false;
mDismissed = true;
+ mHideAnimation.cancel();
runDismissAnimation();
setZeroTouchableSurface();
}
@@ -502,7 +498,7 @@
return;
}
- cancelAllAnimations();
+ cancelOverflowAnimations();
preparePopupContent();
mPopupWindow.update(x, y, getWidth(), getHeight());
}
@@ -566,10 +562,12 @@
mHideAnimation.start();
}
- private void cancelAllAnimations() {
- mShowAnimation.cancel();
+ private void cancelDismissAndHideAnimations() {
mDismissAnimation.cancel();
mHideAnimation.cancel();
+ }
+
+ private void cancelOverflowAnimations() {
mOpenOverflowAnimation.cancel();
mCloseOverflowAnimation.cancel();
}
@@ -804,6 +802,19 @@
(int) mContentContainer.getX() + width,
(int) mContentContainer.getY() + height);
}
+
+ /**
+ * Make the touchable area of this popup be the area specified by mTouchableRegion.
+ * This should be called after the popup window has been dismissed (dismiss/hide)
+ * and is probably being re-shown with a new content root view.
+ */
+ private void setTouchableSurfaceInsetsComputer() {
+ ViewTreeObserver viewTreeObserver = mPopupWindow.getContentView()
+ .getRootView()
+ .getViewTreeObserver();
+ viewTreeObserver.removeOnComputeInternalInsetsListener(mInsetsComputer);
+ viewTreeObserver.addOnComputeInternalInsetsListener(mInsetsComputer);
+ }
}
/**
diff --git a/core/java/com/android/server/backup/PreferredActivityBackupHelper.java b/core/java/com/android/server/backup/PreferredActivityBackupHelper.java
index 6ac0d89..26f5bf4 100644
--- a/core/java/com/android/server/backup/PreferredActivityBackupHelper.java
+++ b/core/java/com/android/server/backup/PreferredActivityBackupHelper.java
@@ -17,159 +17,58 @@
package com.android.server.backup;
import android.app.AppGlobals;
-import android.app.backup.BackupDataInputStream;
-import android.app.backup.BackupDataOutput;
-import android.app.backup.BackupHelper;
-import android.content.Context;
+import android.app.backup.BlobBackupHelper;
import android.content.pm.IPackageManager;
-import android.os.IBinder;
-import android.os.ParcelFileDescriptor;
-import android.os.ServiceManager;
import android.os.UserHandle;
import android.util.Slog;
-import android.util.Xml;
-import com.android.internal.util.FastXmlSerializer;
-import com.android.org.bouncycastle.util.Arrays;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlSerializer;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.EOFException;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-public class PreferredActivityBackupHelper implements BackupHelper {
+public class PreferredActivityBackupHelper extends BlobBackupHelper {
private static final String TAG = "PreferredBackup";
- private static final boolean DEBUG = true;
+ private static final boolean DEBUG = false;
// current schema of the backup state blob
- private static final int STATE_VERSION = 1;
+ private static final int STATE_VERSION = 2;
// key under which the preferred-activity state blob is committed to backup
private static final String KEY_PREFERRED = "preferred-activity";
- final Context mContext;
-
- public PreferredActivityBackupHelper(Context context) {
- mContext = context;
- }
-
- // The fds passed here are shared among all helpers, so we mustn't close them
- private void writeState(ParcelFileDescriptor stateFile, byte[] payload) {
- try {
- FileOutputStream fos = new FileOutputStream(stateFile.getFileDescriptor());
-
- // We explicitly don't close 'out' because we must not close the backing fd.
- // The FileOutputStream will not close it implicitly.
- @SuppressWarnings("resource")
- DataOutputStream out = new DataOutputStream(fos);
-
- out.writeInt(STATE_VERSION);
- if (payload == null) {
- out.writeInt(0);
- } else {
- out.writeInt(payload.length);
- out.write(payload);
- }
- } catch (IOException e) {
- Slog.e(TAG, "Unable to write updated state", e);
- }
- }
-
- private byte[] readState(ParcelFileDescriptor oldStateFd) {
- FileInputStream fis = new FileInputStream(oldStateFd.getFileDescriptor());
- BufferedInputStream bis = new BufferedInputStream(fis);
-
- @SuppressWarnings("resource")
- DataInputStream in = new DataInputStream(bis);
-
- byte[] oldState = null;
- try {
- int version = in.readInt();
- if (version == STATE_VERSION) {
- int size = in.readInt();
- if (size > 0) {
- if (size > 200*1024) {
- Slog.w(TAG, "Suspiciously large state blog; ignoring. N=" + size);
- } else {
- // size looks okay; make the return buffer and fill it
- oldState = new byte[size];
- in.read(oldState);
- }
- }
- } else {
- Slog.w(TAG, "Prior state from unrecognized version " + version);
- }
- } catch (EOFException e) {
- // Empty file is expected on first backup, so carry on. If the state
- // is truncated we just treat it the same way.
- oldState = null;
- } catch (Exception e) {
- Slog.w(TAG, "Error examing prior backup state " + e.getMessage());
- oldState = null;
- }
-
- return oldState;
+ public PreferredActivityBackupHelper() {
+ super(STATE_VERSION, KEY_PREFERRED);
}
@Override
- public void performBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
- ParcelFileDescriptor newState) {
- byte[] payload = null;
- try {
- byte[] oldPayload = readState(oldState);
-
- IPackageManager pm = AppGlobals.getPackageManager();
- byte[] newPayload = pm.getPreferredActivityBackup(UserHandle.USER_OWNER);
- if (!Arrays.areEqual(oldPayload, newPayload)) {
- if (DEBUG) {
- Slog.i(TAG, "State has changed => writing new preferred app payload");
- }
- data.writeEntityHeader(KEY_PREFERRED, newPayload.length);
- data.writeEntityData(newPayload, newPayload.length);
- } else {
- if (DEBUG) {
- Slog.i(TAG, "No change to state => not writing to wire");
- }
- }
-
- // Always need to re-record the state, even if nothing changed
- payload = newPayload;
- } catch (Exception e) {
- // On failures we'll wind up committing a zero-size state payload. This is
- // a forward-safe situation because we know we commit the entire new payload
- // on prior-state mismatch.
- Slog.w(TAG, "Unable to record preferred activities", e);
- } finally {
- writeState(newState, payload);
- }
- }
-
- @Override
- public void restoreEntity(BackupDataInputStream data) {
- IPackageManager pm = AppGlobals.getPackageManager();
- try {
- byte[] payload = new byte[data.size()];
- data.read(payload);
+ protected byte[] getBackupPayload(String key) {
+ if (KEY_PREFERRED.equals(key)) {
if (DEBUG) {
- Slog.i(TAG, "Restoring preferred activities; size=" + payload.length);
+ Slog.v(TAG, "Checking whether to back up");
}
- pm.restorePreferredActivities(payload, UserHandle.USER_OWNER);
- } catch (Exception e) {
- Slog.e(TAG, "Exception reading restore data", e);
+ IPackageManager pm = AppGlobals.getPackageManager();
+ try {
+ return pm.getPreferredActivityBackup(UserHandle.USER_OWNER);
+ } catch (Exception e) {
+ Slog.e(TAG, "Unable to store backup payload", e);
+ // fall through to report null state
+ }
+ } else {
+ Slog.w(TAG, "Unexpected backup key " + key);
}
+ return null;
}
@Override
- public void writeNewStateDescription(ParcelFileDescriptor newState) {
- writeState(newState, null);
+ protected void applyRestoredPayload(String key, byte[] payload) {
+ if (KEY_PREFERRED.equals(key)) {
+ if (DEBUG) {
+ Slog.v(TAG, "Restoring");
+ }
+ IPackageManager pm = AppGlobals.getPackageManager();
+ try {
+ pm.restorePreferredActivities(payload, UserHandle.USER_OWNER);
+ } catch (Exception e) {
+ Slog.e(TAG, "Unable to restore", e);
+ }
+ } else {
+ Slog.w(TAG, "Unexpected restore key " + key);
+ }
}
-
}
diff --git a/core/java/com/android/server/backup/SystemBackupAgent.java b/core/java/com/android/server/backup/SystemBackupAgent.java
index 8e97aa9..a80abce5 100644
--- a/core/java/com/android/server/backup/SystemBackupAgent.java
+++ b/core/java/com/android/server/backup/SystemBackupAgent.java
@@ -94,7 +94,7 @@
addHelper(WALLPAPER_HELPER, new WallpaperBackupHelper(this, files, keys));
addHelper(RECENTS_HELPER, new RecentsBackupHelper(this));
addHelper(SYNC_SETTINGS_HELPER, new AccountSyncSettingsBackupHelper(this));
- addHelper(PREFERRED_HELPER, new PreferredActivityBackupHelper(this));
+ addHelper(PREFERRED_HELPER, new PreferredActivityBackupHelper());
addHelper(NOTIFICATION_HELPER, new NotificationBackupHelper(this));
super.onBackup(oldState, data, newState);
@@ -129,7 +129,8 @@
new String[] { WALLPAPER_IMAGE_KEY} ));
addHelper(RECENTS_HELPER, new RecentsBackupHelper(this));
addHelper(SYNC_SETTINGS_HELPER, new AccountSyncSettingsBackupHelper(this));
- addHelper(PREFERRED_HELPER, new PreferredActivityBackupHelper(this));
+ addHelper(PREFERRED_HELPER, new PreferredActivityBackupHelper());
+ addHelper(NOTIFICATION_HELPER, new NotificationBackupHelper(this));
try {
super.onRestore(data, appVersionCode, newState);
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index 0747969..44037dd 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -358,7 +358,7 @@
return legacyBitmapConfigToColorType(c);
}
-SkCanvas* GraphicsJNI::getNativeCanvas(JNIEnv* env, jobject canvas) {
+android::Canvas* GraphicsJNI::getNativeCanvas(JNIEnv* env, jobject canvas) {
SkASSERT(env);
SkASSERT(canvas);
SkASSERT(env->IsInstanceOf(canvas, gCanvas_class));
@@ -366,9 +366,7 @@
if (!canvasHandle) {
return NULL;
}
- SkCanvas* c = reinterpret_cast<android::Canvas*>(canvasHandle)->asSkCanvas();
- SkASSERT(c);
- return c;
+ return reinterpret_cast<android::Canvas*>(canvasHandle);
}
SkRegion* GraphicsJNI::getNativeRegion(JNIEnv* env, jobject region)
diff --git a/core/jni/android/graphics/GraphicsJNI.h b/core/jni/android/graphics/GraphicsJNI.h
index 422d3f1..d73507e 100644
--- a/core/jni/android/graphics/GraphicsJNI.h
+++ b/core/jni/android/graphics/GraphicsJNI.h
@@ -8,6 +8,7 @@
#include "SkPoint.h"
#include "SkRect.h"
#include "SkImageDecoder.h"
+#include <Canvas.h>
#include <jni.h>
class SkBitmapRegionDecoder;
@@ -47,7 +48,7 @@
static SkPoint* jpointf_to_point(JNIEnv*, jobject jpointf, SkPoint* point);
static void point_to_jpointf(const SkPoint& point, JNIEnv*, jobject jpointf);
- static SkCanvas* getNativeCanvas(JNIEnv*, jobject canvas);
+ static android::Canvas* getNativeCanvas(JNIEnv*, jobject canvas);
static SkBitmap* getSkBitmap(JNIEnv*, jobject bitmap);
static SkRegion* getNativeRegion(JNIEnv*, jobject region);
diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp
index a2c1609..3ae829b 100644
--- a/core/jni/android_graphics_Canvas.cpp
+++ b/core/jni/android_graphics_Canvas.cpp
@@ -39,17 +39,23 @@
}
// Native wrapper constructor used by Canvas(Bitmap)
-static jlong initRaster(JNIEnv* env, jobject, jlong bitmapHandle) {
- SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
- return reinterpret_cast<jlong>(Canvas::create_canvas(bitmap));
+static jlong initRaster(JNIEnv* env, jobject, jobject jbitmap) {
+ SkBitmap* bitmap = nullptr;
+ if (jbitmap != NULL) {
+ bitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
+ }
+ return reinterpret_cast<jlong>(Canvas::create_canvas(
+ bitmap ? *bitmap : SkBitmap()));
}
// Set the given bitmap as the new draw target (wrapped in a new SkCanvas),
// optionally copying canvas matrix & clip state.
-static void setBitmap(JNIEnv* env, jobject, jlong canvasHandle, jlong bitmapHandle,
- jboolean copyState) {
- SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
- get_canvas(canvasHandle)->setBitmap(bitmap, copyState);
+static void setBitmap(JNIEnv* env, jobject, jlong canvasHandle, jobject jbitmap) {
+ SkBitmap* bitmap = nullptr;
+ if (jbitmap != NULL) {
+ bitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
+ }
+ get_canvas(canvasHandle)->setBitmap(bitmap ? *bitmap : SkBitmap());
}
static jboolean isOpaque(JNIEnv*, jobject, jlong canvasHandle) {
@@ -658,8 +664,8 @@
static JNINativeMethod gMethods[] = {
{"finalizer", "(J)V", (void*) CanvasJNI::finalizer},
- {"initRaster", "(J)J", (void*) CanvasJNI::initRaster},
- {"native_setBitmap", "(JJZ)V", (void*) CanvasJNI::setBitmap},
+ {"initRaster", "(Landroid/graphics/Bitmap;)J", (void*) CanvasJNI::initRaster},
+ {"native_setBitmap", "(JLandroid/graphics/Bitmap;)V", (void*) CanvasJNI::setBitmap},
{"native_isOpaque","(J)Z", (void*) CanvasJNI::isOpaque},
{"native_getWidth","(J)I", (void*) CanvasJNI::getWidth},
{"native_getHeight","(J)I", (void*) CanvasJNI::getHeight},
diff --git a/core/jni/android_media_AudioRecord.cpp b/core/jni/android_media_AudioRecord.cpp
index 33db4a85..23b0d50 100644
--- a/core/jni/android_media_AudioRecord.cpp
+++ b/core/jni/android_media_AudioRecord.cpp
@@ -145,8 +145,7 @@
// ----------------------------------------------------------------------------
static jint
android_media_AudioRecord_setup(JNIEnv *env, jobject thiz, jobject weak_this,
- jobject jaa, jint sampleRateInHertz, jint channelMask,
- // Java channel masks map directly to the native definition
+ jobject jaa, jint sampleRateInHertz, jint channelMask, jint channelIndexMask,
jint audioFormat, jint buffSizeInBytes, jintArray jSession)
{
//ALOGV(">> Entering android_media_AudioRecord_setup");
@@ -158,6 +157,15 @@
return (jint) AUDIO_JAVA_ERROR;
}
+ // channel index mask takes priority over channel position masks.
+ if (channelIndexMask) {
+ // Java channel index masks need the representation bits set.
+ channelMask = audio_channel_mask_from_representation_and_bits(
+ AUDIO_CHANNEL_REPRESENTATION_INDEX,
+ channelIndexMask);
+ }
+ // Java channel position masks map directly to the native definition
+
if (!audio_is_input_channel(channelMask)) {
ALOGE("Error creating AudioRecord: channel mask %#x is not valid.", channelMask);
return (jint) AUDIORECORD_ERROR_SETUP_INVALIDCHANNELMASK;
@@ -583,7 +591,7 @@
// name, signature, funcPtr
{"native_start", "(II)I", (void *)android_media_AudioRecord_start},
{"native_stop", "()V", (void *)android_media_AudioRecord_stop},
- {"native_setup", "(Ljava/lang/Object;Ljava/lang/Object;IIII[I)I",
+ {"native_setup", "(Ljava/lang/Object;Ljava/lang/Object;IIIII[I)I",
(void *)android_media_AudioRecord_setup},
{"native_finalize", "()V", (void *)android_media_AudioRecord_finalize},
{"native_release", "()V", (void *)android_media_AudioRecord_release},
diff --git a/core/jni/android_media_AudioTrack.cpp b/core/jni/android_media_AudioTrack.cpp
index 8d3a9aa..8b2c269 100644
--- a/core/jni/android_media_AudioTrack.cpp
+++ b/core/jni/android_media_AudioTrack.cpp
@@ -677,6 +677,63 @@
// ----------------------------------------------------------------------------
+static void android_media_AudioTrack_set_playback_settings(JNIEnv *env, jobject thiz,
+ jfloatArray floatArray, jintArray intArray) {
+ sp<AudioTrack> lpTrack = getAudioTrack(env, thiz);
+ if (lpTrack == NULL) {
+ jniThrowException(env, "java/lang/IllegalStateException",
+ "AudioTrack not initialized");
+ return;
+ }
+
+ // NOTE: Get<Primitive>ArrayRegion throws ArrayIndexOutOfBoundsException if not valid.
+ // TODO: consider the actual occupancy.
+ float farray[2];
+ int iarray[2];
+ if ((env->GetFloatArrayRegion(floatArray, 0, 2, farray), env->ExceptionCheck()) == JNI_FALSE
+ &&
+ (env->GetIntArrayRegion(intArray, 0, 2, iarray), env->ExceptionCheck()) == JNI_FALSE) {
+ // arrays retrieved OK
+ AudioPlaybackRate playbackRate;
+ playbackRate.mSpeed = farray[0];
+ playbackRate.mPitch = farray[1];
+ playbackRate.mFallbackMode = (AudioTimestretchFallbackMode)iarray[0];
+ playbackRate.mStretchMode = (AudioTimestretchStretchMode)iarray[1];
+ if (lpTrack->setPlaybackRate(playbackRate) != OK) {
+ jniThrowException(env, "java/lang/IllegalArgumentException",
+ "arguments out of range");
+ }
+ }
+}
+
+
+// ----------------------------------------------------------------------------
+static void android_media_AudioTrack_get_playback_settings(JNIEnv *env, jobject thiz,
+ jfloatArray floatArray, jintArray intArray) {
+ sp<AudioTrack> lpTrack = getAudioTrack(env, thiz);
+ if (lpTrack == NULL) {
+ jniThrowException(env, "java/lang/IllegalStateException",
+ "AudioTrack not initialized");
+ return;
+ }
+
+ AudioPlaybackRate playbackRate = lpTrack->getPlaybackRate();
+
+ float farray[2] = {
+ playbackRate.mSpeed,
+ playbackRate.mPitch,
+ };
+ int iarray[2] = {
+ playbackRate.mFallbackMode,
+ playbackRate.mStretchMode,
+ };
+ // NOTE: Set<Primitive>ArrayRegion throws ArrayIndexOutOfBoundsException if not valid.
+ env->SetFloatArrayRegion(floatArray, 0, 2, farray);
+ env->SetIntArrayRegion(intArray, 0, 2, iarray);
+}
+
+
+// ----------------------------------------------------------------------------
static jint android_media_AudioTrack_set_marker_pos(JNIEnv *env, jobject thiz,
jint markerPos) {
sp<AudioTrack> lpTrack = getAudioTrack(env, thiz);
@@ -942,6 +999,10 @@
"(I)I", (void *)android_media_AudioTrack_set_playback_rate},
{"native_get_playback_rate",
"()I", (void *)android_media_AudioTrack_get_playback_rate},
+ {"native_set_playback_settings",
+ "([F[I)V", (void *)android_media_AudioTrack_set_playback_settings},
+ {"native_get_playback_settings",
+ "([F[I)V", (void *)android_media_AudioTrack_get_playback_settings},
{"native_set_marker_pos","(I)I", (void *)android_media_AudioTrack_set_marker_pos},
{"native_get_marker_pos","()I", (void *)android_media_AudioTrack_get_marker_pos},
{"native_set_pos_update_period",
diff --git a/core/jni/android_view_GraphicBuffer.cpp b/core/jni/android_view_GraphicBuffer.cpp
index a12629f..aa79d70 100644
--- a/core/jni/android_view_GraphicBuffer.cpp
+++ b/core/jni/android_view_GraphicBuffer.cpp
@@ -67,11 +67,6 @@
jfieldID bottom;
} gRectClassInfo;
-static struct {
- jfieldID mSurfaceFormat;
- jmethodID setNativeBitmap;
-} gCanvasClassInfo;
-
#define GET_INT(object, field) \
env->GetIntField(object, field)
@@ -196,13 +191,9 @@
bitmap.setPixels(NULL);
}
- SET_INT(canvas, gCanvasClassInfo.mSurfaceFormat, buffer->getPixelFormat());
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, reinterpret_cast<jlong>(&bitmap));
-
- SkRect clipRect;
- clipRect.set(rect.left, rect.top, rect.right, rect.bottom);
- SkCanvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
- nativeCanvas->clipRect(clipRect);
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
+ nativeCanvas->setBitmap(bitmap);
+ nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom);
if (dirtyRect) {
INVOKEV(dirtyRect, gRectClassInfo.set,
@@ -217,7 +208,8 @@
GraphicBufferWrapper* wrapper =
reinterpret_cast<GraphicBufferWrapper*>(wrapperHandle);
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, (jlong)0);
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
+ nativeCanvas->setBitmap(SkBitmap());
if (wrapper) {
status_t status = wrapper->buffer->unlock();
@@ -302,10 +294,6 @@
gRectClassInfo.right = GetFieldIDOrDie(env, clazz, "right", "I");
gRectClassInfo.bottom = GetFieldIDOrDie(env, clazz, "bottom", "I");
- clazz = FindClassOrDie(env, "android/graphics/Canvas");
- gCanvasClassInfo.mSurfaceFormat = GetFieldIDOrDie(env, clazz, "mSurfaceFormat", "I");
- gCanvasClassInfo.setNativeBitmap = GetMethodIDOrDie(env, clazz, "setNativeBitmap", "(J)V");
-
return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods));
}
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index 4fcb361..c4cd7ff 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -73,11 +73,6 @@
jfieldID bottom;
} gRectClassInfo;
-static struct {
- jfieldID mSurfaceFormat;
- jmethodID setNativeBitmap;
-} gCanvasClassInfo;
-
// ----------------------------------------------------------------------------
// this is just a pointer we use to pass to inc/decStrong
@@ -318,9 +313,6 @@
return 0;
}
- // Associate a SkCanvas object to this surface
- env->SetIntField(canvasObj, gCanvasClassInfo.mSurfaceFormat, outBuffer.format);
-
SkImageInfo info = SkImageInfo::Make(outBuffer.width, outBuffer.height,
convertPixelFormat(outBuffer.format),
kPremul_SkAlphaType);
@@ -338,12 +330,12 @@
bitmap.setPixels(NULL);
}
- env->CallVoidMethod(canvasObj, gCanvasClassInfo.setNativeBitmap,
- reinterpret_cast<jlong>(&bitmap));
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvasObj);
+ nativeCanvas->setBitmap(bitmap);
if (dirtyRectPtr) {
- SkCanvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvasObj);
- nativeCanvas->clipRect( SkRect::Make(reinterpret_cast<const SkIRect&>(dirtyRect)) );
+ nativeCanvas->clipRect(dirtyRect.left, dirtyRect.top,
+ dirtyRect.right, dirtyRect.bottom);
}
if (dirtyRectObj) {
@@ -369,7 +361,8 @@
}
// detach the canvas from the surface
- env->CallVoidMethod(canvasObj, gCanvasClassInfo.setNativeBitmap, (jlong)0);
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvasObj);
+ nativeCanvas->setBitmap(SkBitmap());
// unlock surface
status_t err = surface->unlockAndPost();
@@ -564,10 +557,6 @@
gSurfaceClassInfo.clazz, "mLock", "Ljava/lang/Object;");
gSurfaceClassInfo.ctor = GetMethodIDOrDie(env, gSurfaceClassInfo.clazz, "<init>", "(J)V");
- clazz = FindClassOrDie(env, "android/graphics/Canvas");
- gCanvasClassInfo.mSurfaceFormat = GetFieldIDOrDie(env, clazz, "mSurfaceFormat", "I");
- gCanvasClassInfo.setNativeBitmap = GetMethodIDOrDie(env, clazz, "setNativeBitmap", "(J)V");
-
clazz = FindClassOrDie(env, "android/graphics/Rect");
gRectClassInfo.left = GetFieldIDOrDie(env, clazz, "left", "I");
gRectClassInfo.top = GetFieldIDOrDie(env, clazz, "top", "I");
diff --git a/core/jni/android_view_TextureView.cpp b/core/jni/android_view_TextureView.cpp
index c2bd0b3c4..7e05793 100644
--- a/core/jni/android_view_TextureView.cpp
+++ b/core/jni/android_view_TextureView.cpp
@@ -48,11 +48,6 @@
} gRectClassInfo;
static struct {
- jfieldID mSurfaceFormat;
- jmethodID setNativeBitmap;
-} gCanvasClassInfo;
-
-static struct {
jfieldID nativeWindow;
} gTextureViewClassInfo;
@@ -172,13 +167,9 @@
bitmap.setPixels(NULL);
}
- SET_INT(canvas, gCanvasClassInfo.mSurfaceFormat, buffer.format);
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, reinterpret_cast<jlong>(&bitmap));
-
- SkRect clipRect;
- clipRect.set(rect.left, rect.top, rect.right, rect.bottom);
- SkCanvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
- nativeCanvas->clipRect(clipRect);
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
+ nativeCanvas->setBitmap(bitmap);
+ nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom);
if (dirtyRect) {
INVOKEV(dirtyRect, gRectClassInfo.set,
@@ -191,7 +182,8 @@
static void android_view_TextureView_unlockCanvasAndPost(JNIEnv* env, jobject,
jlong nativeWindow, jobject canvas) {
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, (jlong)0);
+ Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas);
+ nativeCanvas->setBitmap(SkBitmap());
if (nativeWindow) {
sp<ANativeWindow> window((ANativeWindow*) nativeWindow);
@@ -225,10 +217,6 @@
gRectClassInfo.right = GetFieldIDOrDie(env, clazz, "right", "I");
gRectClassInfo.bottom = GetFieldIDOrDie(env, clazz, "bottom", "I");
- clazz = FindClassOrDie(env, "android/graphics/Canvas");
- gCanvasClassInfo.mSurfaceFormat = GetFieldIDOrDie(env, clazz, "mSurfaceFormat", "I");
- gCanvasClassInfo.setNativeBitmap = GetMethodIDOrDie(env, clazz, "setNativeBitmap", "(J)V");
-
clazz = FindClassOrDie(env, "android/view/TextureView");
gTextureViewClassInfo.nativeWindow = GetFieldIDOrDie(env, clazz, "mNativeWindow", "J");
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 1f529ca..62685a1 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -227,6 +227,8 @@
<protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
<protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
+
+ <protected-broadcast android:name="android.nfc.cardemulation.action.REQUEST_SERVICE_RESOURCES" />
<protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
<protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
@@ -1114,6 +1116,11 @@
<permission android:name="android.permission.ACCESS_PDB_STATE"
android:protectionLevel="signature" />
+ <!-- @hide Allows system update service to notify device owner about pending updates.
+ <p>Not for use by third-party applications. -->
+ <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
+ android:protectionLevel="signatureOrSystem" />
+
<!-- =========================================== -->
<!-- Permissions associated with camera and image capture -->
<!-- =========================================== -->
diff --git a/core/res/res/anim/task_open_enter.xml b/core/res/res/anim/task_open_enter.xml
index 8321ea4..e511cc9 100644
--- a/core/res/res/anim/task_open_enter.xml
+++ b/core/res/res/anim/task_open_enter.xml
@@ -18,7 +18,7 @@
-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
- android:background="#ff000000" android:shareInterpolator="false" android:zAdjustment="top">
+ android:shareInterpolator="false" android:zAdjustment="top">
<alpha android:fromAlpha="0" android:toAlpha="1.0"
android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true"
diff --git a/core/res/res/anim/wallpaper_close_enter.xml b/core/res/res/anim/wallpaper_close_enter.xml
index a189813..7256a3c 100644
--- a/core/res/res/anim/wallpaper_close_enter.xml
+++ b/core/res/res/anim/wallpaper_close_enter.xml
@@ -18,7 +18,7 @@
-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
- android:background="#ff000000" android:shareInterpolator="false" android:zAdjustment="top">
+ android:shareInterpolator="false" android:zAdjustment="top">
<alpha android:fromAlpha="0" android:toAlpha="1.0"
android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true"
diff --git a/core/res/res/drawable/ic_spinner_caret.xml b/core/res/res/drawable/ic_spinner_caret.xml
new file mode 100644
index 0000000..6a18f89
--- /dev/null
+++ b/core/res/res/drawable/ic_spinner_caret.xml
@@ -0,0 +1,26 @@
+<!--
+ 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:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:pathData="M7,10l5,5,5-5z"
+ android:fillColor="@color/white"/>
+</vector>
diff --git a/core/res/res/drawable/spinner_background_material.xml b/core/res/res/drawable/spinner_background_material.xml
index d5b509f..892dbc5 100644
--- a/core/res/res/drawable/spinner_background_material.xml
+++ b/core/res/res/drawable/spinner_background_material.xml
@@ -15,21 +15,24 @@
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
- android:paddingMode="stack">
- <item android:drawable="@drawable/item_background_borderless_material"
- android:gravity="end|center_vertical"
- android:width="24dp"
- android:height="24dp" />
- <item android:gravity="end|center_vertical">
- <vector android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0"
- android:tint="?attr/colorControlNormal">
- <path android:pathData="M7,10l5,5,5-5z"
- android:fillColor="@color/white"/>
- </vector>
+ android:paddingMode="stack"
+ android:paddingStart="0dp"
+ android:paddingEnd="48dp"
+ android:paddingLeft="0dp"
+ android:paddingRight="0dp">
+ <item
+ android:gravity="end|center_vertical"
+ android:width="48dp"
+ android:height="48dp">
+ <ripple
+ android:color="?attr/colorControlHighlight"
+ android:radius="24dp" />
</item>
- <item android:end="48dp"
- android:drawable="@color/transparent" />
+
+ <item
+ android:drawable="@drawable/ic_spinner_caret"
+ android:gravity="end|center_vertical"
+ android:width="24dp"
+ android:height="24dp"
+ android:end="12dp" />
</layer-list>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 9ee5a86..76c96ea 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Laat \'n program toe om DRM-sertifikate te verwyder. Behoort nooit vir gewone programme nodig te wees nie."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind aan \'n diensverskaffer-boodskapdiens"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dit laat die houer toe om aan die top-koppelvlak van \'n diensverskaffer-boodskapdiens te bind. Behoort nooit vir gewone programme nodig te wees nie."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"verbind met \'n diensverskafferopstellingdiens"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Laat die houer toe om met \'n diensverskafferopstellingdiens te verbind. Behoort nooit vir normale programme nodig te wees nie."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Stel wagwoordreëls"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Beheer die lengte en die karakters wat in skermslotwagwoorde en -PIN\'e toegelaat word."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitor pogings om skerm te ontsluit"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s-%2$s%3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interne geheue"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kaart"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g>-SD-kaart"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-datastokkie"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g>-USB-datastokkie"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-berging"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Redigeer"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Dataverbruik-waarskuwing"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 8027861..e4499de 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"አንድ መተግበሪያ የDRM እውቅና ማረጋገጫዎችን እንዲያስወግድ ያስችለዋል። ለመደበኛ መተግበሪያዎች በጭራሽ ሊያስፈልግ አይገባም።"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ወደሞባይል አገልግሎት ሰጪ የመልዕክት አገልግሎት አያይዝ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ያዢው በሞባይል አገልግሎት ሰጪ የመልዕክት አላላክ አገልግሎት ላይ ከፍተኛውን ደረጃ በይነ ገጽ እንዲይዝ ይፈቅድለታል። ለመደበኛ መተግበሪያ በጭራሽ አያስፈልግም።"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ከአገልግሎት ማዋቀር አገልግሎት ጋር ያስተሳስራል"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"ያዢው ከአገልግሎት ማዋቀር አገልግሎት ጋር እንዲተሳሰር ያስችለዋል። ለመደበኛ መተግበሪያዎች በጭራሽ ሊያስፈልግ አይገባም።"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"የይለፍ ቃል ደንቦች አዘጋጅ"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"በማያ ገጽ መቆለፊያ የይለፍ ቃሎች እና ፒኖች ውስጥ የሚፈቀዱ ቁምፊዎችን እና ርዝመታቸውን ተቆጣጠር።"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"የማሳያ-ክፈት ሙከራዎችን አሳይ"</string>
@@ -1075,7 +1073,7 @@
<string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> ተወግዷል፤ አዲስ ያስገቡ"</string>
<string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"አሁንም <xliff:g id="NAME">%s</xliff:g>ን በማስወጣት ላይ…"</string>
<string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"አያስወግዱ"</string>
- <string name="ext_media_init_action" msgid="8317198948634872507">"ማዘጋጀት"</string>
+ <string name="ext_media_init_action" msgid="8317198948634872507">"አዋቅር"</string>
<string name="ext_media_unmount_action" msgid="1121883233103278199">"አስወጣ"</string>
<string name="ext_media_browse_action" msgid="8322172381028546087">"ያስሱ"</string>
<string name="activity_list_empty" msgid="1675388330786841066">"ምንም ተመሳሳይ እንቅስቃሴዎች አልተገኙም።"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s፣ %2$s፣ %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"ውስጣዊ ማከማቻ"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD ካርድ"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> ኤስዲ ካርድ"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"የዩኤስቢ አንጻፊ"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"የ<xliff:g id="MANUFACTURER">%s</xliff:g> ዩኤስቢ አንጻፊ"</string>
<string name="storage_usb" msgid="3017954059538517278">"የUSB ማከማቻ"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"አርትዕ"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"የውሂብ አጠቃቀም ማስጠንቀቂየ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 95ce46e..6c94c48 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -503,10 +503,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"للسماح لأحد التطبيقات بإزالة شهادات DRM. لن تكون هناك حاجة إليه مطلقًا مع التطبيقات العادية."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"الالتزام بخدمة المراسلة التابعة لمشغل شبكة الجوّال"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"يسمح لحامله بالالتزام بواجهة المستوى العالي لخدمة المراسلة التابعة لمشغل شبكة الجوَّال. ومن المفترض عدم الحاجة إليه مع التطبيقات العادية."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"الربط بخدمة تهيئة أحد مشغِّلي شبكة الجوّال"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"للسماح لحامل البطاقة بالربط مع خدمة تهيئة لدى أحد مشغِّلي شبكة الجوّال. ولن تحتاج إليه أبدًا مع التطبيقات العادية."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"تعيين قواعد كلمة المرور"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"للتحكم في الطول والأحرف المسموح بها في كلمات المرور وأرقام التعريف الشخصي في قفل الشاشة."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"مراقبة محاولات إلغاء قفل الشاشة"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 7ec8b20..467e6a5 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Разрешава на приложението да премахва сертификатите за управление на цифровите права (DRM). Нормалните приложения би трябвало никога да се нуждаят от това."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"свързване с услуга за съобщения от оператор"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Разрешава на притежателя да се свърже към интерфейса от най-високото ниво на услуга за съобщения от оператор. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"свързване с услуга за конфигуриране на оператори"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Разрешава на собственика да се свързва с услуга за конфигуриране на оператори. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Задаване на правила за паролата"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролира дължината и разрешените знаци за паролите и ПИН кодовете за заключване на екрана."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Наблюдаване на опитите за отключване на екрана"</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index d03ab01..0ea3c77 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"কোনো অ্যাপ্লিকেশানকে DRM শংসাপত্রগুলি সরানোর অনুমতি দেয়। সাধারণ অ্যাপ্লিকেশানগুলির জন্য কখনো প্রয়োজন হয় না।"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"একটি ক্যারিয়ার বার্তাপ্রেরণ পরিষেবা আবদ্ধ করতে"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ধারককে, একটি ক্যারিয়ার বার্তাপ্রেরণ পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"পরিষেবা কনফিগার করতে কোনো পরিষেবা প্রদানকারীর সাথে যুক্ত হন"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"কোনো পরিষেবা প্রদানকারীর পরিষেবা কনফিগারের সাথে যুক্ত হতে ধারককে অনুমতি দিন। সাধারণ অ্যাপ্লিকেশানের জন্য প্র্রয়োজন হয় না।"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"পাসওয়ার্ড নিয়মগুলি সেট করে"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"স্ক্রীন লক করার পাসওয়ার্ডগুলিতে অনুমতিপ্রাপ্ত অক্ষর এবং দৈর্ঘ্য নিয়ন্ত্রণ করে৷"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"স্ক্রীণ আনলক করার প্রচেষ্টাগুলি নিরীক্ষণ করে"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index d02ac93..6e77bd8 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permet que una aplicació suprimeixi els certificats DRM. No ha de ser mai necessari per a aplicacions normals."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular-la al servei de missatgeria d\'un operador"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet que el propietari la pugui vincular a la interfície principal del servei de missatgeria d\'un operador. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"vincula-la amb un servei de configuració d\'operadors de telefonia mòbil"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permet que el titular la vinculi amb un servei de configuració d\'operadors de telefonia mòbil. Mai no hauria de ser necessari per a les aplicacions normals."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Definir les normes de contrasenya"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Permet controlar la longitud i el nombre de caràcters permesos a les contrasenyes i als PIN del bloqueig de pantalla."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Controlar els intents de desbloqueig de pantalla"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Emmagatzematge intern"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Targeta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Targeta SD de: <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unitat USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unitat USB de: <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Emmagatzematge USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Edita"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Advertiment d\'ús de dades"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 6b6e1f1..42f80b4 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Povoluje aplikaci odstranit certifikáty DRM. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"navázat se na nejvyšší úroveň rozhraní služby zasílání zpráv prostřednictvím operátora"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteli navázat se na nejvyšší úroveň rozhraní služby zasílání zpráv prostřednictvím operátora. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"navázat se na službu konfigurace prostřednictvím operátora"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Umožňuje držiteli navázat se na službu konfigurace prostřednictvím operátora. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavit pravidla pro heslo"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Ovládání délky a znaků povolených v heslech a kódech PIN zámku obrazovky."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Sledovat pokusy o odemčení obrazovky"</string>
@@ -1223,12 +1221,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s – %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interní úložiště"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Karta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD karta <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Jednotka USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Jednotka USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Úložiště USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Upravit"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Upozornění na využití dat"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 6e32e16..0b5e9ef 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -433,7 +433,7 @@
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingeraftrykket kan ikke gemmes. Fjern et eksisterende fingeraftryk."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"Registrering af fingeraftryk fik timeout. Prøv igen."</string>
<string name="fingerprint_error_canceled" msgid="4402024612660774395">"Fingeraftrykshandlingen blev annulleret."</string>
- <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Der er foretaget for mange forsøg. Prøv igen senere."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Du har prøvet for mange gange. Prøv igen senere."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Prøv igen."</string>
<string-array name="fingerprint_error_vendor">
</string-array>
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Tillader, at en app fjerner DRM-certifikater. Dette bør aldrig være nødvendigt for almindelige apps."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"knytte til et mobilselskabs beskedtjeneste"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dette giver indehaveren mulighed for at knytte sig til det øverste grænsefladeniveau for et mobilselskabs beskedtjeneste. Dette bør ikke være nødvendigt i normale apps."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"knytte til et mobilselskabs konfigurationstjeneste"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Tillader, at brugeren knytter sig til et mobilselskabs konfigurationstjeneste. Dette bør aldrig være nødvendigt for normale apps."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Indstil regler for adgangskode"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollér længden samt tilladte tegn i adgangskoder og pinkoder til skærmlåsen."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Overvåg forsøg på oplåsning af skærm"</string>
@@ -1207,16 +1205,13 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Internt lager"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kort"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-kort fra <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-drev"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-drev fra <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-lager"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Rediger"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Advarsel om dataforbrug"</string>
- <string name="data_usage_warning_body" msgid="2814673551471969954">"Tryk for at se brug og indstill."</string>
+ <string name="data_usage_warning_body" msgid="2814673551471969954">"Tryk for at se forbrug og indstillinger."</string>
<string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Grænsen for 2G-3G-data er nået"</string>
<string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Grænsen for 4G-data er nået"</string>
<string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Grænsen for mobildata er nået"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index f13496ae..e146271 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Ermöglicht einer App das Entfernen von DRM-Zertifikaten. Sollte für normale Apps nie benötigt werden."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"An einen Mobilfunkanbieter-SMS/MMS-Dienst binden"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ermöglicht dem Inhaber die Bindung an die Oberfläche eines Mobilfunkanbieter-SMS/MMS-Dienstes auf oberster Ebene. Für normale Apps sollte dies nie erforderlich sein."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"Bindung an einen Konfigurationsdienst für Mobilfunkanbieter"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Ermöglicht dem Inhaber die Bindung an einen Konfigurationsdienst für Mobilfunkanbieter. Für normale Apps sollte dies nie erforderlich sein."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Passwortregeln festlegen"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Zulässige Länge und Zeichen für Passwörter für die Displaysperre festlegen"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Versuche zum Entsperren des Displays überwachen"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s. %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interner Speicher"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-Karte"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-Karte von <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-Speichergerät"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-Speichergerät von <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-Speicher"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Bearbeiten"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Warnung zum Datenverbrauch"</string>
@@ -1476,7 +1471,7 @@
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"Minimieren"</string>
<string name="zen_mode_feature_name" msgid="5254089399895895004">"Nicht stören"</string>
- <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Inaktivität"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Ruhezeit"</string>
<string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"Wochentags abends"</string>
<string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"Wochenende"</string>
<string name="muted_by" msgid="6147073845094180001">"Stummgeschaltet durch <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 256bd41..155b251 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Επιτρέπει σε μια εφαρμογή την κατάργηση πιστοποιητικών DRM. Δεν χρειάζεται ποτέ για κανονικές εφαρμογές."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"δέσμευση σε υπηρεσία ανταλλαγής μηνυμάτων εταιρείας κινητής τηλεφωνίας"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας υπηρεσίας ανταλλαγής μηνυμάτων εταιρείας κινητής τηλεφωνίας. Δεν απαιτείται για συνήθεις εφαρμογές."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"δέσμευση σε υπηρεσία διαμόρφωσης εταιρείας κινητής τηλεφωνίας"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Δίνει στον κάτοχο τη δυνατότητα δέσμευσης σε υπηρεσία διαμόρφωσης εταιρείας κινητής τηλεφωνίας. Δεν απαιτείται ποτέ για κανονικές εφαρμογές."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Ορισμός κανόνων κωδικού πρόσβασης"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Ελέγξτε την έκταση και τους επιτρεπόμενους χαρακτήρες σε κωδικούς πρόσβασης κλειδώματος οθόνης και PIN."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Παρακολούθηση προσπαθειών ξεκλειδώματος οθόνης"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Εσωτερικός χώρος αποθήκευσης"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Κάρτα SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Κάρτα SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Μονάδα USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Μονάδα USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Χώρος αποθήκευσης USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Επεξεργασία"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Προειδοποίηση χρήσης δεδομένων"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 3dde2ff..5bc9a3d 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite que una aplicación elimine certificados DRM. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular al servicio de mensajería del proveedor"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite al propietario vincularse a la interfaz de nivel superior del servicio de mensajería del proveedor. Las aplicaciones regulares no lo necesitan."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"vincular con un servicio de configuración de proveedor"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite al propietario vincular con un servicio de configuración de proveedor. El permiso no se requiere para aplicaciones normales."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer reglas de contraseña"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Permite controlar la longitud y los caracteres permitidos en las contraseñas y los PIN para el bloqueo de pantalla."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Supervisa los intentos para desbloquear la pantalla"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Almacenamiento interno"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Tarjeta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Tarjeta SD de <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unidad USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unidad USB de <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Almacenamiento USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Advertencia de uso de datos"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 8e9e428..f5d858c 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite a una aplicación eliminar los certificados DRM. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"enlazar con el servicio de mensajería de un operador"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite enlazar con la interfaz de nivel superior del servicio de mensajería de un operador. Las aplicaciones normales no deberían necesitar este permiso."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"enlazar con un servicio de configuración de operador"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite enlazar con un servicio de configuración de operador. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Establecimiento de reglas de contraseña"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla la longitud y los caracteres permitidos en los PIN y en las contraseñas de bloqueo de pantalla."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Control de intentos de bloqueo de pantalla"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Almacenamiento interno"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Tarjeta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Tarjeta SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unidad USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unidad USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Almacenamiento USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Advertencia de uso de datos"</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 4668009..fee596d 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Lubab rakendusel eemaldada DRM-sertifikaate. Pole kunagi vajalik tavaliste rakenduste puhul."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"seose loomine operaatori sõnumisideteenusega"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lubab omanikul luua seose operaatori sõnumisideteenuse ülataseme liidesega. Pole kunagi vajalik tavalise rakenduse puhul."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"siduda operaatori konfiguratsiooniteenusega"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Lubab omanikul siduda operaatori konfiguratsiooniteenusega. Seda ei tohiks tavarakenduste puhul kunagi tarvis minna."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Parooli reeglite määramine"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Juhitakse ekraaniluku paroolide ja PIN-koodide pikkusi ning lubatud tähemärkide seadeid."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Ekraani avamiskatsed"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Sisemine salvestusruum"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kaart"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Tootja <xliff:g id="MANUFACTURER">%s</xliff:g> SD-kaart"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-ketas"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Tootja <xliff:g id="MANUFACTURER">%s</xliff:g> USB-ketas"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-mäluseade"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Muuda"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Andmete kasutamise hoiatus"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 2df1578..67e2ecb 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM ziurtagiriak kentzea baimentzen die aplikazioei. Aplikazio normalek ez lukete beharko."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"lotu operadorearen mezularitza-zerbitzuari"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Operadore baten mezularitza-zerbitzuaren goi-mailako interfazeari lotzea baimentzen die erabiltzaileei. Aplikazio normalek ez lukete inoiz beharko."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"operadorearen konfigurazio-zerbitzu bati lotzea"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Operadorearen konfigurazio-zerbitzu bati lotzea baimentzen die titularrei. Aplikazio normalek ez dute baimen hau behar."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Ezarri pasahitzen arauak"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolatu pantaila blokeoaren pasahitzen eta PINen luzera eta onartutako karaktereak."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Kontrolatu pantaila desblokeatzeko saiakerak"</string>
@@ -529,7 +527,7 @@
<string name="policylab_expirePassword" msgid="5610055012328825874">"Ezarri pasahitzaren iraungitzea"</string>
<string name="policydesc_expirePassword" msgid="5367525762204416046">"Aldatu pantaila blokeatuko pasahitza, PINa edo eredua aldatu beharreko maiztasuna."</string>
<string name="policylab_encryptedStorage" msgid="8901326199909132915">"Ezarri memoria-enkriptatzea"</string>
- <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Eskatu gordetako aplikazio-datuak enkriptatzea."</string>
+ <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Eskatu gordetako aplikazioen datuak enkriptatzea."</string>
<string name="policylab_disableCamera" msgid="6395301023152297826">"Desgaitu kamerak"</string>
<string name="policydesc_disableCamera" msgid="2306349042834754597">"Eragotzi gailuaren kamerak erabiltzea."</string>
<string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desgaitu blokeoko eginbideak"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Barneko memoria"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD txartela"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD txartela"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB unitatea"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB unitatea"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB memoria"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editatu"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Datuen erabilerari buruzko abisua"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index d869128..f7911ba 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"به برنامه امکان میدهد گواهیهای DRM را حذف کند. نباید برای برنامههای عادی هیچوقت لازم باشد."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"مقید به سرویس پیامرسانی شرکت مخابراتی"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"به کنترلکننده اجازه میدهد که به سطح بالای رابط کاربر سرویس پیامرسانی شرکت مخابراتی مقید شود. هرگز نباید برای برنامههای عادی مورد نیاز شود."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"اتصال به سرویس پیکربندی شرکت مخابراتی"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"به دارنده امکان میدهد به سرویس پیکربندی شرکت مخابراتی متصل شود. هرگز نباید برای برنامههای عادی مورد نیاز باشد."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"تنظیم قوانین رمز ورود"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"کنترل طول و نوع نویسههایی که در گذرواژه و پین قفل صفحه مجاز است."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"نمایش تلاشهای قفل گشایی صفحه"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 542ba51..6012e0f 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Antaa sovelluksen poistaa DRM-varmenteita. Ei tavallisten sovellusten käyttöön."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Operaattorin viestipalveluun sitoutuminen"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Antaa sovelluksen sitoutua operaattorin viestipalvelun ylätason liittymään. Ei tavallisten sovellusten käyttöön."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"operaattorin määrityspalveluun sitoutuminen"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Antaa sovelluksen luoda sidoksen operaattorin määrityspalveluun. Ei tavallisten sovelluksien käyttöön."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Aseta salasanasäännöt"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Hallinnoi ruudun ruudun lukituksen salasanoissa ja PIN-koodeissa sallittuja merkkejä ja niiden pituutta."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Tarkkaile ruudun lukituksen poistoyrityksiä"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Sisäinen tallennustila"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kortti"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-kortti: <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-asema"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-asema: <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-tallennustila"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Muokkaa"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Tiedonsiirtovaroitus"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index c5a298c..b7ad87f 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permet à une application de supprimer les certificats GDN. Cela ne devrait jamais être nécessaire pour des applications normales."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"s\'associer à un service de messagerie d\'un fournisseur"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet à l\'application autorisée de s\'associer à l\'interface de plus haut niveau d\'un service de messagerie d\'un fournisseur. Les applications standards ne devraient jamais avoir recours à cette fonctionnalité."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"s\'associer au service de configuration d\'un fournisseur de services"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permettre à l\'application autorisée de s\'associer au service de configuration d\'un fournisseur de services. Ne devrait pas être nécessaire pour les applications standards."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les NIP de verrouillage de l\'écran."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string>
@@ -1069,7 +1067,7 @@
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Pour transférer des photos et d\'autres fichiers"</string>
<string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"Mémoire « <xliff:g id="NAME">%s</xliff:g> » endommagée"</string>
<string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"La mémoire de stockage « <xliff:g id="NAME">%s</xliff:g> » est endommagée. Veuillez essayer de la reformater."</string>
- <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"Retrait inattendu de la mémoire <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"Retrait inattendu de la mémoire « <xliff:g id="NAME">%s</xliff:g> »"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Désinstallez la mémoire « <xliff:g id="NAME">%s</xliff:g> » avant de la retirer pour éviter toute perte de données."</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"Mémoire de stockage « <xliff:g id="NAME">%s</xliff:g> » retirée"</string>
<string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"La mémoire de stockage « <xliff:g id="NAME">%s</xliff:g> » a été retirée. Insérez-en une autre."</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Mémoire de stockage interne"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Carte SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Carte mémoire SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Clé USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Clé USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Mémoire de stockage USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Modifier"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Avertissement utilisation données"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index da01743..5529656 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permet à une application de supprimer les certificats de GDN. Ne devrait jamais être nécessaire pour les applications standards."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"s\'associer au service SMS/MMS d\'un opérateur"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permettre à l\'application de s\'associer à l\'interface de niveau supérieur du service SMS/MMS d\'un opérateur. Ne devrait jamais être nécessaire pour les applications standards."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"s\'associer au service de configuration d\'un opérateur"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permettre à l\'application autorisée de s\'associer au service de configuration d\'un opérateur. Ne devrait pas être nécessaire pour les applications standards."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les codes d\'accès de verrouillage de l\'écran"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Mémoire de stockage interne"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Carte SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Carte SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Clé USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Clé USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Mémoire de stockage USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Modifier"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Avertissement utilisation données"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index d045ec3..2c62dde 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite a unha aplicación eliminar os certificados DRM. As aplicacións normais non o deberían precisar nunca."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular a un servizo de mensaxería"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao propietario vincularse á interface de nivel superior dun servizo de mensaxería. As aplicacións normais non deberían necesitar este permiso."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"vincular a un servizo de configuración de operador"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite ao titular vincularse ao servizo de configuración dun operador. As aplicacións normais non deberían necesitar este permiso."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer as normas de contrasinal"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla a lonxitude e os caracteres permitidos nos contrasinais e nos PIN de bloqueo da pantalla."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Supervisar os intentos de desbloqueo da pantalla"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Almacenamento interno"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Tarxeta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Tarxeta SD de <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unidade USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unidade USB de <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"almacenamento USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Aviso de uso de datos"</string>
diff --git a/core/res/res/values-gu-rIN-watch/strings.xml b/core/res/res/values-gu-rIN-watch/strings.xml
new file mode 100644
index 0000000..3e50335
--- /dev/null
+++ b/core/res/res/values-gu-rIN-watch/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 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.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="android_upgrading_apk" msgid="1090732262010398759">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> એપ્લિકેશન."</string>
+</resources>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..a7a33f2
--- /dev/null
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -0,0 +1,1491 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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="byteShort" msgid="8340973892742019101">"B"</string>
+ <string name="kilobyteShort" msgid="5973789783504771878">"KB"</string>
+ <string name="megabyteShort" msgid="6355851576770428922">"MB"</string>
+ <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string>
+ <string name="terabyteShort" msgid="231613018159186962">"TB"</string>
+ <string name="petabyteShort" msgid="5637816680144990219">"PB"</string>
+ <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
+ <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> દિવસ"</string>
+ <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> દિવસ <xliff:g id="HOURS">%2$d</xliff:g> કલાક"</string>
+ <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> દિવસ <xliff:g id="HOURS">%2$d</xliff:g> કલાક"</string>
+ <string name="durationHours" msgid="4266858287167358988">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક"</string>
+ <string name="durationHourMinutes" msgid="9029176248692041549">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક <xliff:g id="MINUTES">%2$d</xliff:g> મિનિટ"</string>
+ <string name="durationHourMinute" msgid="2741677355177402539">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક <xliff:g id="MINUTES">%2$d</xliff:g> મિનિટ"</string>
+ <string name="durationMinutes" msgid="3134226679883579347">"<xliff:g id="MINUTES">%1$d</xliff:g> મિનિટ"</string>
+ <string name="durationMinute" msgid="7155301744174623818">"<xliff:g id="MINUTES">%1$d</xliff:g> મિનિટ"</string>
+ <string name="durationMinuteSeconds" msgid="1424656185379003751">"<xliff:g id="MINUTES">%1$d</xliff:g> મિનિટ <xliff:g id="SECONDS">%2$d</xliff:g> સેકંડ"</string>
+ <string name="durationMinuteSecond" msgid="3989228718067466680">"<xliff:g id="MINUTES">%1$d</xliff:g> મિ <xliff:g id="SECONDS">%2$d</xliff:g> સે"</string>
+ <string name="durationSeconds" msgid="8050088505238241405">"<xliff:g id="SECONDS">%1$d</xliff:g> સેકંડ"</string>
+ <string name="durationSecond" msgid="985669622276420331">"<xliff:g id="SECONDS">%1$d</xliff:g> સેકંડ"</string>
+ <string name="untitled" msgid="4638956954852782576">"<અનામાંકિત>"</string>
+ <string name="emptyPhoneNumber" msgid="7694063042079676517">"(કોઈ ફોન નંબર નથી)"</string>
+ <string name="unknownName" msgid="6867811765370350269">"અજાણ્યું"</string>
+ <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"વૉઇસમેઇલ"</string>
+ <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string>
+ <string name="mmiError" msgid="5154499457739052907">"કનેક્શન સમસ્યા અથવા અમાન્ય MMI કોડ."</string>
+ <string name="mmiFdnError" msgid="5224398216385316471">"ઑપરેશન ફક્ત સ્થિર ડાયલિંગ નંબર્સ પર પ્રતિબંધિત છે."</string>
+ <string name="serviceEnabled" msgid="8147278346414714315">"સેવા સક્ષમ હતી."</string>
+ <string name="serviceEnabledFor" msgid="6856228140453471041">"સેવા આ માટે સક્ષમ હતી:"</string>
+ <string name="serviceDisabled" msgid="1937553226592516411">"સેવા અક્ષમ કરવામાં આવી છે."</string>
+ <string name="serviceRegistered" msgid="6275019082598102493">"નોંધણી સફળ થઈ હતી."</string>
+ <string name="serviceErased" msgid="1288584695297200972">"કાઢી નાખવું સફળ થયું હતું."</string>
+ <string name="passwordIncorrect" msgid="7612208839450128715">"ખોટો પાસવર્ડ"</string>
+ <string name="mmiComplete" msgid="8232527495411698359">"MMI પૂર્ણ."</string>
+ <string name="badPin" msgid="9015277645546710014">"તમે લખેલો જૂનો PIN સાચો નથી."</string>
+ <string name="badPuk" msgid="5487257647081132201">"તમે લખેલો PUK સાચો નથી."</string>
+ <string name="mismatchPin" msgid="609379054496863419">"તમે લખેલ PIN મેળ ખાતો નથી."</string>
+ <string name="invalidPin" msgid="3850018445187475377">"એક PIN લખો જે 4 થી 8 સંખ્યાનો છે."</string>
+ <string name="invalidPuk" msgid="8761456210898036513">"એક PUK લખો કે જે 8 અંક કે તેથી લાંબો હોય."</string>
+ <string name="needPuk" msgid="919668385956251611">"તમારો SIM કાર્ડ, PUK-લૉક કરેલ છે. તેને અનલૉક કરવા માટે PUK કોડ લખો."</string>
+ <string name="needPuk2" msgid="4526033371987193070">"SIM કાર્ડને અનાવરોધિત કરવા માટે PUK2 લખો."</string>
+ <string name="enablePin" msgid="209412020907207950">"અસફળ, SIM/RUIM લૉક સક્ષમ કરો."</string>
+ <plurals name="pinpuk_attempts" formatted="false" msgid="1251012001539225582">
+ <item quantity="one">SIM લૉક થાય તે પહેલાં તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયત્ન બાકી છે.</item>
+ <item quantity="other">SIM લૉક થાય તે પહેલાં તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયત્ન બાકી છે.</item>
+ </plurals>
+ <string name="imei" msgid="2625429890869005782">"IMEI"</string>
+ <string name="meid" msgid="4841221237681254195">"MEID"</string>
+ <string name="ClipMmi" msgid="6952821216480289285">"આવનાર કૉલર ID"</string>
+ <string name="ClirMmi" msgid="7784673673446833091">"આઉટગોઇંગ કૉલર ID"</string>
+ <string name="ColpMmi" msgid="3065121483740183974">"કનેક્ટ કરેલ લાઇન ID"</string>
+ <string name="ColrMmi" msgid="4996540314421889589">"કનેક્ટ કરેલ લાઇન ID પ્રતિબંધ"</string>
+ <string name="CfMmi" msgid="5123218989141573515">"કૉલ ફોર્વર્ડિંગ"</string>
+ <string name="CwMmi" msgid="9129678056795016867">"કૉલ પ્રતીક્ષા"</string>
+ <string name="BaMmi" msgid="455193067926770581">"કૉલ અવરોધન"</string>
+ <string name="PwdMmi" msgid="7043715687905254199">"પાસવર્ડમાં બદલાવ"</string>
+ <string name="PinMmi" msgid="3113117780361190304">"PIN માં બદલાવ"</string>
+ <string name="CnipMmi" msgid="3110534680557857162">"કૉલિંગ નંબર હાજર"</string>
+ <string name="CnirMmi" msgid="3062102121430548731">"કૉલ થઈ રહેલો નંબર પ્રતિબંધિત છે"</string>
+ <string name="ThreeWCMmi" msgid="9051047170321190368">"ત્રણ રીતે કૉલિંગ"</string>
+ <string name="RuacMmi" msgid="7827887459138308886">"અનિચ્છિત પજવણીકારક કૉલ્સનો અસ્વીકાર"</string>
+ <string name="CndMmi" msgid="3116446237081575808">"કૉલિંગ નંબર વિતરણ"</string>
+ <string name="DndMmi" msgid="1265478932418334331">"ખલેલ પાડશો નહીં"</string>
+ <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"કૉલર ID પ્રતિબંધિત પર ડિફોલ્ટ છે. આગલો કૉલ: પ્રતિબંધિત છે"</string>
+ <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"કૉલર ID પ્રતિબંધિત પર ડિફોલ્ટ છે. આગલો કૉલ: પ્રતિબંધિત નહીં"</string>
+ <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"કૉલર ID પ્રતિબંધિત નહીં પર ડિફોલ્ટ છે. આગલો કૉલ: પ્રતિબંધિત"</string>
+ <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"કૉલર ID પ્રતિબંધિત નહીં પર ડિફોલ્ટ છે. આગલો કૉલ: પ્રતિબંધિત નહીં"</string>
+ <string name="serviceNotProvisioned" msgid="8614830180508686666">"સેવાની જોગવાઈ કરી નથી."</string>
+ <string name="CLIRPermanent" msgid="3377371145926835671">"તમે કૉલર ID સેટિંગ બદલી શકતાં નથી."</string>
+ <string name="RestrictedChangedTitle" msgid="5592189398956187498">"પ્રતિબંધિત ઍક્સેસ બદલાઈ"</string>
+ <string name="RestrictedOnData" msgid="8653794784690065540">"ડેટા સેવા અવરોધિત છે."</string>
+ <string name="RestrictedOnEmergency" msgid="6581163779072833665">"કટોકટીની સેવા અવરોધિત છે."</string>
+ <string name="RestrictedOnNormal" msgid="4953867011389750673">"વૉઇસ સેવા અવરોધિત છે."</string>
+ <string name="RestrictedOnAllVoice" msgid="3396963652108151260">"તમામ વૉઇસ સેવાઓ અવરોધિત છે."</string>
+ <string name="RestrictedOnSms" msgid="8314352327461638897">"SMS સેવા અવરોધિત છે."</string>
+ <string name="RestrictedOnVoiceData" msgid="996636487106171320">"વૉઇસ/ડેટા સેવાઓ અવરોધિત છે."</string>
+ <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"તમામ વૉઇસ/SMS સેવાઓ અવરોધિત છે."</string>
+ <string name="RestrictedOnAll" msgid="5643028264466092821">"તમામ વૉઇસ/ડેટા/SMS સેવાઓ અવરોધિત છે."</string>
+ <string name="peerTtyModeFull" msgid="6165351790010341421">"પીઅરે TTY મોડ પૂર્ણની વિનંતી કરી"</string>
+ <string name="peerTtyModeHco" msgid="5728602160669216784">"પીઅરે TTY મોડ HCO ની વિનંતી કરી"</string>
+ <string name="peerTtyModeVco" msgid="1742404978686538049">"પીઅરે TTY મોડ VCO ની વિનંતી કરી"</string>
+ <string name="peerTtyModeOff" msgid="3280819717850602205">"પીઅરે TTY મોડ બંધ કરવાની વિનંતી કરી"</string>
+ <string name="serviceClassVoice" msgid="1258393812335258019">"અવાજ"</string>
+ <string name="serviceClassData" msgid="872456782077937893">"ડેટા"</string>
+ <string name="serviceClassFAX" msgid="5566624998840486475">"ફેક્સ"</string>
+ <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string>
+ <string name="serviceClassDataAsync" msgid="4523454783498551468">"અસમન્વય"</string>
+ <string name="serviceClassDataSync" msgid="7530000519646054776">"સમન્વયન"</string>
+ <string name="serviceClassPacket" msgid="6991006557993423453">"પૅકેટ"</string>
+ <string name="serviceClassPAD" msgid="3235259085648271037">"PAD"</string>
+ <string name="roamingText0" msgid="7170335472198694945">"રોમિંગ સૂચક ચાલુ"</string>
+ <string name="roamingText1" msgid="5314861519752538922">"રોમિંગ સૂચક બંધ"</string>
+ <string name="roamingText2" msgid="8969929049081268115">"રોમિંગ સૂચક ફ્લેશિંગ"</string>
+ <string name="roamingText3" msgid="5148255027043943317">"પડોશની બહાર"</string>
+ <string name="roamingText4" msgid="8808456682550796530">"બિલ્ડિંગની બહાર"</string>
+ <string name="roamingText5" msgid="7604063252850354350">"રોમિંગ - પસંદની સિસ્ટમ"</string>
+ <string name="roamingText6" msgid="2059440825782871513">"રોમિંગ - ઉપલબ્ધ સિસ્ટમ"</string>
+ <string name="roamingText7" msgid="7112078724097233605">"રોમિંગ - અલાયન્સ ભાગીદાર"</string>
+ <string name="roamingText8" msgid="5989569778604089291">"રોમિંગ - પ્રીમિયમ ભાગીદાર"</string>
+ <string name="roamingText9" msgid="7969296811355152491">"રોમિંગ - પૂર્ણ સેવા કાર્યક્ષમતા"</string>
+ <string name="roamingText10" msgid="3992906999815316417">"રોમિંગ - આંશિક સેવા કાર્યક્ષમતા"</string>
+ <string name="roamingText11" msgid="4154476854426920970">"રોમિંગ બેનર ચાલુ"</string>
+ <string name="roamingText12" msgid="1189071119992726320">"રૉમિંગ બૅનર બંધ"</string>
+ <string name="roamingTextSearching" msgid="8360141885972279963">"સેવા શોધી રહ્યું છે"</string>
+ <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi કૉલિંગ"</string>
+ <string-array name="wfcOperatorErrorAlertMessages">
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ </string-array>
+ <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
+ <string name="wifi_calling_off_summary" msgid="8720659586041656098">"બંધ"</string>
+ <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi પસંદ કર્યું"</string>
+ <string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"સેલ્યુલર પસંદ કર્યું"</string>
+ <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"ફક્ત Wi-Fi"</string>
+ <string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ફોરવર્ડ કર્યો નથી"</string>
+ <string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string>
+ <string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="TIME_DELAY">{2}</xliff:g> સેકંડ પછી <xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string>
+ <string name="cfTemplateRegistered" msgid="5073237827620166285">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ફોરવર્ડ કર્યો નથી"</string>
+ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ફોરવર્ડ કર્યો નથી"</string>
+ <string name="fcComplete" msgid="3118848230966886575">"સુવિધા કોડ પૂર્ણ."</string>
+ <string name="fcError" msgid="3327560126588500777">"કનેક્શન સમસ્યા અથવા અમાન્ય સુવિધા કોડ."</string>
+ <string name="httpErrorOk" msgid="1191919378083472204">"ઑકે"</string>
+ <string name="httpError" msgid="7956392511146698522">"નેટવર્ક ભૂલ હતી."</string>
+ <string name="httpErrorLookup" msgid="4711687456111963163">"URL શોધી શકાયું નથી."</string>
+ <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"સાઇટ પ્રમાણીકરણ સ્કીમ સમર્થિત નથી."</string>
+ <string name="httpErrorAuth" msgid="1435065629438044534">"પ્રમાણીકૃત કરી શકાયું નથી."</string>
+ <string name="httpErrorProxyAuth" msgid="1788207010559081331">"પ્રોક્સી સર્વર દ્વારા પ્રમાણીકરણ અસફળ થયું."</string>
+ <string name="httpErrorConnect" msgid="8714273236364640549">"સર્વરથી કનેક્ટ કરી શકાયું નથી."</string>
+ <string name="httpErrorIO" msgid="2340558197489302188">"સર્વર સાથે વાર્તાલાપ કરી શકાયો નથી. પછીથી ફરી પ્રયાસ કરો."</string>
+ <string name="httpErrorTimeout" msgid="4743403703762883954">"સર્વરથી કનેક્શનનો સમય સમાપ્ત થયો."</string>
+ <string name="httpErrorRedirectLoop" msgid="8679596090392779516">"પૃષ્ઠમાં ઘણા બધા સર્વર રીડાયરેક્ટ્સ શામેલ છે."</string>
+ <string name="httpErrorUnsupportedScheme" msgid="5015730812906192208">"પ્રોટોકોલ સમર્થિત નથી."</string>
+ <string name="httpErrorFailedSslHandshake" msgid="96549606000658641">"એક સુરક્ષિત કનેક્શન સ્થાપિત કરી શકાયું નથી."</string>
+ <string name="httpErrorBadUrl" msgid="3636929722728881972">"પૃષ્ઠ ખોલી શકાયું નથી કારણ કે URL અમાન્ય છે."</string>
+ <string name="httpErrorFile" msgid="2170788515052558676">"ફાઇલ ઍક્સેસ કરી શકાઈ નથી."</string>
+ <string name="httpErrorFileNotFound" msgid="6203856612042655084">"વિનંતી કરેલ ફાઇલ શોધી શક્યાં નથી."</string>
+ <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"ઘણી બધી વિનંતીઓ પર પ્રક્રિયા કરવામાં આવી રહી છે. પછીથી ફરી પ્રયાસ કરો."</string>
+ <string name="notification_title" msgid="8967710025036163822">"<xliff:g id="ACCOUNT">%1$s</xliff:g> માટે સાઇન ઇન ભૂલ"</string>
+ <string name="contentServiceSync" msgid="8353523060269335667">"સમન્વયન"</string>
+ <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"સમન્વયન"</string>
+ <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"ઘણાં બધા <xliff:g id="CONTENT_TYPE">%s</xliff:g> કાઢી નાખે છે."</string>
+ <string name="low_memory" product="tablet" msgid="6494019234102154896">"ટેબ્લેટ સ્ટોરેજ પૂર્ણ ભરેલું છે. સ્થાન ખાલી કરવા માટે કેટલીક ફાઇલો કાઢી નાખો."</string>
+ <string name="low_memory" product="watch" msgid="4415914910770005166">"ઘડિયાળ સ્ટોરેજ પૂર્ણ ભરેલું છે. સ્થાન ખાલી કરવા માટે કેટલીક ફાઇલો કાઢી નાખો."</string>
+ <string name="low_memory" product="tv" msgid="516619861191025923">"TV સ્ટોરેજ પૂર્ણ ભરેલું છે. સ્થાન ખાલી કરવા માટે કેટલીક ફાઇલો કાઢી નાખો."</string>
+ <string name="low_memory" product="default" msgid="3475999286680000541">"ફોન સ્ટોરેજ પૂર્ણ ભરેલું છે. સ્થાન ખાલી કરવા માટે કેટલીક ફાઇલો કાઢી નાખો."</string>
+ <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"નેટવર્ક મૉનિટર કરી શકાય છે"</string>
+ <string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"અજાણ તૃતીય પક્ષ દ્વારા"</string>
+ <string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"તમારા કાર્ય પ્રોફાઇલ વ્યવસ્થાપક દ્વારા"</string>
+ <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> દ્વારા"</string>
+ <string name="work_profile_deleted" msgid="5005572078641980632">"કાર્ય પ્રોફાઇલ કાઢી નાખી"</string>
+ <string name="work_profile_deleted_description" msgid="6305147513054341102">"ખૂટતી એડમિન એપ્લિકેશનને કારણે કાર્ય પ્રોફાઇલ કાઢી નાખી."</string>
+ <string name="work_profile_deleted_details" msgid="226615743462361248">"કાર્ય પ્રોફાઇલ વ્યવસ્થાપક એપ્લિકેશન કાં તો ખૂટે છે અથવા દૂષિત છે. પરિણામે, તમારી કાર્ય પ્રોફાઇલ અને સંબંધિત ડેટા કાઢી નાખવામાં આવ્યો છે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+ <string name="factory_reset_warning" msgid="5423253125642394387">"તમારું ઉપકરણ કાઢી નાખવામાં આવશે"</string>
+ <string name="factory_reset_message" msgid="4905025204141900666">"એડમિન એપ્લિકેશનમાં ઘટકો ખૂટે છે અથવા દૂષિત છે અને વાપરી શકાશે નહીં. તમારું ઉપકરણ હવે કાઢી નાખવામાં આવશે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+ <string name="me" msgid="6545696007631404292">"મારા"</string>
+ <string name="power_dialog" product="tablet" msgid="8545351420865202853">"ટેબ્લેટ વિકલ્પો"</string>
+ <string name="power_dialog" product="tv" msgid="6153888706430556356">"TV વિકલ્પો"</string>
+ <string name="power_dialog" product="default" msgid="1319919075463988638">"ફોન વિકલ્પો"</string>
+ <string name="silent_mode" msgid="7167703389802618663">"સાઇલેન્ટ મોડ"</string>
+ <string name="turn_on_radio" msgid="3912793092339962371">"વાયરલેસ ચાલુ કરો"</string>
+ <string name="turn_off_radio" msgid="8198784949987062346">"વાયરલેસ બંધ કરો"</string>
+ <string name="screen_lock" msgid="799094655496098153">"સ્ક્રીન લૉક કરો"</string>
+ <string name="power_off" msgid="4266614107412865048">"પાવર બંધ"</string>
+ <string name="silent_mode_silent" msgid="319298163018473078">"રિંગર બંધ"</string>
+ <string name="silent_mode_vibrate" msgid="7072043388581551395">"રિંગર વાઇબ્રેટ"</string>
+ <string name="silent_mode_ring" msgid="8592241816194074353">"રિંગર ચાલુ"</string>
+ <string name="shutdown_progress" msgid="2281079257329981203">"શટ ડાઉન થઈ રહ્યું છે…"</string>
+ <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"તમારું ટેબ્લેટ શટ ડાઉન થઈ જશે."</string>
+ <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"તમારું ટીવી શટ ડાઉન થઈ જશે."</string>
+ <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"તમારી ઘડિયાળ શટ ડાઉન થઈ જશે."</string>
+ <string name="shutdown_confirm" product="default" msgid="649792175242821353">"તમારો ફોન બંધ થઈ જશે."</string>
+ <string name="shutdown_confirm_question" msgid="2906544768881136183">"શું તમે શટ ડાઉન કરવા માગો છો?"</string>
+ <string name="reboot_safemode_title" msgid="7054509914500140361">"સુરક્ષિત મોડ પર રીબૂટ કરો"</string>
+ <string name="reboot_safemode_confirm" msgid="55293944502784668">"શું તમે સલામત મોડમાં રીબૂટ કરવા માગો છો? આ તમે ઇન્સ્ટોલ કરેલ તમામ તૃતીય પક્ષ એપ્લિકેશન્સને અક્ષમ કરશે. જ્યારે તમે રીબૂટ કરશો ત્યારે તે પુનઃસ્થાપિત કરવામાં આવશે."</string>
+ <string name="recent_tasks_title" msgid="3691764623638127888">"તાજેતરનું"</string>
+ <string name="no_recent_tasks" msgid="8794906658732193473">"તાજેતરની કોઈ એપ્લિકેશન્સ નથી."</string>
+ <string name="global_actions" product="tablet" msgid="408477140088053665">"ટેબ્લેટ વિકલ્પો"</string>
+ <string name="global_actions" product="tv" msgid="7240386462508182976">"TV વિકલ્પો"</string>
+ <string name="global_actions" product="default" msgid="2406416831541615258">"ફોન વિકલ્પો"</string>
+ <string name="global_action_lock" msgid="2844945191792119712">"સ્ક્રીન લૉક"</string>
+ <string name="global_action_power_off" msgid="4471879440839879722">"પાવર બંધ"</string>
+ <string name="global_action_bug_report" msgid="7934010578922304799">"બગ રિપોર્ટ"</string>
+ <string name="bugreport_title" msgid="2667494803742548533">"બગ રિપોર્ટ લો"</string>
+ <string name="bugreport_message" msgid="398447048750350456">"આ, એક ઇ-મેઇલ સંદેશ તરીકે મોકલવા માટે, તમારા વર્તમાન ઉપકરણ સ્થિતિ વિશેની માહિતી એકત્રિત કરશે. એક બગ રિપોર્ટ પ્રારંભ કરીને તે મોકલવા માટે તૈયાર ન થઈ જાય ત્યાં સુધી તેમાં થોડો સમય લાગશે; કૃપા કરીને ધીરજ રાખો."</string>
+ <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"સાઇલેન્ટ મોડ"</string>
+ <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"અવાજ બંધ છે"</string>
+ <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"ધ્વનિ ચાલુ છે"</string>
+ <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"એરપ્લેન મોડ"</string>
+ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"એરપ્લેન મોડ ચાલુ છે."</string>
+ <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"એરપ્લેન મોડ બંધ છે."</string>
+ <string name="global_action_settings" msgid="1756531602592545966">"સેટિંગ્સ"</string>
+ <string name="global_action_assist" msgid="3892832961594295030">"સહાય"</string>
+ <string name="global_action_voice_assist" msgid="7751191495200504480">"વૉઇસ સહાય"</string>
+ <string name="global_action_lockdown" msgid="8751542514724332873">"હવે લૉક કરો"</string>
+ <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string>
+ <string name="safeMode" msgid="2788228061547930246">"સુરક્ષિત મોડ"</string>
+ <string name="android_system_label" msgid="6577375335728551336">"Android સિસ્ટમ"</string>
+ <string name="user_owner_label" msgid="6465364741001216388">"વ્યક્તિગત એપ્લિકેશન્સ"</string>
+ <string name="managed_profile_label" msgid="6260850669674791528">"કાર્યાલય"</string>
+ <string name="permgrouplab_contacts" msgid="3657758145679177612">"સંપર્કો"</string>
+ <string name="permgroupdesc_contacts" msgid="1437393511338346185">"તમારા સંપર્કોને ઍક્સેસ કરો અને સંશોધિત કરો"</string>
+ <string name="permgrouplab_location" msgid="7275582855722310164">"સ્થાન"</string>
+ <string name="permgroupdesc_location" msgid="536889867433972794">"તમારા સ્થાનને ઍક્સેસ કરો"</string>
+ <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"તમારી સામાજિક માહિતી"</string>
+ <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"તમારા સંપર્કો અને સામાજિક કનેક્શન્સ વિશેની માહિતીની સીધી ઍક્સેસ."</string>
+ <string name="permgrouplab_calendar" msgid="5863508437783683902">"કૅલેન્ડર"</string>
+ <string name="permgroupdesc_calendar" msgid="2116049656685591803">"તમારા કેલેન્ડરને ઍક્સેસ કરો અને સંશોધિત કરો"</string>
+ <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
+ <string name="permgroupdesc_sms" msgid="3695085582674524761">"SMS ને ઍક્સેસ કરો અને સંશોધિત કરો"</string>
+ <string name="permgrouplab_dictionary" msgid="8114410334955871144">"વપરાશકર્તા શબ્દકોશ"</string>
+ <string name="permgroupdesc_dictionary" msgid="7586787746354378335">"વપરાશકર્તા શબ્દકોશમાં શબ્દો વાંચો અથવા લખો."</string>
+ <string name="permgrouplab_bookmarks" msgid="1949519673103968229">"બુકમાર્ક્સ અને ઇતિહાસ"</string>
+ <string name="permgroupdesc_bookmarks" msgid="4169771606257963028">"બુકમાર્ક્સ અને બ્રાઉઝર ઇતિહાસની સીધી ઍક્સેસ."</string>
+ <string name="permgrouplab_microphone" msgid="171539900250043464">"માઇક્રોફોન"</string>
+ <string name="permgroupdesc_microphone" msgid="1296196977187629181">"ઉપકરણ માઇક્રોફોનનો ઉપયોગ કરો"</string>
+ <string name="permgrouplab_camera" msgid="4820372495894586615">"કૅમેરો"</string>
+ <string name="permgroupdesc_camera" msgid="2429930670410559293">"ઉપકરણ કેમેરાનો ઉપયોગ કરો"</string>
+ <string name="permgrouplab_phone" msgid="5229115638567440675">"ફોન"</string>
+ <string name="permgroupdesc_phone" msgid="2016641188146068700">"ઉપકરણ ટેલિફોનીનો ઉપયોગ કરો"</string>
+ <string name="permgrouplab_sensors" msgid="7416703484233940260">"સેન્સર્સ"</string>
+ <string name="permgroupdesc_sensors" msgid="2987451839455524494">"સેન્સર્સ અને પહેરવાલાયકને ઍક્સેસ કરો"</string>
+ <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"વિંડો સામગ્રી પુનર્પ્રાપ્ત કરો"</string>
+ <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"તમે જેની સાથે ક્રિયાપ્રતિક્રિયા કરી રહ્યાં છો તે વિંડોની સામગ્રીની તપાસ કરો."</string>
+ <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"ટચ કરીને અન્વેષણ કરો સક્ષમ કરો"</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"ટચ કરેલ આઇટમ્સ મોટેથી બોલવામાં આવશે અને હાવભાવની મદદથી સ્ક્રીનનું અન્વેષણ કરી શકાય છે."</string>
+ <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"વિસ્તૃત વેબ ઍક્સેસિબિલિટી ચાલુ કરો"</string>
+ <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"એપ્લિકેશન સામગ્રીને વધુ ઍક્સેસિબલ બનાવવા માટે સ્ક્રિપ્ટ્સ ઇન્સ્ટોલ કરી શકાય છે."</string>
+ <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"તમે લખો તે ટેક્સ્ટનું અવલોકન કરો"</string>
+ <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ક્રેડિટ કાર્ડ નંબર્સ અને પાસવર્ડ્સ જેવો વ્યક્તિગત ડેટા શામેલ છે."</string>
+ <string name="permlab_statusBar" msgid="7417192629601890791">"સ્થિતિ બાર અક્ષમ કરો અથવા સંશોધિત કરો"</string>
+ <string name="permdesc_statusBar" msgid="8434669549504290975">"એપ્લિકેશનને સ્થિતિ બાર અક્ષમ કરવાની અથવા સિસ્ટમ આયકન્સ ઉમેરવા અને દૂર કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_statusBarService" msgid="7247281911387931485">"સ્થિતિ બાર"</string>
+ <string name="permdesc_statusBarService" msgid="716113660795976060">"એપ્લિકેશનને સ્થિતિ બાર થવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_expandStatusBar" msgid="1148198785937489264">"સ્થિતિ બાર વિસ્તૃત કરો/સંકુકિત કરો"</string>
+ <string name="permdesc_expandStatusBar" msgid="6917549437129401132">"એપ્લિકેશનને સ્થિતિ બાર વિસ્તૃત કરવાની અને સંકુચિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_install_shortcut" msgid="4279070216371564234">"શોર્ટકટ્સ ઇન્સ્ટોલ કરો"</string>
+ <string name="permdesc_install_shortcut" msgid="8341295916286736996">"એપ્લિકેશનને વપરાશકર્તા હસ્તક્ષેપ વગર હોમસ્ક્રીન શોર્ટકટ્સ ઉમેરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"શોર્ટકટ્સ અનઇન્સ્ટોલ કરો"</string>
+ <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"એપ્લિકેશનને વપરાશકર્તા હસ્તક્ષેપ વગર હોમસ્ક્રીન શોર્ટકટ્સ દૂર કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"આઉટગોઇંગ કૉલ્સને ફરીથી રૂટ કરો"</string>
+ <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"એપ્લિકેશનને આઉટગોઇંગ કૉલ દરમિયાન કૉલને એક અલગ નંબર પર રીડાયરેક્ટ કરવા અથવા કૉલને સંપૂર્ણપણે છોડી દેવાનાં વિકલ્પ સાથે ડાયલ થઈ રહેલા નંબરને જોવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_receiveSms" msgid="8673471768947895082">"ટેક્સ્ટ સંદેશા (SMS) પ્રાપ્ત કરો"</string>
+ <string name="permdesc_receiveSms" msgid="6424387754228766939">"એપ્લિકેશનને SMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે એપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string>
+ <string name="permlab_receiveMms" msgid="1821317344668257098">"ટેક્સ્ટ સંદેશા (MMS) પ્રાપ્ત કરો"</string>
+ <string name="permdesc_receiveMms" msgid="533019437263212260">"એપ્લિકેશનને MMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે એપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string>
+ <string name="permlab_sendSms" msgid="5600830612147671529">"SMS સંદેશા મોકલો"</string>
+ <string name="permdesc_sendSms" msgid="7094729298204937667">"એપ્લિકેશનને SMS સંદેશા મોકલવાની મંજૂરી આપે છે. આના પરિણામે અનપેક્ષિત શુલ્ક લાગી શકે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી પુષ્ટિ વિના સંદેશા મોકલીને તમારા નાણા ખર્ચાવી શકે છે."</string>
+ <string name="permlab_readSms" msgid="8745086572213270480">"તમારા ટેક્સ્ટ સંદેશા (SMS અથવા MMS) વાંચો"</string>
+ <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"એપ્લિકેશનને તમારા ટેબ્લેટ અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string>
+ <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"એપ્લિકેશનને તમારા ટીવી અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string>
+ <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"એપ્લિકેશનને તમારા ફોન અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string>
+ <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ટેક્સ્ટ સંદેશા (WAP) પ્રાપ્ત કરો"</string>
+ <string name="permdesc_receiveWapPush" msgid="748232190220583385">"એપ્લિકેશનને WAP સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આ પરવાનગીમાં તમને દર્શાવ્યા વિના તમને મોકલેલ સંદેશાઓનું નિરીક્ષણ કરવાની અને કાઢી નાખવાની ક્ષમતાનો સમાવેશ થાય છે."</string>
+ <string name="permlab_getTasks" msgid="6466095396623933906">"ચાલુ એપ્લિકેશન્સ પુનઃપ્રાપ્ત કરો"</string>
+ <string name="permdesc_getTasks" msgid="7454215995847658102">"એપ્લિકેશનને વર્તમાનમાં અને તાજેતરમાં ચાલી રહેલ કાર્યો વિશેની વિગતવાર માહિતી પુનઃપ્રાપ્ત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને ઉપકરણ પર કઈ એપ્લિકેશન્સનો ઉપયોગ થાય છે તેના વિશેની માહિતી શોધવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permlab_reorderTasks" msgid="2018575526934422779">"ચાલુ એપ્લિકેશન્સને ફરી ગોઠવો"</string>
+ <string name="permdesc_reorderTasks" msgid="7734217754877439351">"એપ્લિકેશનને અગ્રભૂમિ અને પૃષ્ટભૂમિમાં કાર્યો ખસેડવાની મંજૂરી આપે છે. તમારા ઇનપુટ વિના એપ્લિકેશન આ કરી શકે છે."</string>
+ <string name="permlab_enableCarMode" msgid="5684504058192921098">"કાર મોડ સક્ષમ કરો"</string>
+ <string name="permdesc_enableCarMode" msgid="4853187425751419467">"એપ્લિકેશનને કાર મોડ સક્ષમ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"અન્ય એપ્લિકેશન્સ બંધ કરો"</string>
+ <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"એપ્લિકેશનને અન્ય એપ્લિકેશન્સની પૃષ્ઠભૂમિ પ્રક્રિયા સમાપ્ત કરવાની મંજૂરી આપે છે. આનાથી અન્ય એપ્લિકેશન્સ ચાલવાથી બંધ થઈ શકે છે."</string>
+ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"અન્ય એપ્લિકેશન્સ પર ડ્રો કરો"</string>
+ <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"એપ્લિકેશનને વપરાશકર્તા ઇન્ટરફેસના ભાગો અથવા અન્ય એપ્લિકેશન્સની ટોચ પર ડ્રો કરવાની મંજૂરી આપે છે. તે કોઈપણ એપ્લિકેશનના તમારા ઉપયોગમાં હસ્તક્ષેપ કરી શકે છે અથવા તે બદલો જે તમને લાગે છે કે તમે અન્ય એપ્લિકેશન્સમાં જોઈ રહ્યાં છો."</string>
+ <string name="permlab_persistentActivity" msgid="8841113627955563938">"એપ્લિકેશનને હંમેશા શરૂ રાખો"</string>
+ <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટેબ્લેટને ધીમું કરીને અન્ય એપ્લિકેશન્સ પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string>
+ <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટીવીને ધીમું કરીને અન્ય એપ્લિકેશન્સ પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string>
+ <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ફોનને ધીમો કરીને અન્ય એપ્લિકેશન્સ પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string>
+ <string name="permlab_getPackageSize" msgid="7472921768357981986">"એપ્લિકેશન સંગ્રહ સ્થાન માપો"</string>
+ <string name="permdesc_getPackageSize" msgid="3921068154420738296">"એપ્લિકેશનને તેનો કોડ, ડેટા અને કેશ કદ પુનઃપ્રાપ્ત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_writeSettings" msgid="2226195290955224730">"સિસ્ટમ સેટિંગ્સ સંશોધિત કરો"</string>
+ <string name="permdesc_writeSettings" msgid="7775723441558907181">"એપ્લિકેશનને તમારા સિસ્ટમના સેટિંગ્સ ડેટાને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારા સિસ્ટમની ગોઠવણીને દૂષિત કરી શકે છે."</string>
+ <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"સ્ટાર્ટઅપ પર શરૂ કરો"</string>
+ <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"એપ્લિકેશનને સિસ્ટમ બૂટ થવાનું સમાપ્ત કરી લે કે તરત જ પોતાની જાતે પ્રારંભ થવાની મંજૂરી આપે છે. આનાથી ટેબ્લેટને પ્રારંભ થવામાં વધુ લાંબો સમય લાગી શકે છે અને એપ્લિકેશનને હંમેશા ચાલુ રહીને ટેબ્લેટને એકંદર ધીમું કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"એપ્લિકેશનને સિસ્ટમ બૂટ થવાનું સમાપ્ત કરી લે કે તરત જ પોતાની જાતે પ્રારંભ થવાની મંજૂરી આપે છે. આનાથી ટીવીને પ્રારંભ થવામાં વધુ સમય લાગી શકે છે અને એપ્લિકેશનને હંમેશા ચાલુ રહીને ટીવીને એકંદર ધીમું કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"એપ્લિકેશનને સિસ્ટમ બૂટ થવાનું સમાપ્ત કરી લે કે તરત જ પોતાની જાતે પ્રારંભ થવાની મંજૂરી આપે છે. આનાથી ફોનને પ્રારંભ થવામાં વધુ સમય લાગી શકે છે અને એપ્લિકેશનને હંમેશાં ચાલુ રહીને ફોનને એકંદર ધીમું કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permlab_broadcastSticky" msgid="7919126372606881614">"સ્ટિકી બ્રોડકાસ્ટ મોકલો"</string>
+ <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"એપ્લિકેશનને સ્ટિકી બ્રોડકાસ્ટ્સ મોકલવાની મંજૂરી આપે છે, જે બ્રોડકાસ્ટ સમાપ્ત થયા પછી પણ રહે છે. અતિરિક્ત ઉપયોગ ટેબ્લેટને વધુ પડતી મેમરીનો ઉપયોગ કરવાને કારણે તેને ધીમું અથવા અસ્થિર બનાવી શકે છે."</string>
+ <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"એપ્લિકેશનને સ્ટિકી બ્રોડકાસ્ટ્સ મોકલવાની મંજૂરી આપે છે, જે બ્રોડકાસ્ટ સમાપ્ત થયા પછી પણ રહે છે. અતિરિક્ત ઉપયોગ ટીવીને વધુ પડતી મેમરીનો ઉપયોગ કરવાને કારણે તેને ધીમું અથવા અસ્થિર બનાવી શકે છે."</string>
+ <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"એપ્લિકેશનને સ્ટિકી બ્રોડકાસ્ટ્સ મોકલવાની મંજૂરી આપે છે, જે બ્રોડકાસ્ટ્સ સમાપ્ત થયા પછી પણ રહે છે. અતિરિક્ત ઉપયોગ ફોનને વધુ પડતી મેમરીનો ઉપયોગ કરવાને કારણે તેને ધીમું અથવા અસ્થિર બનાવી શકે છે."</string>
+ <string name="permlab_readContacts" msgid="8348481131899886131">"તમારા સંપર્કો વાંચો"</string>
+ <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string>
+ <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા TV પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string>
+ <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ફોન પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string>
+ <string name="permlab_writeContacts" msgid="5107492086416793544">"તમારા સંપર્કો સંશોધિત કરો"</string>
+ <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ સંપર્કો સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટીવી પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ સંપર્કો સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ફોન પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_readCallLog" msgid="3478133184624102739">"કૉલ લૉગ વાંચો"</string>
+ <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string>
+ <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string>
+ <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string>
+ <string name="permlab_writeCallLog" msgid="8552045664743499354">"કૉલ લૉગ લખો"</string>
+ <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string>
+ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string>
+ <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string>
+ <string name="permlab_readProfile" msgid="4701889852612716678">"તમારું પોતાનું સંપર્ક કાર્ડ વાંચો"</string>
+ <string name="permdesc_readProfile" product="default" msgid="5462475151849888848">"એપ્લિકેશનને તમારા નામ અને સંપર્ક માહિતી જેવી તમારા ઉપકરણ પર સંગ્રહિત વ્યક્તિગત પ્રોફાઇલ માહિતીને વાંચવાની મંજૂરી આપે છે. આનો અર્થ છે કે એપ્લિકેશન તમને ઓળખી શકે છે અને અન્ય લોકોને તમારી પ્રોફાઇલ માહિતી મોકલી શકે છે."</string>
+ <string name="permlab_writeProfile" msgid="907793628777397643">"તમારું પોતાનું સંપર્ક કાર્ડ સંશોધિત કરો"</string>
+ <string name="permdesc_writeProfile" product="default" msgid="5552084294598465899">"એપ્લિકેશનને તમારા નામ અને સંપર્ક માહિતી જેવી તમારા ઉપકરણ પર સંગ્રહિત વ્યક્તિગત પ્રોફાઇલ માહિતીને બદલા અથવા ઉમેરવાની મંજૂરી આપે છે. આનો અર્થ છે કે એપ્લિકેશન તમને ઓળખી શકે છે અને અન્ય લોકોને તમારી પ્રોફાઇલ માહિતી મોકલી શકે છે."</string>
+ <string name="permlab_bodySensors" msgid="4871091374767171066">"બૉડી સેન્સર્સ (જેમ કે હાર્ટ રેટ મૉનિટર્સ)"</string>
+ <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"એપ્લિકેશનને તમારી હૃદય ગતિ જેવી તમારી શારીરિક સ્થિતિને મૉનિટર કરતાં સેન્સર્સથી ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"તમારી સામાજિક સ્ટ્રીમ વાંચો"</string>
+ <string name="permdesc_readSocialStream" product="default" msgid="4255706027172050872">"એપ્લિકેશનને તમારા અને તમારા મિત્રોના સામાજિક અપડેટ્સ ઍક્સેસ કરવા અને સમન્વયિત કરવાની મંજૂરી આપે છે. માહિતી શેર કરતી વખતે સાવચેત રહો -- આ એપ્લિકેશનને સામાજિક નેટવર્ક્સ પર તમારી અને તમારા મિત્રોની વચ્ચેના સંચારને વાંચવાની મંજૂરી આપે છે, પછી ભલેને ગોપનીયતા કોઈપણ હોય. નોંધ: આ પરવાનગી બધા સામાજિક નેટવર્ક્સ પર લાગુ કરી શકાશે નહીં."</string>
+ <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"તમારા સામાજિક સ્ટ્રીમ પર લખો"</string>
+ <string name="permdesc_writeSocialStream" product="default" msgid="3086557552204114849">"એપ્લિકેશનને તમારા મિત્રોના સામાજિક અપડેટ્સ પ્રદર્શિત કરવાની મંજૂરી આપે છે. માહિતી શેર કરતી વખતે સાવચેત રહો -- આ એપ્લિકેશનને મિત્ર તરફથી આવતું દેખાઈ શકે તેવા સંદેશા નિર્મિત કરવાની મંજૂરી આપે છે. નોંધ: આ પરવાનગી બધા સામાજિક નેટવર્ક્સ પર લાગુ કરી શકાશે નહીં."</string>
+ <string name="permlab_readCalendar" msgid="5972727560257612398">"કૅલેન્ડર ઇવેન્ટ્સ વત્તા ગોપનીયતા માહિતી વાંચો"</string>
+ <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમામ કૅલેન્ડર ઇવેન્ટ્સ વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમારા કૅલેન્ડર ડેટાને શેર કરવા કે સાચવવાની મંજૂરી આપી શકે છે, પછી ભલે ગોપનીયતા અથવા સંવેદિતા કોઈપણ હોય."</string>
+ <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ટીવી પર સંગ્રહિત તમામ કૅલેન્ડર ઇવેન્ટ્સ વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમારા કૅલેન્ડર ડેટાને શેર કરવા કે સાચવવાની મંજૂરી આપી શકે છે, પછી ભલે ગોપનીયતા અથવા સંવેદિતા કોઈપણ હોય."</string>
+ <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ફોન પર સંગ્રહિત તમામ કૅલેન્ડર ઇવેન્ટ્સ વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમારા કૅલેન્ડર ડેટાને શેર કરવા કે સાચવવાની મંજૂરી આપી શકે છે, પછી ભલે ગોપનીયતા અથવા સંવેદિતા કોઈપણ હોય."</string>
+ <string name="permlab_writeCalendar" msgid="8438874755193825647">"કૅલેન્ડર ઇવેન્ટ્સ ઉમેરો અથવા સંશોધિત કરો અને માલિકની જાણ બહાર અતિથિઓને ઇમેઇલ મોકલો"</string>
+ <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ટેબ્લેટ પર તમે સંશોધિત કરી શકો તે ઇવેન્ટ્સ ઉમેરવા, દૂર કરવા, બદલવાની મંજૂરી આપે છે. આ એપ્લિકેશનને કૅલેન્ડર માલિક તરફથી આવતાં હોય તેવા સંદેશા મોકલવાની અથવા માલિકની જાણ વિના ઇવેન્ટ્સ સંશોધિત કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ટીવી પર તમે સંશોધિત કરી શકો તે ઇવેન્ટ્સ ઉમેરવા, દૂર કરવા, બદલવાની મંજૂરી આપે છે. આ એપ્લિકેશનને કૅલેન્ડર માલિક તરફથી આવતાં હોય તેવા સંદેશા મોકલવાની અથવા માલિકની જાણ વિના ઇવેન્ટ્સ સંશોધિત કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"એપ્લિકેશનને મિત્રોના અથવા સહકાર્યકરો સહિત તમારા ફોન પર તમે સંશોધિત કરી શકો તે ઇવેન્ટ્સ ઉમેરવા, દૂર કરવા, બદલવાની મંજૂરી આપે છે. આ એપ્લિકેશનને કૅલેન્ડર માલિક તરફથી આવતાં હોય તેવા સંદેશા મોકલવાની અથવા માલિકની જાણ વિના ઇવેન્ટ્સ સંશોધિત કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permlab_accessMockLocation" msgid="8688334974036823330">"પરીક્ષણ માટે નકલી સ્થાન સ્રોતો"</string>
+ <string name="permdesc_accessMockLocation" msgid="5808711039482051824">"પરીક્ષણ માટે નકલી સ્થાન સ્રોતો બનાવો અથવા એક નવો સ્થાન પ્રદાતા ઇન્સ્ટોલ કરો. આ એપ્લિકેશનને GPS અથવા સ્થાન પ્રદાતાઓ જેવા અન્ય સ્થાન સ્રોતો દ્વારા પરત કરાયેલ સ્થાન અને/અથવા સ્થિતિને ઓવરરાઇડ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"વધારાના સ્થાન પ્રદાતા આદેશોને ઍક્સેસ કરો"</string>
+ <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"એપ્લિકેશનને વધારાના સ્થાન પ્રદાતા આદેશોને ઍક્સેસ કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને GPS અથવા અન્ય સ્થાન સ્રોતોના ઓપરેશનમાં દખલ કરવાની મંજૂરી આપી શકે છે."</string>
+ <string name="permlab_accessFineLocation" msgid="1191898061965273372">"નિશ્ચિત સ્થાન (GPS અને નેટવર્ક-આધારિત)"</string>
+ <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"એપ્લિકેશનને ગ્લોબલ પોઝિશનિંગ સિસ્ટમ (GPS) અથવા સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને તમારું ચોક્કસ સ્થાન મેળવવાની મંજૂરી આપે છે. એપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. એપ્લિકેશન્સ તમે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે અને અતિરિક્ત બૅટરી પાવરનો ઉપયોગ કરી શકે છે."</string>
+ <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"અંદાજિત સ્થાન (નેટવર્ક-આધારિત)"</string>
+ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"એપ્લિકેશનને તમારું અંદાજિત સ્થાન મેળવવાની મંજૂરી આપે છે. આ સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને સ્થાન સેવાઓ દ્વારા મેળવવામાં આવે છે. એપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. એપ્લિકેશન્સ તમે અંદાજે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે."</string>
+ <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"તમારી ઑડિઓ સેટિંગ્સ બદલો"</string>
+ <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"એપ્લિકેશનને વૈશ્વિક ઑડિઓ સેટિંગ્સને સંશોધિત કરવાની મંજૂરી આપે છે, જેમ કે વોલ્યુમ અને આઉટપુટ માટે કયા સ્પીકરનો ઉપયોગ કરવો."</string>
+ <string name="permlab_recordAudio" msgid="3876049771427466323">"ઑડિઓ રેકોર્ડ કરો"</string>
+ <string name="permdesc_recordAudio" msgid="4906839301087980680">"એપ્લિકેશનને માઇક્રોફોન વડે ઑડિઓ રેકોર્ડ કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનને તમારી પુષ્ટિ વિના કોઈપણ સમયે ઑડિઓ રેકોર્ડ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_sim_communication" msgid="1180265879464893029">"sim સંચાર"</string>
+ <string name="permdesc_sim_communication" msgid="5725159654279639498">"એપ્લિકેશનને SIM પરા આદેશો મોકલવાની મંજૂરી આપે છે. આ ખૂબ જ ખતરનાક છે."</string>
+ <string name="permlab_camera" msgid="3616391919559751192">"ચિત્રો અને વિડિઓઝ લો"</string>
+ <string name="permdesc_camera" msgid="8497216524735535009">"એપ્લિકેશનને કૅમેરા વડે ચિત્રો અને વિડિઓઝ લેવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનને તમારી પુષ્ટિ વિના કોઈપણ સમયે કૅમેરાના ઉપયોગની મંજૂરી આપે છે."</string>
+ <string name="permlab_vibrate" msgid="7696427026057705834">"વાઇબ્રેશન નિયંત્રિત કરો"</string>
+ <string name="permdesc_vibrate" msgid="6284989245902300945">"એપ્લિકેશનને વાઇબ્રેટરને નિયંત્રિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_flashlight" msgid="2155920810121984215">"ફ્લેશલાઇટ નિયંત્રિત કરો"</string>
+ <string name="permdesc_flashlight" msgid="6522284794568368310">"એપ્લિકેશનને ફ્લેશલાઇટને નિયંત્રિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_callPhone" msgid="3925836347681847954">"સીધા જ ફોન નંબર્સ પર કૉલ કરો"</string>
+ <string name="permdesc_callPhone" msgid="3740797576113760827">"એપ્લિકેશનને તમારા હસ્તક્ષેપ વિના ફોન નંબર્સ પર કૉલ કરવાની મંજૂરી આપે છે. આ અનપેક્ષિત શુલ્ક અથવા કૉલ્સમાં પરિણમી શકે છે. નોંધો કે આ એપ્લિકેશનને કટોકટીના નંબર્સ પર કૉલ કરવાની મંજૂરી આપતું નથી. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી પુષ્ટિ વિના કૉલ્સ કરીને તમારા પૈસા ખર્ચ કરી શકે છે."</string>
+ <string name="permlab_readPhoneState" msgid="9178228524507610486">"ફોન સ્થિતિ અને ઓળખ વાંચો"</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"એપ્લિકેશનને ફોન સુવિધાઓને ઍક્સેસ કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનને ફોન નંબર અને ઉપકરણ ID, કૉલ સક્રિય છે અને કોઈ કૉલ દ્વારા કનેક્ટ થયેલ રિમોટ નંબર નિર્ધારિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"ટેબ્લેટને નિષ્ક્રિય થતું અટકાવો"</string>
+ <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"ટીવીને નિષ્ક્રિય થતો અટકાવો"</string>
+ <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"ફોનને નિષ્ક્રિય થતો અટકાવો"</string>
+ <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"એપ્લિકેશનને ટેબ્લેટને નિષ્ક્રિય થઈ જતો અટકાવવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"એપ્લિકેશનને TV ને નિષ્ક્રિય થઈ જતો અટકાવવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"એપ્લિકેશનને ફોનને નિષ્ક્રિય થઈ જતો અટકાવવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_transmitIr" msgid="7545858504238530105">"ઇંફ્રારેડ ટ્રાંસ્મિટ કરો"</string>
+ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"એપ્લિકેશનને ટેબ્લેટના ઇન્ફ્રારેડ ટ્રાન્સમીટરનો ઉપયોગ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"એપ્લિકેશનને TV ના ઇન્ફ્રારેડ ટ્રાન્સમીટરનો ઉપયોગ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"એપ્લિકેશનને ફોનના ઇન્ફ્રારેડ ટ્રાન્સમિટરનો ઉપયોગ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_setWallpaper" msgid="6627192333373465143">"વૉલપેપર સેટ કરો"</string>
+ <string name="permdesc_setWallpaper" msgid="7373447920977624745">"એપ્લિકેશનને સિસ્ટમ વૉલપેપર સેટ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"તમારા વૉલપેપર કદને સમાયોજિત કરો"</string>
+ <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"એપ્લિકેશનને સિસ્ટમ વૉલપેપર કદના સંકેતો સેટ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_setTimeZone" msgid="2945079801013077340">"સમય ઝોન સેટ કરો"</string>
+ <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"એપ્લિકેશનને ટેબ્લેટનો સમય ઝોન બદલવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"એપ્લિકેશનને ટીવીનો સમય ઝોન બદલવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"એપ્લિકેશનને ફોનનો સમય ઝોન બદલવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_getAccounts" msgid="1086795467760122114">"ઉપકરણ પર એકાઉન્ટ્સ શોધો"</string>
+ <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"એપ્લિકેશનને ટેબ્લેટ દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશન્સ દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string>
+ <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"એપ્લિકેશનને ટીવી દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશન્સ દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string>
+ <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"એપ્લિકેશનને ફોન દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશન્સ દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string>
+ <string name="permlab_authenticateAccounts" msgid="5265908481172736933">"એકાઉન્ટ્સ બનાવો અને પાસવર્ડ્સ સેટ કરો"</string>
+ <string name="permdesc_authenticateAccounts" msgid="5472124296908977260">"એપ્લિકેશનને, એકાઉન્ટ્સ બનાવવા અને તેમના પાસવર્ડ મેળવવા તથા સેટ કરવા સહિત, AccountManager ની એકાઉન્ટ પ્રમાણકર્તા ક્ષમતાઓનો ઉપયોગ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_manageAccounts" msgid="4983126304757177305">"એકાઉન્ટ્સ ઉમેરો અથવા દૂર કરો"</string>
+ <string name="permdesc_manageAccounts" msgid="8698295625488292506">"એપ્લિકેશનને એકાઉન્ટ્સ ઉમેરવા અને દૂર કરવા અને તેમના પાસવર્ડ કાઢી નાખવા જેવા ઓપરેશન્સ કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_useCredentials" msgid="235481396163877642">"ઉપકરણ પર એકાઉન્ટ્સનો ઉપયોગ કરો"</string>
+ <string name="permdesc_useCredentials" msgid="7984227147403346422">"એપ્લિકેશનને પ્રમાણીકરણ ટોકન્સની વિનંતી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_accessNetworkState" msgid="4951027964348974773">"નેટવર્ક કનેક્શન્સ જુઓ"</string>
+ <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"એપ્લિકેશનને નેટવર્ક કનેક્શન્સ વિશેની માહિતી જોવાની મંજૂરી આપે છે જેમ કે કયા નેટવર્ક્સ અસ્તિત્વમાં છે અને કનેક્ટ થયેલ છે."</string>
+ <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"પૂર્ણ નેટવર્ક ઍક્સેસ"</string>
+ <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"એપ્લિકેશનને નેટવર્ક સૉકેટ્સ બનાવવાની અને કસ્ટમ નેટવર્ક પ્રોટોકોલ્સના ઉપયોગની મંજૂરી આપે છે. બ્રાઉઝર અને એપ્લિકેશન્સ ઇન્ટરનેટ પર ડેટા મોકલવાના સાધનો પૂરા પાડે છે, તેથી ઇન્ટરનેટ પર ડેટા મોકલવા માટે આ પરવાનગી જરૂરી નથી."</string>
+ <string name="permlab_changeNetworkState" msgid="958884291454327309">"નેટવર્ક કનેક્ટિવિટી બદલો"</string>
+ <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"એપ્લિકેશનને નેટવર્ક કનેક્ટિવિટીની સ્થિતિ બદલવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_changeTetherState" msgid="5952584964373017960">"ટિથર કરેલ કનેક્ટિવિટી બદલો"</string>
+ <string name="permdesc_changeTetherState" msgid="1524441344412319780">"એપ્લિકેશનને ટિથર્ડ નેટવર્ક કનેક્ટિવિટીની સ્થિતિ બદલવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_accessWifiState" msgid="5202012949247040011">"Wi-Fi કનેક્શન્સ જુઓ"</string>
+ <string name="permdesc_accessWifiState" msgid="5002798077387803726">"એપ્લિકેશનને Wi-Fi નેટવર્કિંગ વિશેની માહિતી જોવાની મંજૂરી આપે છે, જેમ કે Wi-Fi સક્ષમ છે કે કેમ અને કનેક્ટ થયેલ Wi-Fi ઉપકરણોના નામ."</string>
+ <string name="permlab_changeWifiState" msgid="6550641188749128035">"Wi-Fi થી કનેક્ટ અને ડિસ્કનેક્ટ કરો"</string>
+ <string name="permdesc_changeWifiState" msgid="7137950297386127533">"એપ્લિકેશનને Wi-Fi ઍક્સેસ બિંદુઓથી કનેક્ટ થવા અને ડિસ્કનેક્ટ થવાની અને Wi-Fi નેટવર્ક્સ માટે ઉપકરણ ગોઠવણી પર ફેરફારો કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi મલ્ટિકાસ્ટ રિસેપ્શનને મંજૂરી આપો"</string>
+ <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"એપ્લિકેશનને ફક્ત તમારા ટેબ્લેટ પર નહીં, પણ મલ્ટિકાસ્ટ સરનામાંનો ઉપયોગ કરીને Wi-Fi નેટવર્ક પરના તમામ ઉપકરણોને મોકલાયેલ પૅકેટ્સ પ્રાપ્ત કરવાની મંજૂરી આપે છે. તે બિન-મલ્ટિકાસ્ટ મોડ કરતાં વધુ પાવર વાપરે છે."</string>
+ <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"એપ્લિકેશનને ફક્ત તમારા ટીવી પર નહીં, પણ મલ્ટિકાસ્ટ સરનામાંનો ઉપયોગ કરીને Wi-Fi નેટવર્ક પરના તમામ ઉપકરણોને મોકલાયેલ પૅકેટ્સ પ્રાપ્ત કરવાની મંજૂરી આપે છે. તે બિન-મલ્ટિકાસ્ટ મોડ કરતાં વધુ પાવર વાપરે છે."</string>
+ <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"એપ્લિકેશનને ફક્ત તમારા ફોન પર નહીં, પણ મલ્ટિકાસ્ટ સરનામાંનો ઉપયોગ કરીને Wi-Fi નેટવર્ક પર તમામ ઉપકરણોને મોકલાયેલ પૅકેટ્સ પ્રાપ્ત કરવાની મંજૂરી આપે છે. તે બિન-મલ્ટિકાસ્ટ મોડ કરતાં વધુ પાવર વાપરે છે."</string>
+ <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetooth સેટિંગ્સ ઍક્સેસ કરો"</string>
+ <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"એપ્લિકેશનને સ્થાનિક Bluetooth ટેબ્લેટ ગોઠવવાની અને રિમોટ ઉપકરણો શોધવા અને તેમની સાથે જોડી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"એપ્લિકેશનને સ્થાનિક Bluetooth ટીવી ગોઠવવાની અને રિમોટ ઉપકરણો શોધવા અને તેમની સાથે જોડી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"એપ્લિકેશનને સ્થાનિક Bluetooth ફોન ગોઠવવાની અને રિમોટ ઉપકરણો શોધવા અને તેમની સાથે જોડી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_accessWimaxState" msgid="4195907010610205703">"WiMAX થી કનેક્ટ અને ડિસ્કનેક્ટ કરો"</string>
+ <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"એપ્લિકેશનને WiMAX સક્ષમ છે કે કેમ અને કનેક્ટ થયેલ છે તે કોઈપણ WiMAX નેટવર્ક્સ વિશેની માહિતી નિર્ધારિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_changeWimaxState" msgid="2405042267131496579">"WiMAX સ્થિતિ બદલો"</string>
+ <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"ટેબ્લેટને WiMAX નેટવર્ક્સ પર કનેક્ટ કરવાની અને ટેબ્લેટને તેનાથી ડિસ્કનેક્ટ કરવાની મંજૂરી એપ્લિકેશનને આપે છે."</string>
+ <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"ટીવીને WiMAX નેટવર્ક્સ પર કનેક્ટ કરવાની અને ટીવીને તેનાથી ડિસ્કનેક્ટ કરવાની મંજૂરી એપ્લિકેશનને આપે છે."</string>
+ <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"ફોનને WiMAX નેટવર્ક્સ પર કનેક્ટ કરવાની અને ફોનને તેનાથી ડિસ્કનેક્ટ કરવાની મંજૂરી એપ્લિકેશનને આપે છે."</string>
+ <string name="permlab_bluetooth" msgid="6127769336339276828">"Bluetooth ઉપકરણો સાથે જોડી કરો"</string>
+ <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"એપ્લિકેશનને ટેબ્લેટ પર Bluetooth ની ગોઠવણી જોવાની અને જોડી કરેલ ઉપકરણો સાથે કનેક્શન્સ કરવાની અને સ્વીકારવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"એપ્લિકેશનને ટીવી પર Bluetooth ની ગોઠવણી જોવાની અને જોડી કરેલ ઉપકરણો સાથે કનેક્શન્સ કરવાની અને સ્વીકારવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"એપ્લિકેશનને ફોન પર Bluetooth ની ગોઠવણી જોવાની અને જોડી કરેલ ઉપકરણો સાથે કનેક્શન્સ કરવાની અને સ્વીકારવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_nfc" msgid="4423351274757876953">"નિઅર ફીલ્ડ કમ્યુનિકેશન નિયંત્રિત કરો"</string>
+ <string name="permdesc_nfc" msgid="7120611819401789907">"એપ્લિકેશનને નિઅર ફીલ્ડ કમ્યુનિકેશન (NFC) ટેગ્સ, કાર્ડ્સ અને રીડર્સ સાથે સંચાર કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_disableKeyguard" msgid="3598496301486439258">"તમારું સ્ક્રીન લૉક અક્ષમ કરો"</string>
+ <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"એપ્લિકેશનને કીલૉક અને કોઈપણ સંકળાયેલ પાસવર્ડ સુરક્ષા અક્ષમ કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, ઇનકમિંગ ફોન કૉલ પ્રાપ્ત કરતી વખતે ફોન, કીલૉકને અક્ષમ કરે છે, પછી કૉલ સમાપ્ત થઈ જવા પર કીલૉક ફરીથી સક્ષમ કરે છે."</string>
+ <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ફિંગરપ્રિન્ટ હાર્ડવેરને સંચાલિત કરો"</string>
+ <string name="permdesc_manageFingerprint" msgid="178208705828055464">"એપ્લિકેશનને ઉપયોગ માટે ફિંગરપ્રિન્ટ નમૂના ઉમેરવા અને કાઢી નાખવા માટે પદ્ધતિઓની વિનંતી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_useFingerprint" msgid="3150478619915124905">"ફિંગરપ્રિન્ટ હાર્ડવેરનો ઉપયોગ કરો"</string>
+ <string name="permdesc_useFingerprint" msgid="9165097460730684114">"એપ્લિકેશનને પ્રમાણીકરણ માટે ફિંગરપ્રિન્ટ હાર્ડવેરનો ઉપયોગ કરવાની મંજૂરી આપે છે"</string>
+ <string name="fingerprint_acquired_partial" msgid="735082772341716043">"આંશિક ફિંગરપ્રિન્ટ મળી. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"ફિંગરપ્રિન્ટ પ્રક્રિયા કરી શકાઈ નથી. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"ફિંગરપ્રિન્ટ સેન્સર ગંદું છે. કૃપા કરીને સાફ કરો અને ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_acquired_too_fast" msgid="6470642383109155969">"આંગળી બહુ ઝડપથી ખસેડી. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_acquired_too_slow" msgid="7381891107120721078">"આંગળી બહુ ધીમેથી ખસેડી. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
+ <string-array name="fingerprint_acquired_vendor">
+ </string-array>
+ <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ફિંગરપ્રિન્ટ હાર્ડવેર ઉપલબ્ધ નથી."</string>
+ <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ફિંગરપ્રિન્ટ સંગ્રહિત કરી શકાતી નથી. કૃપા કરીને અસ્તિત્વમાંની ફિંગરપ્રિન્ટ દૂર કરો."</string>
+ <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ફિંગરપ્રિન્ટનો સમય બાહ્ય થયો. ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_error_canceled" msgid="4402024612660774395">"ફિંગરપ્રિન્ટ ઓપરેશન રદ કર્યું."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"ઘણા બધા પ્રયત્નો. પછીથી ફરી પ્રયાસ કરો."</string>
+ <string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"ફરી પ્રયાસ કરો."</string>
+ <string-array name="fingerprint_error_vendor">
+ </string-array>
+ <string name="permlab_readSyncSettings" msgid="6201810008230503052">"સમન્વયન સેટિંગ્સ વાંચો"</string>
+ <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"એપ્લિકેશનને એકાઉન્ટ માટે સમન્વયન સેટિંગ્સને વાંચવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આ એકાઉન્ટ સાથે લોકો એપ્લિકેશન સમન્વયિત થઈ છે કે કેમ તે નિર્ધારિત કરી શકે છે."</string>
+ <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"સમન્વયન ચાલુ અને બંધ ટોગલ કરો"</string>
+ <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"એપ્લિકેશનને એકાઉન્ટ માટે સમન્વયન સેટિંગ્સ સંશોધિત કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ એકાઉન્ટ સાથે લોકો એપ્લિકેશનના સમન્વયનને સક્ષમ કરવા માટે થઈ શકે છે."</string>
+ <string name="permlab_readSyncStats" msgid="7396577451360202448">"સમન્વયન આંકડા વાંચો"</string>
+ <string name="permdesc_readSyncStats" msgid="1510143761757606156">"એપ્લિકેશનને સમન્વયન ઇવેન્ટ્સનો ઇતિહાસ અને કેટલો ડેટા સમન્વયિત થયો છે તે સહિત કોઈ એકાઉન્ટ માટેનાં સમન્વયન આંકડા વાંચવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_subscribedFeedsWrite" msgid="9015246325408209296">"સબ્સ્ક્રાઇબ કરેલ ફીડ્સ લખો"</string>
+ <string name="permdesc_subscribedFeedsWrite" msgid="6928930188826089413">"એપ્લિકેશનને તમારા વર્તમાનમાં સમન્વયિત ફીડ્સ સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારા સમન્વયિત ફીડ્સને બદલી શકે છે."</string>
+ <string name="permlab_readDictionary" msgid="4107101525746035718">"તમે શબ્દકોશમાં ઉમેરેલ શબ્દો વાંચો"</string>
+ <string name="permdesc_readDictionary" msgid="659614600338904243">"એપ્લિકેશનને વપરાશકર્તાએ વપરાશકર્તા શબ્દકોશમાં સંગ્રહિત કર્યા હોઈ શકે છે તે તમામ શબ્દો, નામો અને શબ્દસમૂહોને વાંચવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_writeDictionary" msgid="2183110402314441106">"વપરાશકર્તા દ્વારા વ્યાખ્યાયિત શબ્દકોશમાં શબ્દો ઉમેરો"</string>
+ <string name="permdesc_writeDictionary" msgid="8185385716255065291">"એપ્લિકેશનને વપરાશકર્તા શબ્દકોશ પર નવા શબ્દો લખવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"તમારા USB સંગ્રહની સામગ્રીઓ વાંચો"</string>
+ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"તમારા SD કાર્ડની સામગ્રીઓ વાંચો"</string>
+ <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"એપ્લિકેશનને તમારા USB સંગ્રહની સામગ્રીઓ વાંચવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"એપ્લિકેશનને તમારા SD કાર્ડની સામગ્રીઓ વાંચવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"તમારા USB સંગ્રહની સામગ્રીઓ સંશોધિત કરો અથવા કાઢી નાખો"</string>
+ <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"તમારા SD કાર્ડની સામગ્રીઓ સંશોધિત કરો અથવા કાઢી નાખો"</string>
+ <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"એપ્લિકેશનને USB સંગ્રહ પર લખવાની મંજૂરી આપે છે."</string>
+ <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"એપ્લિકેશનને SD કાર્ડ પર લખવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_use_sip" msgid="2052499390128979920">"SIP કૉલ્સ કરો/પ્રાપ્ત કરો"</string>
+ <string name="permdesc_use_sip" msgid="2297804849860225257">"એપ્લિકેશનને SIP કૉલ્સ કરવા અને પ્રાપ્ત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"નવા ટેલિકોમ SIM કનેક્શન્સની નોંધણી કરો"</string>
+ <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"એપ્લિકેશનને નવા ટેલિકોમ SIM કનેક્શન્સની નોંધણી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_register_call_provider" msgid="108102120289029841">"નવા ટેલિકોમ કનેક્શન્સની નોંધણી કરો"</string>
+ <string name="permdesc_register_call_provider" msgid="7034310263521081388">"એપ્લિકેશનને નવા ટેલિકોમ કનેક્શન્સની નોંધણી કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_connection_manager" msgid="1116193254522105375">"ટેલિકોમ કનેક્શન્સ સંચાલિત કરો"</string>
+ <string name="permdesc_connection_manager" msgid="5925480810356483565">"એપ્લિકેશનને ટેલીકોમ કનેક્શન્સને સંચાલિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_bind_incall_service" msgid="6773648341975287125">"ઇન-કૉલ સ્ક્રીન વડે ક્રિયાપ્રતિક્રિયા કરો"</string>
+ <string name="permdesc_bind_incall_service" msgid="8343471381323215005">"વપરાશકર્તા ઇન-કૉલ સ્ર્કીન ક્યારે અને કેવી રીતે જુએ છે તે નિયંત્રિત કરવાની એપ્લિકેશનને મંજૂરી આપે છે."</string>
+ <string name="permlab_bind_connection_service" msgid="3557341439297014940">"ટેલિફોની સેવાઓ સાથે વાર્તાલાપ કરો"</string>
+ <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"એપ્લિકેશનને કૉલ્સ કરવા/પ્રાપ્ત કરવા માટે ટેલિફોની સેવાઓ સાથે ક્રિયાપ્રતિક્રિયા કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_control_incall_experience" msgid="9061024437607777619">"કૉલમાં વપરાશકર્તા અનુભવ પ્રદાન કરો"</string>
+ <string name="permdesc_control_incall_experience" msgid="915159066039828124">"એપ્લિકેશનને કૉલમાં વપરાશકર્તા અનુભવ પ્રદાન કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ઐતિહાસિક નેટવર્ક ઉપયોગ વાંચો"</string>
+ <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"એપ્લિકેશનને ચોક્કસ નેટવર્ક્સ અને એપ્લિકેશન્સ માટે ઐતિહાસિક નેટવર્ક વપરાશ વાંચવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"નેટવર્ક નીતિ સંચાલિત કરો"</string>
+ <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"એપ્લિકેશનને નેટવર્ક નીતિઓ સંચાલિત કરવાની અને એપ્લિકેશન-વિશિષ્ટ નિયમો નિર્ધારિત કરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"નેટવર્ક વપરાશ એકાઉન્ટિંગ સંશોધિત કરો"</string>
+ <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"એપ્લિકેશનને કેવી રીતે એપ્લિકેશન્સ સામે નેટવર્ક વપરાશ ગણવામાં આવે છે તે સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ દ્વારા ઉપયોગમાં લેવા માટે નથી."</string>
+ <string name="permlab_accessNotifications" msgid="7673416487873432268">"ઍક્સેસ સૂચનાઓ"</string>
+ <string name="permdesc_accessNotifications" msgid="458457742683431387">"એપ્લિકેશનને અન્ય એપ્લિકેશન્સ દ્વારા પોસ્ટ કરાયેલ સૂચનાઓ સહિત તેને પુનઃપ્રાપ્ત કરવા, પરીક્ષણ કરવા અને સાફ કરવાની મંજૂરી આપે છે. "</string>
+ <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"નોટિફિકેશન લિસનર સેવાથી પ્રતિબદ્ધ થાઓ"</string>
+ <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ધારકને નોટિફિકેશન લિસનર સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"શરત પ્રદાતા સેવાથી પ્રતિબદ્ધ થાઓ"</string>
+ <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ધારકને શરત પ્રદાતા સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_bindDreamService" msgid="4153646965978563462">"ડ્રીમ સેવાથી પ્રતિબદ્ધ થાઓ"</string>
+ <string name="permdesc_bindDreamService" msgid="7325825272223347863">"ધારકને ડ્રીમ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"કેરિઅર-પ્રદત્ત ગોઠવણી એપ્લિકેશનની વિનંતી કરો"</string>
+ <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ધારકને કેરીઅરે પ્રદાન કરેલ ગોઠવણી એપ્લિકેશનની વિનંતી કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"નેટવર્ક સ્થિતિ પર અવલોકનોને સાંભળો"</string>
+ <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"એપ્લિકેશનને નેટવર્ક સ્થિતિ પરના અવલોકનોને સાંભળવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ઇનપુટ ઉપકરણ કેલિબ્રેશન બદલો"</string>
+ <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"એપ્લિકેશનને ટચ સ્ક્રીનના કેલિબ્રેશન પેરામીટર્સને સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM પ્રમાણપત્રોને ઍક્સેસ કરો"</string>
+ <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"એપ્લિકેશનને DRM પ્રમાણપત્રોની જોગવાઈ કરવાની અને તેનો ઉપયોગ કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_handoverStatus" msgid="1159132046126626731">"Android બીમ ટ્રાન્સફર સ્થિતિ પ્રાપ્ત કરો"</string>
+ <string name="permdesc_handoverStatus" msgid="4788144087245714948">"એપ્લિકેશનને Android બીમ ટ્રાંસ્ફર્સ વિશે માહિતી પ્રાપ્ત કરવાની મંજૂરી આપે છે"</string>
+ <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM પ્રમાણપત્રો દૂર કરો"</string>
+ <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"એપ્લિકેશનને DRM પ્રમાણપત્રો દૂર કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"કેરીઅર મેસેજિંગ સેવાથી પ્રતિબદ્ધ થાઓ"</string>
+ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ધારકને કેરીઅર મેસેજિંગ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"કેરીઅર ગોઠવણી સેવાથી પ્રતિબદ્ધ થાઓ"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"ધારકને કેરીઅર ગોઠવણી સેવા સાથે પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string>
+ <string name="policylab_limitPassword" msgid="4497420728857585791">"પાસવર્ડ નિયમો સેટ કરો"</string>
+ <string name="policydesc_limitPassword" msgid="2502021457917874968">"સ્ક્રીન લૉક પાસવર્ડ્સ અને PIN માં મંજૂર લંબાઈ અને અક્ષરોને નિયંત્રિત કરો."</string>
+ <string name="policylab_watchLogin" msgid="914130646942199503">"સ્ક્રીન અનલૉક પ્રયત્નોનું નિરીક્ષણ કરો"</string>
+ <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો ટેબ્લેટને લૉક કરો અથવા ટેબ્લેટનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો ટીવીને લૉક કરો અથવા ટીવીનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો ફોનને લૉક કરો અથવા ફોનનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો ટેબ્લેટને લૉક કરો અથવા આ વપરાશકર્તાનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો TV ને લૉક કરો અથવા આ વપરાશકર્તાનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"સ્ક્રીનને અનલૉક કરતી વખતે લખેલા ખોટા પાસવર્ડ્સની સંખ્યાને મૉનિટર કરો અને જો ઘણા બધા ખોટા પાસવર્ડ્સ લખ્યાં છે તો ફોનને લૉક કરો અથવા આ વપરાશકર્તાનો તમામ ડેટા કાઢી નાખો."</string>
+ <string name="policylab_resetPassword" msgid="4934707632423915395">"સ્ક્રીન લૉક બદલો"</string>
+ <string name="policydesc_resetPassword" msgid="1278323891710619128">"સ્ક્રીન લૉક બદલો."</string>
+ <string name="policylab_forceLock" msgid="2274085384704248431">"સ્ક્રીન લૉક કરો"</string>
+ <string name="policydesc_forceLock" msgid="1141797588403827138">"કેવી રીતે અને ક્યારે સ્ક્રીન લૉક થાય તેને નિયંત્રિત કરો"</string>
+ <string name="policylab_wipeData" msgid="3910545446758639713">"બધો ડેટા કાઢી નાખો"</string>
+ <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ફેક્ટરી ડેટા ફરીથી સેટ કરોને કરીને ચેતવણી વિના ટેબ્લેટનો ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ફેક્ટરી ડેટા ફરીથી સેટ કરોને કરીને ચેતવણી વિના ટીવીનો ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ફેક્ટરી ડેટા ફરીથી સેટ કરોને કરીને ચેતવણી વિના ફોનનો ડેટા કાઢી નાખો."</string>
+ <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"વપરાશકર્તા ડેટા કાઢી નાખો"</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ચેતવણી વિના આ ટેબ્લેટ પરનો આ વપરાશકર્તાનો ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ચેતવણી વિના આ TV પરનો આ વપરાશકર્તાનો ડેટા કાઢી નાખો."</string>
+ <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ચેતવણી વિના આ ફોન પરનો આ વપરાશકર્તાનો ડેટા કાઢી નાખો."</string>
+ <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ઉપકરણ વૈશ્વિક પ્રોક્સી સેટ કરો"</string>
+ <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"નીતિ સક્ષમ હોય તે વખતે ઉપયોગ કરવા માટેના ઉપકરણ વૈશ્વિક પ્રોક્સીને સેટ કરો. ફક્ત ઉપકરણના માલિક વૈશ્વિક પ્રોક્સી સેટ કરી શકે છે."</string>
+ <string name="policylab_expirePassword" msgid="5610055012328825874">"સ્ક્રીન લૉક પાસવર્ડ સમાપ્તિ સેટ કરો"</string>
+ <string name="policydesc_expirePassword" msgid="5367525762204416046">"કેટલીવાર સ્ક્રીન લૉક પાસવર્ડ, PIN અથવા નમૂનો બદલવો આવશ્યક છે તેને બદલો."</string>
+ <string name="policylab_encryptedStorage" msgid="8901326199909132915">"સંગ્રહ એન્ક્રિપ્શન સેટ કરો"</string>
+ <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"જરૂરી છે કે સંગ્રહિત એપ્લિકેશન એન્ક્રિપ્ટ થાય."</string>
+ <string name="policylab_disableCamera" msgid="6395301023152297826">"કૅમેરા અક્ષમ કરો"</string>
+ <string name="policydesc_disableCamera" msgid="2306349042834754597">"તમામ ઉપકરણ કૅમેરાનો ઉપયોગ અટકાવો."</string>
+ <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"સ્ક્રીન લૉકની સુવિધાઓ અક્ષમ કરો"</string>
+ <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"સ્ક્રીન લૉકની કેટલીક સુવિધાઓના ઉપયોગને અટકાવો."</string>
+ <string-array name="phoneTypes">
+ <item msgid="8901098336658710359">"ઘર"</item>
+ <item msgid="869923650527136615">"મોબાઇલ"</item>
+ <item msgid="7897544654242874543">"કાર્યાલય"</item>
+ <item msgid="1103601433382158155">"કાર્ય ફૅક્સ"</item>
+ <item msgid="1735177144948329370">"ઘરનો ફૅક્સ"</item>
+ <item msgid="603878674477207394">"પેજર"</item>
+ <item msgid="1650824275177931637">"અન્ય"</item>
+ <item msgid="9192514806975898961">"કસ્ટમ"</item>
+ </string-array>
+ <string-array name="emailAddressTypes">
+ <item msgid="8073994352956129127">"હોમ"</item>
+ <item msgid="7084237356602625604">"કાર્યાલય"</item>
+ <item msgid="1112044410659011023">"અન્ય"</item>
+ <item msgid="2374913952870110618">"કસ્ટમ"</item>
+ </string-array>
+ <string-array name="postalAddressTypes">
+ <item msgid="6880257626740047286">"ઘર"</item>
+ <item msgid="5629153956045109251">"કાર્યાલય"</item>
+ <item msgid="4966604264500343469">"અન્ય"</item>
+ <item msgid="4932682847595299369">"કસ્ટમ"</item>
+ </string-array>
+ <string-array name="imAddressTypes">
+ <item msgid="1738585194601476694">"હોમ"</item>
+ <item msgid="1359644565647383708">"કાર્યાલય"</item>
+ <item msgid="7868549401053615677">"અન્ય"</item>
+ <item msgid="3145118944639869809">"કસ્ટમ"</item>
+ </string-array>
+ <string-array name="organizationTypes">
+ <item msgid="7546335612189115615">"કાર્યાલય"</item>
+ <item msgid="4378074129049520373">"અન્ય"</item>
+ <item msgid="3455047468583965104">"કસ્ટમ"</item>
+ </string-array>
+ <string-array name="imProtocols">
+ <item msgid="8595261363518459565">"AIM"</item>
+ <item msgid="7390473628275490700">"Windows Live"</item>
+ <item msgid="7882877134931458217">"Yahoo"</item>
+ <item msgid="5035376313200585242">"Skype"</item>
+ <item msgid="7532363178459444943">"QQ"</item>
+ <item msgid="3713441034299660749">"Google Talk"</item>
+ <item msgid="2506857312718630823">"ICQ"</item>
+ <item msgid="1648797903785279353">"Jabber"</item>
+ </string-array>
+ <string name="phoneTypeCustom" msgid="1644738059053355820">"કસ્ટમ"</string>
+ <string name="phoneTypeHome" msgid="2570923463033985887">"હોમ"</string>
+ <string name="phoneTypeMobile" msgid="6501463557754751037">"મોબાઇલ"</string>
+ <string name="phoneTypeWork" msgid="8863939667059911633">"કાર્યાલય"</string>
+ <string name="phoneTypeFaxWork" msgid="3517792160008890912">"કાર્ય ફૅક્સ"</string>
+ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"ઘરનો ફૅક્સ"</string>
+ <string name="phoneTypePager" msgid="7582359955394921732">"પેજર"</string>
+ <string name="phoneTypeOther" msgid="1544425847868765990">"અન્ય"</string>
+ <string name="phoneTypeCallback" msgid="2712175203065678206">"કૉલબૅક કરો"</string>
+ <string name="phoneTypeCar" msgid="8738360689616716982">"કાર"</string>
+ <string name="phoneTypeCompanyMain" msgid="540434356461478916">"કંપની મુખ્ય"</string>
+ <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
+ <string name="phoneTypeMain" msgid="6766137010628326916">"મુખ્ય"</string>
+ <string name="phoneTypeOtherFax" msgid="8587657145072446565">"અન્ય ફૅક્સ"</string>
+ <string name="phoneTypeRadio" msgid="4093738079908667513">"રેડિઓ"</string>
+ <string name="phoneTypeTelex" msgid="3367879952476250512">"ટેલેક્સ"</string>
+ <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
+ <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"કાર્યાલય મોબાઇલ"</string>
+ <string name="phoneTypeWorkPager" msgid="649938731231157056">"કાર્ય પેજર"</string>
+ <string name="phoneTypeAssistant" msgid="5596772636128562884">"સહાયક"</string>
+ <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
+ <string name="eventTypeCustom" msgid="7837586198458073404">"કસ્ટમ"</string>
+ <string name="eventTypeBirthday" msgid="2813379844211390740">"જન્મદિવસ"</string>
+ <string name="eventTypeAnniversary" msgid="3876779744518284000">"વર્ષગાંઠ"</string>
+ <string name="eventTypeOther" msgid="7388178939010143077">"અન્ય"</string>
+ <string name="emailTypeCustom" msgid="8525960257804213846">"કસ્ટમ"</string>
+ <string name="emailTypeHome" msgid="449227236140433919">"ઘર"</string>
+ <string name="emailTypeWork" msgid="3548058059601149973">"કાર્યાલય"</string>
+ <string name="emailTypeOther" msgid="2923008695272639549">"અન્ય"</string>
+ <string name="emailTypeMobile" msgid="119919005321166205">"મોબાઇલ"</string>
+ <string name="postalTypeCustom" msgid="8903206903060479902">"કસ્ટમ"</string>
+ <string name="postalTypeHome" msgid="8165756977184483097">"ઘર"</string>
+ <string name="postalTypeWork" msgid="5268172772387694495">"કાર્યાલય"</string>
+ <string name="postalTypeOther" msgid="2726111966623584341">"અન્ય"</string>
+ <string name="imTypeCustom" msgid="2074028755527826046">"કસ્ટમ"</string>
+ <string name="imTypeHome" msgid="6241181032954263892">"હોમ"</string>
+ <string name="imTypeWork" msgid="1371489290242433090">"કાર્યાલય"</string>
+ <string name="imTypeOther" msgid="5377007495735915478">"અન્ય"</string>
+ <string name="imProtocolCustom" msgid="6919453836618749992">"કસ્ટમ"</string>
+ <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string>
+ <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string>
+ <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string>
+ <string name="imProtocolSkype" msgid="9019296744622832951">"Skype"</string>
+ <string name="imProtocolQq" msgid="8887484379494111884">"QQ"</string>
+ <string name="imProtocolGoogleTalk" msgid="493902321140277304">"Hangouts"</string>
+ <string name="imProtocolIcq" msgid="1574870433606517315">"ICQ"</string>
+ <string name="imProtocolJabber" msgid="2279917630875771722">"Jabber"</string>
+ <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string>
+ <string name="orgTypeWork" msgid="29268870505363872">"કાર્યાલય"</string>
+ <string name="orgTypeOther" msgid="3951781131570124082">"અન્ય"</string>
+ <string name="orgTypeCustom" msgid="225523415372088322">"કસ્ટમ"</string>
+ <string name="relationTypeCustom" msgid="3542403679827297300">"કસ્ટમ"</string>
+ <string name="relationTypeAssistant" msgid="6274334825195379076">"સહાયક"</string>
+ <string name="relationTypeBrother" msgid="8757913506784067713">"ભાઈ"</string>
+ <string name="relationTypeChild" msgid="1890746277276881626">"બાળક"</string>
+ <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"ઘરેલું ભાગીદાર"</string>
+ <string name="relationTypeFather" msgid="5228034687082050725">"પિતા"</string>
+ <string name="relationTypeFriend" msgid="7313106762483391262">"મિત્ર"</string>
+ <string name="relationTypeManager" msgid="6365677861610137895">"વ્યવસ્થાપક"</string>
+ <string name="relationTypeMother" msgid="4578571352962758304">"માતા"</string>
+ <string name="relationTypeParent" msgid="4755635567562925226">"માતાપિતા"</string>
+ <string name="relationTypePartner" msgid="7266490285120262781">"ભાગીદાર"</string>
+ <string name="relationTypeReferredBy" msgid="101573059844135524">"આમના દ્વારા સંદર્ભિત"</string>
+ <string name="relationTypeRelative" msgid="1799819930085610271">"સંબંધી"</string>
+ <string name="relationTypeSister" msgid="1735983554479076481">"બહેન"</string>
+ <string name="relationTypeSpouse" msgid="394136939428698117">"જીવનસાથી"</string>
+ <string name="sipAddressTypeCustom" msgid="2473580593111590945">"કસ્ટમ"</string>
+ <string name="sipAddressTypeHome" msgid="6093598181069359295">"ઘર"</string>
+ <string name="sipAddressTypeWork" msgid="6920725730797099047">"કાર્યાલય"</string>
+ <string name="sipAddressTypeOther" msgid="4408436162950119849">"અન્ય"</string>
+ <string name="quick_contacts_not_available" msgid="746098007828579688">"આ સંપર્ક જોવા માટે કોઈ એપ્લિકેશન મળી નથી."</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN કોડ લખો"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK અને નવો PIN કોડ લખો"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK કોડ"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"નવો PIN કોડ"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"પાસવર્ડ લખવા માટે ટચ કરો"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"અનલૉક કરવા માટે પાસવર્ડ લખો"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"અનલૉક કરવા માટે PIN લખો"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ખોટો PIN કોડ."</string>
+ <string name="keyguard_label_text" msgid="861796461028298424">"અનલૉક કરવા માટે, મેનૂ દબાવો તે પછી 0."</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="696192103195090970">"ઇમરજન્સિ નંબર"</string>
+ <string name="lockscreen_carrier_default" msgid="8963839242565653192">"કોઈ સેવા નથી."</string>
+ <string name="lockscreen_screen_locked" msgid="7288443074806832904">"સ્ક્રીન લૉક કરી."</string>
+ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"અનલૉક કરવા માટે અથવા કટોકટીનો કૉલ કરવા માટે મેનૂ દબાવો."</string>
+ <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"અનલૉક કરવા માટે મેનૂ દબાવો."</string>
+ <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"અનલૉક કરવા માટે પેટર્ન દોરો."</string>
+ <string name="lockscreen_emergency_call" msgid="5298642613417801888">"કટોકટી"</string>
+ <string name="lockscreen_return_to_call" msgid="5244259785500040021">"કૉલ પર પાછા ફરો"</string>
+ <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"સાચું!"</string>
+ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"ફરી પ્રયાસ કરો"</string>
+ <string name="lockscreen_password_wrong" msgid="5737815393253165301">"ફરી પ્રયાસ કરો"</string>
+ <string name="faceunlock_multiple_failures" msgid="754137583022792429">"મહત્તમ ફેસ અનલૉક પ્રયાસો ઓળંગાયા"</string>
+ <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"કોઈ SIM કાર્ડ નથી"</string>
+ <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"ટેબ્લેટમાં SIM કાર્ડ નથી."</string>
+ <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"ટીવીમાં કોઈ SIM કાર્ડ નથી."</string>
+ <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"ફોનમાં SIM કાર્ડ નથી."</string>
+ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"એક SIM કાર્ડ દાખલ કરો."</string>
+ <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"SIM કાર્ડ ખૂટે છે અથવા વાંચન યોગ્ય નથી. SIM કાર્ડ દાખલ કરો."</string>
+ <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"બિનઉપયોગી SIM કાર્ડ."</string>
+ <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"તમારું SIM કાર્ડ કાયમીરૂપે અક્ષમ કરવામાં આવ્યું છે.\n બીજા SIM કાર્ડ માટે તમારા વાયરલેસ સેવા પ્રદાતાનો સંપર્ક કરો."</string>
+ <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"પહેલાનો ટ્રૅક"</string>
+ <string name="lockscreen_transport_next_description" msgid="573285210424377338">"આગલો ટ્રૅક"</string>
+ <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"થોભો"</string>
+ <string name="lockscreen_transport_play_description" msgid="1901258823643886401">"ચલાવો"</string>
+ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"રોકો"</string>
+ <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"રીવાઇન્ડ કરો"</string>
+ <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"ઝડપી ફોરવર્ડ કરો"</string>
+ <string name="emergency_calls_only" msgid="6733978304386365407">"ફક્ત કટોકટીના કૉલ્સ"</string>
+ <string name="lockscreen_network_locked_message" msgid="143389224986028501">"નેટવર્ક લૉક થયું"</string>
+ <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"SIM કાર્ડ, PUK-લૉક કરેલ છે."</string>
+ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"વપરાશકર્તા માર્ગદર્શિકા જુઓ અથવા ગ્રાહક સંભાળનો સંપર્ક કરો."</string>
+ <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"SIM કાર્ડ લૉક કરેલ છે."</string>
+ <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"SIM કાર્ડ અનલૉક કરી રહ્યાં છે…"</string>
+ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારી અનલૉક પેટર્ન દોરી. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો પાસવર્ડ લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો PIN લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસ પછી, તમને તમારા Google સાઇન ઇનનો ઉપયોગ કરીને તમારા ટેબ્લેટને અનલૉક કરવા માટે કહેવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસ પછી, તમને તમારા Google સાઇન ઇનનો ઉપયોગ કરીને તમારા ટીવીને અનલૉક કરવા માટે કહેવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસ પછી, તમને તમારા Google સાઇન ઇનનો ઉપયોગ કરીને તમારા ફોનને અનલૉક કરવા માટે કહેવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"તમે ટેબ્લેટને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, ટેબ્લેટને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"તમે ટીવીને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, ટીવીને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"તમે ફોનને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસો પછી, ફોનને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટેબ્લેટને અનલૉક કરવાનો પ્રયાસ કર્યો. ટેબ્લેટ હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટીવીને અનલૉક કરવાનો પ્રયાસ કર્યો. ટીવી હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ફોનને અનલૉક કરવાનો પ્રયાસ કર્યો. ફોન હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"પેટર્ન ભૂલી ગયાં છો?"</string>
+ <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"એકાઉન્ટ અનલૉક કરો"</string>
+ <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"ઘણા બધા પેટર્ન પ્રયાસો"</string>
+ <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"અનલૉક કરવા માટે, તમારા Google એકાઉન્ટથી સાઇન ઇન કરો."</string>
+ <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"વપરાશકર્તાનામ (ઇમેઇલ)"</string>
+ <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"પાસવર્ડ"</string>
+ <string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"સાઇન ઇન કરો"</string>
+ <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ."</string>
+ <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"તમારું વપરાશકર્તાનામ અથવા પાસવર્ડ ભૂલાઈ ગયો?\n "<b>"google.com/accounts/recovery"</b>" ની મુલાકાત લો."</string>
+ <string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"તપાસી રહ્યું છે..."</string>
+ <string name="lockscreen_unlock_label" msgid="737440483220667054">"અનલૉક કરો"</string>
+ <string name="lockscreen_sound_on_label" msgid="9068877576513425970">"ધ્વનિ ચાલુ"</string>
+ <string name="lockscreen_sound_off_label" msgid="996822825154319026">"અવાજ બંધ"</string>
+ <string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"પેટર્ન શરૂ કરી"</string>
+ <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"પેટર્ન સાફ કરી"</string>
+ <string name="lockscreen_access_pattern_cell_added" msgid="6756031208359292487">"કોષ ઉમેર્યો"</string>
+ <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"પેટર્ન પૂર્ણ કરી"</string>
+ <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. %3$d માંથી %2$d વિજેટ."</string>
+ <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"વિજેટ ઉમેરો."</string>
+ <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"ખાલી"</string>
+ <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"અનલૉક ક્ષેત્ર વિસ્તૃત કર્યું."</string>
+ <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"અનલૉક ક્ષેત્ર સંકુચિત કર્યું."</string>
+ <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> વિજેટ."</string>
+ <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"વપરાશકર્તા પસંદગીકર્તા"</string>
+ <string name="keyguard_accessibility_status" msgid="8008264603935930611">"સ્થિતિ"</string>
+ <string name="keyguard_accessibility_camera" msgid="8904231194181114603">"કૅમેરો"</string>
+ <string name="keygaurd_accessibility_media_controls" msgid="262209654292161806">"મીડિયા નિયંત્રણો"</string>
+ <string name="keyguard_accessibility_widget_reorder_start" msgid="8736853615588828197">"વિજેટ પુનઃક્રમાંકન પ્રારંભ થયું."</string>
+ <string name="keyguard_accessibility_widget_reorder_end" msgid="7170190950870468320">"વિજેટ પુનઃક્રમાંકન સમાપ્ત થયું."</string>
+ <string name="keyguard_accessibility_widget_deleted" msgid="4426204263929224434">"વિજેટ <xliff:g id="WIDGET_INDEX">%1$s</xliff:g> કાઢી નાંખ્યું."</string>
+ <string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"અનલૉક ક્ષેત્ર વિસ્તૃત કરો."</string>
+ <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"સ્લાઇડ અનલૉક કરો."</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"પેટર્ન અનલૉક."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ફેસ અનલૉક"</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"પિન અનલૉક."</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"પાસવર્ડ અનલૉક કરો."</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"પેટર્ન ક્ષેત્ર."</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"સ્લાઇડ ક્ષેત્ર."</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="granularity_label_character" msgid="7336470535385009523">"અક્ષર"</string>
+ <string name="granularity_label_word" msgid="7075570328374918660">"શબ્દ"</string>
+ <string name="granularity_label_link" msgid="5815508880782488267">"લિંક કરો"</string>
+ <string name="granularity_label_line" msgid="5764267235026120888">"લાઇન"</string>
+ <string name="hour_ampm" msgid="4584338083529355982">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%P</xliff:g>"</string>
+ <string name="hour_cap_ampm" msgid="2083465992940444366">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%p</xliff:g>"</string>
+ <string name="factorytest_failed" msgid="5410270329114212041">"ફેક્ટરી પરીક્ષણ નિષ્ફળ થયું"</string>
+ <string name="factorytest_not_system" msgid="4435201656767276723">"FACTORY_TEST ક્રિયા ફક્ત /system/app માં ઇન્સ્ટોલ કરેલા પૅકેજીસ માટે જ સમર્થિત છે."</string>
+ <string name="factorytest_no_action" msgid="872991874799998561">"FACTORY_TEST ક્રિયા પ્રદાન કરનાર કોઈ પૅકેજ મળ્યું નહોતું."</string>
+ <string name="factorytest_reboot" msgid="6320168203050791643">"રીબૂટ કરો"</string>
+ <string name="js_dialog_title" msgid="1987483977834603872">"\"<xliff:g id="TITLE">%s</xliff:g>\" પરનું પૃષ્ઠ કહે છે કે:"</string>
+ <string name="js_dialog_title_default" msgid="6961903213729667573">"Javascript"</string>
+ <string name="js_dialog_before_unload_title" msgid="2619376555525116593">"નેવિગેશનની પુષ્ટિ કરો"</string>
+ <string name="js_dialog_before_unload_positive_button" msgid="3112752010600484130">"આ પૃષ્ઠ છોડો"</string>
+ <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"આ પૃષ્ઠ પર રહો"</string>
+ <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nશું તમે ખરેખર આ પૃષ્ઠથી દૂર નેવિગેટ કરવા માંગો છો?"</string>
+ <string name="save_password_label" msgid="6860261758665825069">"પુષ્ટિ કરો"</string>
+ <string name="double_tap_toast" msgid="4595046515400268881">"ટિપ: ઝૂમ વધારવા અને ઘટાડવા માટે બે વાર ટેપ કરો."</string>
+ <string name="autofill_this_form" msgid="4616758841157816676">"સ્વતઃભરણ"</string>
+ <string name="setup_autofill" msgid="7103495070180590814">"સ્વતઃભરણ સેટ કરો"</string>
+ <string name="autofill_address_name_separator" msgid="6350145154779706772">" "</string>
+ <string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
+ <string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
+ <string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
+ <string name="autofill_province" msgid="2231806553863422300">"પ્રાંત"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"પોસ્ટલ કોડ"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"રાજ્ય"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"પિન કોડ"</string>
+ <string name="autofill_county" msgid="237073771020362891">"કાઉન્ટિ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"આઇલેન્ડ"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"જીલ્લો"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"વિભાગ"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"પ્રીફેચર"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"પૅરિશ"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"ક્ષેત્ર"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"એમિરાત"</string>
+ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"તમારા વેબ બુકમાર્ક્સ અને ઇતિહાસને વાંચો"</string>
+ <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"એપ્લિકેશનને બ્રાઉઝરે મુલાકાત લીધેલ તમામ URL અને બ્રાઉઝરના તમામ બુકમાર્ક્સ વાંચવાની મંજૂરી આપે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશન્સ દ્વારા લાગુ કરી શકાશે નહીં."</string>
+ <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"વેબ બુકમાર્ક્સ અને ઇતિહાસ લખો"</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"એપ્લિકેશનને તમારા ટેબ્લેટ પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશન્સ દ્વારા લાગુ કરી શકાશે નહીં."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"એપ્લિકેશનને તમારા ટીવી પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશન્સ દ્વારા લાગુ કરી શકાશે નહીં."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"એપ્લિકેશનને તમારા ફોન પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશન્સ દ્વારા લાગુ કરી શકાશે નહીં."</string>
+ <string name="permlab_setAlarm" msgid="1379294556362091814">"એલાર્મ સેટ કરો"</string>
+ <string name="permdesc_setAlarm" msgid="316392039157473848">"એપ્લિકેશનને ઇન્સ્ટોલ કરેલ અલાર્મ ઘડિયાળ એપ્લિકેશનમાં અલાર્મ સેટ કરવાની મંજૂરી આપે છે. કેટલીક અલાર્મ ઘડિયાળ એપ્લિકેશન્સ, આ સુવિધા લાગુ કરી શકતી નથી."</string>
+ <string name="permlab_addVoicemail" msgid="5525660026090959044">"વૉઇસમેઇલ ઉમેરો"</string>
+ <string name="permdesc_addVoicemail" msgid="6604508651428252437">"એપ્લિકેશનને તમારા વૉઇસમેઇલ ઇનબોક્સ પર સંદેશા ઉમેરવાની મંજૂરી આપે છે."</string>
+ <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"બ્રાઉઝરની ભૌગોલિક સ્થાન પરવાનગીઓ સંશોધિત કરો"</string>
+ <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"એપ્લિકેશનને બ્રાઉઝરની ભૌગોલિક સ્થાનની પરવાનગીઓને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ આનો ઉપયોગ સ્વચ્છંદી વેબ સાઇટ્સ પર સ્થાન માહિતી મોકલવા માટે કરી શકે છે."</string>
+ <string name="save_password_message" msgid="767344687139195790">"શું તમે ઇચ્છો છો કે બ્રાઉઝર આ પાસવર્ડ યાદ રાખે?"</string>
+ <string name="save_password_notnow" msgid="6389675316706699758">"હમણાં નહીં"</string>
+ <string name="save_password_remember" msgid="6491879678996749466">"યાદ રાખો"</string>
+ <string name="save_password_never" msgid="8274330296785855105">"ક્યારેય નહીં"</string>
+ <string name="open_permission_deny" msgid="7374036708316629800">"તમને આ પૃષ્ઠને ખોલવાની પરવાનગી નથી."</string>
+ <string name="text_copied" msgid="4985729524670131385">"ક્લિપબોર્ડ પર ટેક્સ્ટ કૉપિ કરી."</string>
+ <string name="more_item_label" msgid="4650918923083320495">"વધુ"</string>
+ <string name="prepend_shortcut_label" msgid="2572214461676015642">"મેનૂ+"</string>
+ <string name="menu_space_shortcut_label" msgid="2410328639272162537">"space"</string>
+ <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"enter"</string>
+ <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"કાઢી નાખો"</string>
+ <string name="search_go" msgid="8298016669822141719">"શોધો"</string>
+ <string name="search_hint" msgid="1733947260773056054">"શોધો…"</string>
+ <string name="searchview_description_search" msgid="6749826639098512120">"શોધ"</string>
+ <string name="searchview_description_query" msgid="5911778593125355124">"શોધ ક્વેરી"</string>
+ <string name="searchview_description_clear" msgid="1330281990951833033">"ક્વેરી સાફ કરો"</string>
+ <string name="searchview_description_submit" msgid="2688450133297983542">"ક્વેરી સબમિટ કરો"</string>
+ <string name="searchview_description_voice" msgid="2453203695674994440">"વૉઇસ શોધ"</string>
+ <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"ટચ કરીને અન્વેષણ કરો સક્ષમ કરીએ?"</string>
+ <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> ટચ દ્વારા અન્વેષણ કરવાને સક્ષમ કરવા માંગે છે. જ્યારે ટચ દ્વારા અન્વેષણ ચાલુ હોય ત્યારે તમે તમારી આંગળી નીચે જે છે તેનું વર્ણન જોઈ અથવા સાંભળી શકો છો અથવા ટેબ્લેટ સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે હાવભાવ ભજવી શકો છો."</string>
+ <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> ટચ દ્વારા અન્વેષણ કરવાને સક્ષમ કરવા માંગે છે. જ્યારે ટચ દ્વારા અન્વેષણ ચાલુ હોય ત્યારે તમે તમારી આંગળી નીચે જે છે તેનું વર્ણન જોઈ અથવા સાંભળી શકો છો અથવા ફોન સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે હાવભાવ ભજવી શકો છો."</string>
+ <string name="oneMonthDurationPast" msgid="7396384508953779925">"1 મહિના પહેલાં"</string>
+ <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"1 મહિના કરતાં પહેલાં"</string>
+ <plurals name="last_num_days" formatted="false" msgid="5104533550723932025">
+ <item quantity="one">છેલ્લા <xliff:g id="COUNT_1">%d</xliff:g> દિવસ</item>
+ <item quantity="other">છેલ્લા <xliff:g id="COUNT_1">%d</xliff:g> દિવસ</item>
+ </plurals>
+ <string name="last_month" msgid="3959346739979055432">"છેલ્લો મહિનો"</string>
+ <string name="older" msgid="5211975022815554840">"જૂનું"</string>
+ <string name="preposition_for_date" msgid="9093949757757445117">"<xliff:g id="DATE">%s</xliff:g> ના રોજ"</string>
+ <string name="preposition_for_time" msgid="5506831244263083793">"<xliff:g id="TIME">%s</xliff:g> પર"</string>
+ <string name="preposition_for_year" msgid="5040395640711867177">"<xliff:g id="YEAR">%s</xliff:g> માં"</string>
+ <string name="day" msgid="8144195776058119424">"દિવસ"</string>
+ <string name="days" msgid="4774547661021344602">"દિવસ"</string>
+ <string name="hour" msgid="2126771916426189481">"કલાક"</string>
+ <string name="hours" msgid="894424005266852993">"કલાક"</string>
+ <string name="minute" msgid="9148878657703769868">"મિનિટ"</string>
+ <string name="minutes" msgid="5646001005827034509">"મિનિટ"</string>
+ <string name="second" msgid="3184235808021478">"સે"</string>
+ <string name="seconds" msgid="3161515347216589235">"સેકંડ"</string>
+ <string name="week" msgid="5617961537173061583">"અઠવાડિયું"</string>
+ <string name="weeks" msgid="6509623834583944518">"અઠવાડિયા"</string>
+ <string name="year" msgid="4001118221013892076">"વર્ષ"</string>
+ <string name="years" msgid="6881577717993213522">"વર્ષ"</string>
+ <plurals name="duration_seconds" formatted="false" msgid="4527986939729687805">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> સેકંડ</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> સેકંડ</item>
+ </plurals>
+ <plurals name="duration_minutes" formatted="false" msgid="643786953939956125">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> મિનિટ</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> મિનિટ</item>
+ </plurals>
+ <plurals name="duration_hours" formatted="false" msgid="6826233369186668274">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> કલાક</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> કલાક</item>
+ </plurals>
+ <string name="VideoView_error_title" msgid="3534509135438353077">"વિડિઓમાં સમસ્યા"</string>
+ <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"આ ઉપકરણ પર સ્ટ્રીમ કરવા માટે આ વિડિઓ માન્ય નથી."</string>
+ <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"આ વિડિઓ ચલાવી શકતાં નથી."</string>
+ <string name="VideoView_error_button" msgid="2822238215100679592">"ઑકે"</string>
+ <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
+ <string name="noon" msgid="7245353528818587908">"બપોરે"</string>
+ <string name="Noon" msgid="3342127745230013127">"બપોરે"</string>
+ <string name="midnight" msgid="7166259508850457595">"મધરાત"</string>
+ <string name="Midnight" msgid="5630806906897892201">"મધરાતે"</string>
+ <string name="elapsed_time_short_format_mm_ss" msgid="4431555943828711473">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
+ <string name="elapsed_time_short_format_h_mm_ss" msgid="1846071997616654124">"<xliff:g id="HOURS">%1$d</xliff:g>:<xliff:g id="MINUTES">%2$02d</xliff:g>:<xliff:g id="SECONDS">%3$02d</xliff:g>"</string>
+ <string name="selectAll" msgid="6876518925844129331">"બધા પસંદ કરો"</string>
+ <string name="cut" msgid="3092569408438626261">"કાપો"</string>
+ <string name="copy" msgid="2681946229533511987">"કૉપિ કરો"</string>
+ <string name="paste" msgid="5629880836805036433">"પેસ્ટ કરો"</string>
+ <string name="replace" msgid="5781686059063148930">"બદલો…"</string>
+ <string name="delete" msgid="6098684844021697789">"કાઢી નાખો"</string>
+ <string name="copyUrl" msgid="2538211579596067402">"URL ની કૉપિ કરો"</string>
+ <string name="selectTextMode" msgid="1018691815143165326">"ટેક્સ્ટ પસંદ કરો"</string>
+ <string name="textSelectionCABTitle" msgid="5236850394370820357">"ટેક્સ્ટ પસંદગી"</string>
+ <string name="addToDictionary" msgid="4352161534510057874">"શબ્દકોશમાં ઉમેરો"</string>
+ <string name="deleteText" msgid="6979668428458199034">"કાઢી નાખો"</string>
+ <string name="inputMethod" msgid="1653630062304567879">"ઇનપુટ પદ્ધતિ"</string>
+ <string name="editTextMenuTitle" msgid="4909135564941815494">"ટેક્સ્ટ ક્રિયાઓ"</string>
+ <string name="low_internal_storage_view_title" msgid="5576272496365684834">"સ્ટોરેજ સ્થાન સમાપ્ત થયું"</string>
+ <string name="low_internal_storage_view_text" msgid="6640505817617414371">"કેટલાક સિસ્ટમ કાર્યો કામ કરી શકશે નહીં"</string>
+ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"સિસ્ટમ માટે પર્યાપ્ત સ્ટોરેજ નથી. ખાતરી કરો કે તમારી પાસે 250MB ખાલી સ્થાન છે અને ફરીથી પ્રારંભ કરો."</string>
+ <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ચાલી રહી છે"</string>
+ <string name="app_running_notification_text" msgid="4653586947747330058">"વધુ માહિતી માટે અથવા એપ્લિકેશન રોકવા માટે ટચ કરો."</string>
+ <string name="ok" msgid="5970060430562524910">"ઑકે"</string>
+ <string name="cancel" msgid="6442560571259935130">"રદ કરો"</string>
+ <string name="yes" msgid="5362982303337969312">"ઑકે"</string>
+ <string name="no" msgid="5141531044935541497">"રદ કરો"</string>
+ <string name="dialog_alert_title" msgid="2049658708609043103">"ધ્યાન આપો"</string>
+ <string name="loading" msgid="7933681260296021180">"લોડ કરી રહ્યું છે…"</string>
+ <string name="capital_on" msgid="1544682755514494298">"ચાલુ"</string>
+ <string name="capital_off" msgid="6815870386972805832">"બંધ"</string>
+ <string name="whichApplication" msgid="4533185947064773386">"આના ઉપયોગથી ક્રિયા પૂર્ણ કરો"</string>
+ <string name="whichApplicationNamed" msgid="8260158865936942783">"%1$s ઉપયોગથી ક્રિયા પૂર્ણ કરો"</string>
+ <string name="whichViewApplication" msgid="3272778576700572102">"આની સાથે ખોલો"</string>
+ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"%1$s સાથે ખોલો"</string>
+ <string name="whichEditApplication" msgid="144727838241402655">"આનાથી સંપાદિત કરો"</string>
+ <string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s સાથે સંપાદિત કરો"</string>
+ <string name="whichSendApplication" msgid="6902512414057341668">"આની સાથે શેર કરો"</string>
+ <string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s સાથે શેર કરો"</string>
+ <string name="whichHomeApplication" msgid="4307587691506919691">"હોમ એપ્લિકેશન પસંદ કરો"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"હોમ તરીકે %1$s નો ઉપયોગ કરો"</string>
+ <string name="alwaysUse" msgid="4583018368000610438">"આ ક્રિયા માટે ડિફોલ્ટ તરીકે ઉપયોગમાં લો."</string>
+ <string name="use_a_different_app" msgid="8134926230585710243">"અલગ એપ્લિકેશનનો ઉપયોગ કરો"</string>
+ <string name="clearDefaultHintMsg" msgid="3252584689512077257">"સિસ્ટમ સેટિંગ્સ > એપ્લિકેશન્સ > ડાઉનલોડ કરેલમાં ડિફોલ્ટ સાફ કરો."</string>
+ <string name="chooseActivity" msgid="7486876147751803333">"એક ક્રિયા પસંદ કરો"</string>
+ <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ઉપકરણ માટે એપ્લિકેશન પસંદ કરો"</string>
+ <string name="noApplications" msgid="2991814273936504689">"કોઈ એપ્લિકેશન આ ક્રિયા કરી શકતી નથી."</string>
+ <string name="aerr_title" msgid="1905800560317137752"></string>
+ <string name="aerr_application" msgid="932628488013092776">"કમનસીબે, <xliff:g id="APPLICATION">%1$s</xliff:g> બંધ થઈ ગયું છે."</string>
+ <string name="aerr_process" msgid="4507058997035697579">"કમનસીબે, <xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયા રોકાઈ ગઈ છે."</string>
+ <string name="anr_title" msgid="4351948481459135709"></string>
+ <string name="anr_activity_application" msgid="1904477189057199066">"<xliff:g id="APPLICATION">%2$s</xliff:g> જવાબ આપતી નથી.\n\nશું તમે તેને બંધ કરવા માંગો છો?"</string>
+ <string name="anr_activity_process" msgid="5776209883299089767">"<xliff:g id="ACTIVITY">%1$s</xliff:g> પ્રવૃત્તિ પ્રતિસાદ આપતી નથી.\n\nશું તમે તેને બંધ કરવા માંગો છો?"</string>
+ <string name="anr_application_process" msgid="8941757607340481057">"<xliff:g id="APPLICATION">%1$s</xliff:g> પ્રતિસાદ આપતું નથી. શું તમે તેને બંધ કરવા માંગો છો?"</string>
+ <string name="anr_process" msgid="6513209874880517125">"<xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયા જવાબ આપતી નથી.\n\nશું તમે તેને બંધ કરવા માગો છો?"</string>
+ <string name="force_close" msgid="8346072094521265605">"ઑકે"</string>
+ <string name="report" msgid="4060218260984795706">"જાણ કરો"</string>
+ <string name="wait" msgid="7147118217226317732">"રાહ જુઓ"</string>
+ <string name="webpage_unresponsive" msgid="3272758351138122503">"પૃષ્ઠ બિનપ્રતિસાદી બની ગયું છે.\n\nશું તમે તેને બંધ કરવા માગો છો?"</string>
+ <string name="launch_warning_title" msgid="1547997780506713581">"એપ્લિકેશન રીડાયરેક્ટ કરી"</string>
+ <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> હવે ચાલી રહ્યું છે."</string>
+ <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> મૂળરૂપે લોંચ થઈ હતી."</string>
+ <string name="screen_compat_mode_scale" msgid="3202955667675944499">"સ્કેલ"</string>
+ <string name="screen_compat_mode_show" msgid="4013878876486655892">"હંમેશા દર્શાવો"</string>
+ <string name="screen_compat_mode_hint" msgid="1064524084543304459">"આને સિસ્ટમ સેટિંગ્સ > એપ્લિકેશન્સ > ડાઉનલોડ કરેલમાં ફરીથી સક્ષમ કરો."</string>
+ <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> એપ્લિકેશન (<xliff:g id="PROCESS">%2$s</xliff:g> પ્રક્રિયા)એ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string>
+ <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયાએ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string>
+ <string name="android_upgrading_title" msgid="1584192285441405746">"Android અપગ્રેડ થઈ રહ્યું છે..."</string>
+ <string name="android_start_title" msgid="8418054686415318207">"Android પ્રારંભ થઈ રહ્યું છે…"</string>
+ <string name="android_upgrading_fstrim" msgid="8036718871534640010">"સંગ્રહ ઓપ્ટિમાઇઝ કરી રહ્યું છે."</string>
+ <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> એપ્લિકેશન ઓપ્ટિમાઇઝ કરી રહ્યું છે."</string>
+ <string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> તૈયાર કરી રહ્યું છે."</string>
+ <string name="android_upgrading_starting_apps" msgid="451464516346926713">"એપ્લિકેશન્સ શરૂ કરી રહ્યાં છે."</string>
+ <string name="android_upgrading_complete" msgid="1405954754112999229">"બૂટ સમાપ્ત કરી રહ્યાં છે."</string>
+ <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> ચાલુ છે"</string>
+ <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"એપ્લિકેશન પર સ્વિચ કરવા માટે ટચ કરો"</string>
+ <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"એપ્લિકેશન્સને સ્વિચ કરીએ?"</string>
+ <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"પહેલાંથી ચાલી રહેલ બીજી એપ્લિકેશનને તમે નવી પ્રારંભ કરો તે પહેલાં બંધ કરવી આવશ્યક છે."</string>
+ <string name="old_app_action" msgid="493129172238566282">"<xliff:g id="OLD_APP">%1$s</xliff:g> પર પાછા ફરો"</string>
+ <string name="old_app_description" msgid="2082094275580358049">"નવી એપ્લિકેશન પ્રારંભ કરશો નહીં."</string>
+ <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ને પ્રારંભ કરો"</string>
+ <string name="new_app_description" msgid="1932143598371537340">"જૂની એપ્લિકેશનને સાચવ્યાં વગર રોકો."</string>
+ <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> એ મેમરી સીમા વટાવી"</string>
+ <string name="dump_heap_notification_detail" msgid="2075673362317481664">"હીપ ડમ્પ ભેગો કરવામાં આવ્યો છે; શેર કરવા માટે ટચ કરો"</string>
+ <string name="dump_heap_title" msgid="5864292264307651673">"હીપ ડમ્પ શેર કરીએ?"</string>
+ <string name="dump_heap_text" msgid="4809417337240334941">"પ્રક્રિયા <xliff:g id="PROC">%1$s</xliff:g> એ તેની <xliff:g id="SIZE">%2$s</xliff:g> ની પ્રક્રિયા મેમરી મર્યાદા ઓળંગી. તેના વિકાસકર્તા સાથે શેર કરવા તમારી માટે એક હીપ ડમ્પ ઉપલબ્ધ છે. સાવચેત રહો: આ હીપ ડમ્પમાં તમારી વ્યક્તિગત માહિતી શામેલ હોઈ શકે છે કે જેની એપ્લિકેશનને ઍક્સેસ છે."</string>
+ <string name="sendText" msgid="5209874571959469142">"ટેક્સ્ટ માટે ક્રિયા પસંદ કરો"</string>
+ <string name="volume_ringtone" msgid="6885421406845734650">"રિંગર વૉલ્યૂમ"</string>
+ <string name="volume_music" msgid="5421651157138628171">"મીડિયા વૉલ્યૂમ"</string>
+ <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Bluetooth મારફતે ચાલી રહ્યું છે"</string>
+ <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"સાઇલેન્ટ રિંગટોન સેટ કરી"</string>
+ <string name="volume_call" msgid="3941680041282788711">"ઇન-કૉલ વૉલ્યૂમ"</string>
+ <string name="volume_bluetooth_call" msgid="2002891926351151534">"Bluetooth ઇન-કૉલ વોલ્યુમ"</string>
+ <string name="volume_alarm" msgid="1985191616042689100">"એલાર્મ વૉલ્યૂમ"</string>
+ <string name="volume_notification" msgid="2422265656744276715">"સૂચના વૉલ્યૂમ"</string>
+ <string name="volume_unknown" msgid="1400219669770445902">"વૉલ્યૂમ"</string>
+ <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Bluetooth વૉલ્યૂમ"</string>
+ <string name="volume_icon_description_ringer" msgid="3326003847006162496">"રિંગટોન વોલ્યુમ"</string>
+ <string name="volume_icon_description_incall" msgid="8890073218154543397">"કૉલ વોલ્યુમ"</string>
+ <string name="volume_icon_description_media" msgid="4217311719665194215">"મીડિયા વોલ્યુમ"</string>
+ <string name="volume_icon_description_notification" msgid="7044986546477282274">"સૂચના વૉલ્યૂમ"</string>
+ <string name="ringtone_default" msgid="3789758980357696936">"ડિફોલ્ટ રિંગટોન"</string>
+ <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ડિફોલ્ટ રિંગટોન (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_silent" msgid="7937634392408977062">"કોઈ નહીં"</string>
+ <string name="ringtone_picker_title" msgid="3515143939175119094">"રિંગટોન્સ"</string>
+ <string name="ringtone_unknown" msgid="5477919988701784788">"અજાણ રિંગટોન"</string>
+ <plurals name="wifi_available" formatted="false" msgid="7900333017752027322">
+ <item quantity="one">Wi-Fi નેટવર્ક્સ ઉપલબ્ધ</item>
+ <item quantity="other">Wi-Fi નેટવર્ક્સ ઉપલબ્ધ</item>
+ </plurals>
+ <plurals name="wifi_available_detailed" formatted="false" msgid="1140699367193975606">
+ <item quantity="one">ખુલ્લા Wi-Fi નેટવર્ક્સ ઉપલબ્ધ છે</item>
+ <item quantity="other">ખુલ્લા Wi-Fi નેટવર્ક્સ ઉપલબ્ધ છે</item>
+ </plurals>
+ <string name="wifi_available_sign_in" msgid="9157196203958866662">"Wi-Fi નેટવર્ક પર સાઇન ઇન કરો"</string>
+ <string name="network_available_sign_in" msgid="1848877297365446605">"નેટવર્ક પર સાઇન ઇન કરો"</string>
+ <!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
+ <skip />
+ <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Wi-Fi સાથે કનેક્ટ કરી શકાયું નથી"</string>
+ <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" નબળું ઇન્ટરનેટ કનેક્શન ધરાવે છે."</string>
+ <string name="wifi_connect_alert_title" msgid="8455846016001810172">"કનેક્શનની મંજૂરી આપીએ?"</string>
+ <string name="wifi_connect_alert_message" msgid="6451273376815958922">"%1$s એપ્લિકેશન Wifi નેટવર્ક %2$s થી કનેક્ટ થવા માગે છે"</string>
+ <string name="wifi_connect_default_application" msgid="7143109390475484319">"એપ્લિકેશન"</string>
+ <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string>
+ <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi Direct પ્રારંભ કરો. આ Wi-Fi ક્લાઇન્ટ/હોટસ્પોટને બંધ કરશે."</string>
+ <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi Direct પ્રારંભ કરી શકાયું નથી."</string>
+ <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct ચાલુ છે"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"સેટિંગ્સ માટે ટચ કરો"</string>
+ <string name="accept" msgid="1645267259272829559">"સ્વીકારો"</string>
+ <string name="decline" msgid="2112225451706137894">"નકારો"</string>
+ <string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"આમંત્રણ મોકલ્યું"</string>
+ <string name="wifi_p2p_invitation_to_connect_title" msgid="4958803948658533637">"કનેક્ટ થવા માટે આમંત્રણ"</string>
+ <string name="wifi_p2p_from_message" msgid="570389174731951769">"પ્રેષક:"</string>
+ <string name="wifi_p2p_to_message" msgid="248968974522044099">"પ્રતિ:"</string>
+ <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"આવશ્યક PIN લખો:"</string>
+ <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN:"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"ટેબ્લેટ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> થી કનેક્ટ હોય તે વખતે Wi-Fi થી અસ્થાયી રૂપે ડિસ્કનેક્ટ કરવામાં આવશે"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"ટીવી <xliff:g id="DEVICE_NAME">%1$s</xliff:g> થી કનેક્ટ હોય તે વખતે Wi-Fi થી અસ્થાયી રૂપે ડિસ્કનેક્ટ કરવામાં આવશે"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"ફોન <xliff:g id="DEVICE_NAME">%1$s</xliff:g> થી કનેક્ટ હોય તે વખતે Wi-Fi થી અસ્થાયી રૂપે ડિસ્કનેક્ટ કરવામાં આવશે"</string>
+ <string name="select_character" msgid="3365550120617701745">"અક્ષર શામેલ કરો"</string>
+ <string name="sms_control_title" msgid="7296612781128917719">"SMS સંદેશા મોકલી રહ્યું છે"</string>
+ <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> મોટા પ્રમાણમાં SMS સંદેશા મોકલી રહ્યું છે. શું તમે સંદેશા મોકલવાનું ચાલુ રાખવા માટે આ એપ્લિકેશનને મંજૂરી આપવા માગો છો?"</string>
+ <string name="sms_control_yes" msgid="3663725993855816807">"મંજૂરી આપો"</string>
+ <string name="sms_control_no" msgid="625438561395534982">"નકારો"</string>
+ <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> તમને <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b> પર સંદેશ મોકલવા માગે છે."</string>
+ <string name="sms_short_code_details" msgid="5873295990846059400">"આનાથી તમારા મોબાઇલ એકાઉન્ટ પર "<b>"શુલ્ક લાગી શકે છે"</b>"."</string>
+ <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"આનાથી તમારા મોબાઇલ એકાઉન્ટ પર શુલ્ક લાગશે."</b></string>
+ <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"મોકલો"</string>
+ <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"રદ કરો"</string>
+ <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"મારી પસંદગી યાદ રાખો"</string>
+ <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"તમે પછીથી આને સેટિંગ્સ > એપ્લિકેશન્સમાં બદલી શકો છો"</string>
+ <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"હંમેશા મંજૂરી આપો"</string>
+ <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"ક્યારેય મંજૂરી આપશો નહીં"</string>
+ <string name="sim_removed_title" msgid="6227712319223226185">"SIM કાર્ડ દૂર કર્યું"</string>
+ <string name="sim_removed_message" msgid="5450336489923274918">"એક માન્ય SIM કાર્ડ દાખલ કરીને તમે પુનઃપ્રારંભ ન કરો ત્યાં સુધી સેલ્યુલર નેટવર્ક અનુપલબ્ધ રહેશે."</string>
+ <string name="sim_done_button" msgid="827949989369963775">"થઈ ગયું"</string>
+ <string name="sim_added_title" msgid="3719670512889674693">"SIM કાર્ડ ઉમેર્યું"</string>
+ <string name="sim_added_message" msgid="7797975656153714319">"સેલ્યુલર નેટવર્કને ઍક્સેસ કરવામાં તમારા ઉપકરણને પુનઃપ્રારંભ કરો."</string>
+ <string name="sim_restart_button" msgid="4722407842815232347">"પુનઃપ્રારંભ કરો"</string>
+ <string name="time_picker_dialog_title" msgid="8349362623068819295">"સમય સેટ કરો"</string>
+ <string name="date_picker_dialog_title" msgid="5879450659453782278">"તારીખ સેટ કરો"</string>
+ <string name="date_time_set" msgid="5777075614321087758">"સેટ કરો"</string>
+ <string name="date_time_done" msgid="2507683751759308828">"થઈ ગયું"</string>
+ <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"નવું: "</font></string>
+ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> દ્વારા પ્રદાન."</string>
+ <string name="no_permissions" msgid="7283357728219338112">"કોઈ પરવાનગીઓ જરૂરી નથી"</string>
+ <string name="perm_costs_money" msgid="4902470324142151116">"આનાથી તમારા પૈસા ખર્ચ થઈ શકે છે"</string>
+ <string name="usb_storage_activity_title" msgid="4465055157209648641">"USB માસ સ્ટોરેજ"</string>
+ <string name="usb_storage_title" msgid="5901459041398751495">"USB કનેક્ટ થયું"</string>
+ <string name="usb_storage_message" product="nosdcard" msgid="3308538094316477839">"તમે તમારા કમ્પ્યુટર સાથે USB મારફતે કનેક્ટ થયેલા છો. જો તમે તમારા કમ્પ્યુટર અને તમારા Android ના USB સંગ્રહ વચ્ચે ફાઇલો કૉપિ કરવા માંગતા હો, તો નીચેના બટનને ટચ કરો."</string>
+ <string name="usb_storage_message" product="default" msgid="805351000446037811">"તમે તમારા કમ્પ્યુટર સાથે USB મારફતે કનેક્ટ થયેલા છો. જો તમે તમારા કમ્પ્યુટર અને તમારા Android ના SD કાર્ડ વચ્ચે ફાઇલો કૉપિ કરવા માંગતા હો, તો નીચેના બટનને ટચ કરો."</string>
+ <string name="usb_storage_button_mount" msgid="1052259930369508235">"USB સંગ્રહ ચાલુ કરો"</string>
+ <string name="usb_storage_error_message" product="nosdcard" msgid="3017045217365540658">"USB માસ સ્ટોરેજ માટે તમારા USB સંગ્રહના ઉપયોગમાં સમસ્યા છે."</string>
+ <string name="usb_storage_error_message" product="default" msgid="2876018512716970313">"USB માસ સ્ટોરેજ માટે તમારા SD કાર્ડના ઉપયોગમાં સમસ્યા છે."</string>
+ <string name="usb_storage_notification_title" msgid="8175892554757216525">"USB કનેક્ટ થયું"</string>
+ <string name="usb_storage_notification_message" msgid="939822783828183763">"તમારા કમ્પ્યુટર પર/માંથી ફાઇલો કૉપિ કરવા માટે ટચ કરો."</string>
+ <string name="usb_storage_stop_notification_title" msgid="2336058396663516017">"USB સંગ્રહ બંધ કરો"</string>
+ <string name="usb_storage_stop_notification_message" msgid="1656852098555623822">"USB સંગ્રહ બંધ કરવા માટે ટચ કરો."</string>
+ <string name="usb_storage_stop_title" msgid="660129851708775853">"USB સંગ્રહ ઉપયોગમાં છે"</string>
+ <string name="usb_storage_stop_message" product="nosdcard" msgid="4264025280777219521">"USB સંગ્રહને બંધ કરતાં પહેલાં, તમારા કમ્પ્યુટરથી તમારા Android ના USB સંગ્રહને અનમાઉન્ટ કરો (\"બહાર કાઢો\")."</string>
+ <string name="usb_storage_stop_message" product="default" msgid="8043969782460613114">"USB સંગ્રહને બંધ કરતાં પહેલાં, તમારા કમ્પ્યુટરથી તમારા Android ના SD કાર્ડને અનમાઉન્ટ કરો (\"બહાર કાઢો\")."</string>
+ <string name="usb_storage_stop_button_mount" msgid="7060218034900696029">"USB સંગ્રહ બંધ કરો"</string>
+ <string name="usb_storage_stop_error_message" msgid="1970374898263063836">"USB સંગ્રહને બંધ કરવામાં સમસ્યા હતી. તમે USB હોસ્ટને અનમાઉન્ટ કર્યું છે તે તપાસો, પછી ફરી પ્રયાસ કરો."</string>
+ <string name="dlg_confirm_kill_storage_users_title" msgid="963039033470478697">"USB સંગ્રહ ચાલુ કરો"</string>
+ <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"જો તમે USB સંગ્રહને ચાલુ કરો છો, તો તમે ઉપયોગમાં લઈ રહ્યાં છો તે કેટલીક એપ્લિકેશન્સ બંધ થઈ જશે અને જ્યાં સુધી તમે USB સંગ્રહ બંધ ન કરી લો ત્યાં સુધી અનુપલબ્ધ હોઈ શકે છે."</string>
+ <string name="dlg_error_title" msgid="7323658469626514207">"USB ઓપરેશન અસફળ"</string>
+ <string name="dlg_ok" msgid="7376953167039865701">"ઑકે"</string>
+ <string name="usb_mtp_notification_title" msgid="3699913097391550394">"એક મીડિયા ઉપકરણ તરીકે કનેક્ટ થયું"</string>
+ <string name="usb_ptp_notification_title" msgid="1960817192216064833">"કૅમેરા તરીકે કનેક્ટ કર્યું"</string>
+ <string name="usb_midi_notification_title" msgid="1399152904227676460">"MIDI ઉપકરણ તરીકે કનેક્ટ થયું"</string>
+ <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"ઇન્સ્ટોલર તરીકે કનેક્ટ કર્યું"</string>
+ <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB ઍક્સેસરીથી કનેક્ટ થયાં"</string>
+ <string name="usb_notification_message" msgid="2290859399983720271">"અન્ય USB વિકલ્પો માટે ટચ કરો."</string>
+ <string name="extmedia_format_title" product="nosdcard" msgid="9020092196061007262">"USB સંગ્રહને ફોર્મેટ કરીએ?"</string>
+ <string name="extmedia_format_title" product="default" msgid="3648415921526526069">"SD કાર્ડ ફોર્મેટ કરીએ?"</string>
+ <string name="extmedia_format_message" product="nosdcard" msgid="3934016853425761078">"તમારા USB સંગ્રહમાં સંગ્રહિત તમામ ફાઇલો કાઢી નાખવામાં આવશે. આ ક્રિયા પલટાવી શકાતી નથી!"</string>
+ <string name="extmedia_format_message" product="default" msgid="14131895027543830">"તમારા કાર્ડ પરનો બધો ડેટા ગુમ થઈ જશે."</string>
+ <string name="extmedia_format_button_format" msgid="4131064560127478695">"ફોર્મેટ"</string>
+ <string name="adb_active_notification_title" msgid="6729044778949189918">"USB ડીબગિંગ કનેક્ટ થયું."</string>
+ <string name="adb_active_notification_message" msgid="1016654627626476142">"USB ડીબગિંગ અક્ષમ કરવા માટે ટચ કરો."</string>
+ <string name="select_input_method" msgid="8547250819326693584">"કીબોર્ડ બદલો"</string>
+ <string name="configure_input_methods" msgid="4769971288371946846">"કીબોર્ડ્સ પસંદ કરો"</string>
+ <string name="show_ime" msgid="9157568568695230830">"ઇનપુટ પદ્ધતિ દર્શાવો"</string>
+ <string name="hardware" msgid="7517821086888990278">"હાર્ડવેર"</string>
+ <string name="select_keyboard_layout_notification_title" msgid="1407367017263030773">"કીબોર્ડ લેઆઉટ પસંદ કરો."</string>
+ <string name="select_keyboard_layout_notification_message" msgid="4465907700449257063">"કીબોર્ડ લેઆઉટ પસંદ કરવા માટે ટચ કરો."</string>
+ <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="candidates_style" msgid="4333913089637062257"><u>"ઉમેદવારો"</u></string>
+ <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ને તૈયાર કરી રહ્યું છે"</string>
+ <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ભૂલો માટે તપાસી રહ્યું છે"</string>
+ <string name="ext_media_new_notification_message" msgid="7589986898808506239">"નવું <xliff:g id="NAME">%s</xliff:g> મળ્યું"</string>
+ <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"ફોટા અને મીડિયા સ્થાનાંતરિત કરવા માટે"</string>
+ <string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"<xliff:g id="NAME">%s</xliff:g> ક્ષતિગ્રસ્ત થયું"</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> ક્ષતિગ્રસ્ત છે. તેને ફરીથી ફોર્મેટ કરવાનો પ્રયાસ કરો"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> અનપેક્ષિત રીતે દૂર કર્યું"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"ડેટા નુકસાનને ટાળવા માટે <xliff:g id="NAME">%s</xliff:g> ને દૂર કરતાં પહેલાં અનમાઉન્ટ કરો."</string>
+ <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"<xliff:g id="NAME">%s</xliff:g> દૂર કર્યું"</string>
+ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> દૂર કર્યું; એક નવું શામેલ કરો"</string>
+ <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"હજીએ <xliff:g id="NAME">%s</xliff:g> ને બહાર કાઢી રહ્યાં છે…"</string>
+ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"દૂર કરશો નહીં"</string>
+ <string name="ext_media_init_action" msgid="8317198948634872507">"સેટઅપ"</string>
+ <string name="ext_media_unmount_action" msgid="1121883233103278199">"બહાર કાઢો"</string>
+ <string name="ext_media_browse_action" msgid="8322172381028546087">"અન્વેષણ કરો"</string>
+ <string name="activity_list_empty" msgid="1675388330786841066">"કોઈ મેળ ખાતી પ્રવૃત્તિઓ મળી નથી."</string>
+ <string name="permlab_route_media_output" msgid="1642024455750414694">"મીડિયા આઉટપુટ રૂટ કરો"</string>
+ <string name="permdesc_route_media_output" msgid="4932818749547244346">"એપ્લિકેશનને અન્ય બાહ્ય ઉપકરણો પર મીડિયા આઉટપુટને રૂટ કરવની મંજૂરી આપે છે."</string>
+ <string name="permlab_readInstallSessions" msgid="6165432407628065939">"ઇન્સ્ટોલ સત્રો વાંચો"</string>
+ <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"એપ્લિકેશનને ઇન્સ્ટોલ સત્રોને વાંચવાની મંજૂરી આપે છે. આ તેને સક્રિય પૅકેજ ઇન્સ્ટોલેશન્સ વિશે વિગતો જોવાની મંજૂરી આપે છે."</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"ઝૂમ નિયંત્રણ માટે બેવાર ટચ કરો"</string>
+ <string name="gadget_host_error_inflating" msgid="4882004314906466162">"વિજેટ ઉમેરી શકાયું નથી."</string>
+ <string name="ime_action_go" msgid="8320845651737369027">"જાઓ"</string>
+ <string name="ime_action_search" msgid="658110271822807811">"શોધો"</string>
+ <string name="ime_action_send" msgid="2316166556349314424">"મોકલો"</string>
+ <string name="ime_action_next" msgid="3138843904009813834">"આગલું"</string>
+ <string name="ime_action_done" msgid="8971516117910934605">"થઈ ગયું"</string>
+ <string name="ime_action_previous" msgid="1443550039250105948">"પહેલાંનું"</string>
+ <string name="ime_action_default" msgid="2840921885558045721">"અમલ કરો"</string>
+ <string name="dial_number_using" msgid="5789176425167573586">"<xliff:g id="NUMBER">%s</xliff:g> નો ઉપયોગ કરીને\nડાયલ કરો"</string>
+ <string name="create_contact_using" msgid="4947405226788104538">"<xliff:g id="NUMBER">%s</xliff:g> નો ઉપયોગ કરીને\nસંપર્ક બનાવો"</string>
+ <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"નીચેની એક અથવા વધુ એપ્લિકેશન્સ તમારા એકાઉન્ટની હમણાં અને ભવિષ્યમાં, ઍક્સેસ કરવા માટેની પરવાનગીની વિનંતી કરે છે."</string>
+ <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"શું તમે આ વિનંતીને મંજૂર કરવા માંગો છો?"</string>
+ <string name="grant_permissions_header_text" msgid="6874497408201826708">"ઍક્સેસ વિનંતી"</string>
+ <string name="allow" msgid="7225948811296386551">"મંજૂરી આપો"</string>
+ <string name="deny" msgid="2081879885755434506">"નકારો"</string>
+ <string name="permission_request_notification_title" msgid="6486759795926237907">"પરવાનગીની વિનંતી કરી"</string>
+ <string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"એકાઉન્ટ <xliff:g id="ACCOUNT">%s</xliff:g> માટે\nપરવાનગીની વિનંતી કરી."</string>
+ <string name="forward_intent_to_owner" msgid="1207197447013960896">"તમે તમારી કાર્ય પ્રોફાઇલની બહાર આ એપ્લિકેશનનો ઉપયોગ કરી રહ્યાં છો"</string>
+ <string name="forward_intent_to_work" msgid="621480743856004612">"તમે તમારી કાર્ય પ્રોફાઇલમાં આ એપ્લિકેશનનો ઉપયોગ કરી રહ્યાં છો"</string>
+ <string name="input_method_binding_label" msgid="1283557179944992649">"ઇનપુટ પદ્ધતિ"</string>
+ <string name="sync_binding_label" msgid="3687969138375092423">"સમન્વયન"</string>
+ <string name="accessibility_binding_label" msgid="4148120742096474641">"ઍક્સેસિબિલિટી"</string>
+ <string name="wallpaper_binding_label" msgid="1240087844304687662">"વૉલપેપર"</string>
+ <string name="chooser_wallpaper" msgid="7873476199295190279">"વૉલપેપર બદલો"</string>
+ <string name="notification_listener_binding_label" msgid="2014162835481906429">"સૂચના સાંભળનાર"</string>
+ <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"શરત પ્રદાતા"</string>
+ <string name="vpn_title" msgid="19615213552042827">"VPN સક્રિય કર્યું"</string>
+ <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> દ્વારા VPN સક્રિય થયું"</string>
+ <string name="vpn_text" msgid="3011306607126450322">"નેટવર્કને સંચાલિત કરવા માટે ટચ કરો."</string>
+ <string name="vpn_text_long" msgid="6407351006249174473">"<xliff:g id="SESSION">%s</xliff:g> થી કનેક્ટ થયાં. નેટવર્ક સંચાલિત કરવા માટે ટચ કરો."</string>
+ <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"હંમેશા-ચાલુ VPN કનેક્ટ થઈ રહ્યું છે…"</string>
+ <string name="vpn_lockdown_connected" msgid="8202679674819213931">"હંમેશા-ચાલુ VPN કનેક્ટ થયું"</string>
+ <string name="vpn_lockdown_error" msgid="6009249814034708175">"હંમેશાં ચાલુ VPN ભૂલ"</string>
+ <string name="vpn_lockdown_config" msgid="6415899150671537970">"ગોઠવવા માટે ટચ કરો"</string>
+ <string name="upload_file" msgid="2897957172366730416">"ફાઇલ પસંદ કરો"</string>
+ <string name="no_file_chosen" msgid="6363648562170759465">"કોઈ ફાઇલ પસંદ કરેલી નથી"</string>
+ <string name="reset" msgid="2448168080964209908">"ફરીથી સેટ કરો"</string>
+ <string name="submit" msgid="1602335572089911941">"સબમિટ કરો"</string>
+ <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"કાર મોડ સક્ષમ છે"</string>
+ <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"કાર મોડથી બહાર નીકળવા માટે ટચ કરો."</string>
+ <string name="tethered_notification_title" msgid="3146694234398202601">"ટિથરિંગ અથવા હોટસ્પોટ સક્રિય"</string>
+ <string name="tethered_notification_message" msgid="6857031760103062982">"સેટ કરવા માટે ટચ કરો."</string>
+ <string name="back_button_label" msgid="2300470004503343439">"પાછળ"</string>
+ <string name="next_button_label" msgid="1080555104677992408">"આગલું"</string>
+ <string name="skip_button_label" msgid="1275362299471631819">"છોડો"</string>
+ <string name="no_matches" msgid="8129421908915840737">"કોઈ મેળ નથી"</string>
+ <string name="find_on_page" msgid="1946799233822820384">"પૃષ્ઠ પર શોધો"</string>
+ <plurals name="matches_found" formatted="false" msgid="1210884353962081884">
+ <item quantity="one"><xliff:g id="TOTAL">%d</xliff:g> માંથી <xliff:g id="INDEX">%d</xliff:g></item>
+ <item quantity="other"><xliff:g id="TOTAL">%d</xliff:g> માંથી <xliff:g id="INDEX">%d</xliff:g></item>
+ </plurals>
+ <string name="action_mode_done" msgid="7217581640461922289">"થઈ ગયું"</string>
+ <string name="progress_unmounting" product="nosdcard" msgid="3923810448507612746">"USB સંગ્રહ અનમાઉન્ટ કરી રહ્યું છે…"</string>
+ <string name="progress_unmounting" product="default" msgid="1327894998409537190">"SD કાર્ડ અનમાઉન્ટ કરી રહ્યું છે…"</string>
+ <string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"USB સંગ્રહ કાઢી નાખી રહ્યાં છે…"</string>
+ <string name="progress_erasing" product="default" msgid="6596988875507043042">"SD કાર્ડ કાઢી નાખી રહ્યાં છે…"</string>
+ <string name="format_error" product="nosdcard" msgid="6299769563624776948">"USB સંગ્રહ કાઢી નાખી શકાયું નથી."</string>
+ <string name="format_error" product="default" msgid="7315248696644510935">"SD કાર્ડ કાઢી નાખી શક્યાં નહીં."</string>
+ <string name="media_bad_removal" msgid="7960864061016603281">"SD કાર્ડ અનમાઉન્ટ કરવમાં આવે તે પહેલા દૂર કરાયું હતું."</string>
+ <string name="media_checking" product="nosdcard" msgid="418188720009569693">"USB સંગ્રહ હાલમાં તપાસવામાં આવી રહ્યું છે."</string>
+ <string name="media_checking" product="default" msgid="7334762503904827481">"SD કાર્ડ હાલમાં તપાસવામાં આવી રહ્યું છે."</string>
+ <string name="media_removed" msgid="7001526905057952097">"SD કાર્ડ દૂર કરવામાં આવ્યું છે."</string>
+ <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"USB સંગ્રહ વર્તમાનમાં કમ્પ્યુટર દ્વારા ઉપયોગમાં છે."</string>
+ <string name="media_shared" product="default" msgid="5706130568133540435">"SD કાર્ડ વર્તમાનમાં કમ્પ્યુટર દ્વારા ઉપયોગમાં છે."</string>
+ <string name="media_unknown_state" msgid="729192782197290385">"બાહ્ય મીડિયા અજાણ સ્થિતિમાં છે."</string>
+ <string name="share" msgid="1778686618230011964">"શેર કરો"</string>
+ <string name="find" msgid="4808270900322985960">"શોધો"</string>
+ <string name="websearch" msgid="4337157977400211589">"વેબ શોધ"</string>
+ <string name="find_next" msgid="5742124618942193978">"આગલું શોધો"</string>
+ <string name="find_previous" msgid="2196723669388360506">"પહેલાનું શોધો"</string>
+ <string name="gpsNotifTicker" msgid="5622683912616496172">"<xliff:g id="NAME">%s</xliff:g> દ્વારા સ્થાન વિનંતી"</string>
+ <string name="gpsNotifTitle" msgid="5446858717157416839">"સ્થાન વિનંતી"</string>
+ <string name="gpsNotifMessage" msgid="1374718023224000702">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) દ્વારા વિનંતી કરાઈ"</string>
+ <string name="gpsVerifYes" msgid="2346566072867213563">"હા"</string>
+ <string name="gpsVerifNo" msgid="1146564937346454865">"નહીં"</string>
+ <string name="sync_too_many_deletes" msgid="5296321850662746890">"કાઢી નાખવાની સીમા ઓળંગાઈ"</string>
+ <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, એકાઉન્ટ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> માટે <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> કાઢી નાખેલ આઇટમ્સ છે. તમે શું કરવા માગો છો?"</string>
+ <string name="sync_really_delete" msgid="2572600103122596243">"આઇટમ્સ કાઢી નાખો"</string>
+ <string name="sync_undo_deletes" msgid="2941317360600338602">"કાઢી નાખવાનું પૂર્વવત્ કરો"</string>
+ <string name="sync_do_nothing" msgid="3743764740430821845">"હાલ પૂરતું કંઈ કરશો નહીં"</string>
+ <string name="choose_account_label" msgid="5655203089746423927">"એક એકાઉન્ટ પસંદ કરો"</string>
+ <string name="add_account_label" msgid="2935267344849993553">"એક એકાઉન્ટ ઉમેરો"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"એકાઉન્ટ ઉમેરો"</string>
+ <string name="number_picker_increment_button" msgid="2412072272832284313">"વધારો"</string>
+ <string name="number_picker_decrement_button" msgid="476050778386779067">"ઘટાડો"</string>
+ <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> ટચ કરો અને પકડી રાખો."</string>
+ <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"વધારવા માટે ઉપર અને ઘટાડવા માટે નીચે સ્લાઇડ કરો."</string>
+ <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"મિનિટ વધારો"</string>
+ <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"મિનિટ ઘટાડો"</string>
+ <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"કલાક વધારો"</string>
+ <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"કલાક ઘટાડો"</string>
+ <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"PM સેટ કરો"</string>
+ <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"AM સેટ કરો"</string>
+ <string name="date_picker_increment_month_button" msgid="5369998479067934110">"મહિનો વધારો"</string>
+ <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"મહિનો ઘટાડો"</string>
+ <string name="date_picker_increment_day_button" msgid="7130465412308173903">"દિવસ વધારો"</string>
+ <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"દિવસ ઘટાડો"</string>
+ <string name="date_picker_increment_year_button" msgid="6318697384310808899">"વર્ષ વધારો"</string>
+ <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"વર્ષ ઘટાડો"</string>
+ <string name="date_picker_prev_month_button" msgid="2858244643992056505">"પહેલાનો મહિનો"</string>
+ <string name="date_picker_next_month_button" msgid="5559507736887605055">"આગલો મહિનો"</string>
+ <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"ALT"</string>
+ <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"રદ કરો"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"કાઢી નાખો"</string>
+ <string name="keyboardview_keycode_done" msgid="1992571118466679775">"થઈ ગયું"</string>
+ <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"મોડ ફેરફાર"</string>
+ <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"દાખલ કરો"</string>
+ <string name="activitychooserview_choose_application" msgid="2125168057199941199">"એક એપ્લિકેશન પસંદ કરો"</string>
+ <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> લોંચ કરી શકાયું નથી"</string>
+ <string name="shareactionprovider_share_with" msgid="806688056141131819">"આની સાથે શેર કરો"</string>
+ <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> સાથે શેર કરો"</string>
+ <string name="content_description_sliding_handle" msgid="415975056159262248">"સ્લાઇડિંગ હેન્ડલ. ટચ કરો અને પકડો."</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"અનલૉક કરવા માટે સ્વાઇપ કરો."</string>
+ <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"પાસવર્ડ કીઝ બોલાતી સાંભળવા માટે હેડસેટ પ્લગ ઇન કરો."</string>
+ <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"ડોટ."</string>
+ <string name="action_bar_home_description" msgid="5293600496601490216">"હોમ પર નેવિગેટ કરો"</string>
+ <string name="action_bar_up_description" msgid="2237496562952152589">"ઉપર નેવિગેટ કરો"</string>
+ <string name="action_menu_overflow_description" msgid="2295659037509008453">"વધુ વિકલ્પો"</string>
+ <string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
+ <string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
+ <string name="storage_internal" msgid="4891916833657929263">"આંતરિક સંગ્રહ"</string>
+ <string name="storage_sd_card" msgid="3282948861378286745">"SD કાર્ડ"</string>
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD કાર્ડ"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ડ્રાઇવ"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ડ્રાઇવ"</string>
+ <string name="storage_usb" msgid="3017954059538517278">"USB સંગ્રહ"</string>
+ <string name="extract_edit_menu_button" msgid="8940478730496610137">"સંપાદિત કરો"</string>
+ <string name="data_usage_warning_title" msgid="1955638862122232342">"ડેટા વપરાશ ચેતવણી"</string>
+ <string name="data_usage_warning_body" msgid="2814673551471969954">"વપરાશ અને સેટિંગ્સ જોવા માટે ટચ કરો."</string>
+ <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G ડેટા મર્યાદા પર પહોંચ્યાં"</string>
+ <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G ડેટા મર્યાદા સુધી પહોંચ્યાં"</string>
+ <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"સેલ્યુલર ડેટા મર્યાદા સુધી પહોંચ્યાં"</string>
+ <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"Wi-Fi ડેટા સીમા પર પહોંચ્યાં"</string>
+ <string name="data_usage_limit_body" msgid="291731708279614081">"બાકીના ચક્ર માટે ડેટા થોભાવ્યો"</string>
+ <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"2G-3G ડેટા મર્યાદા ઓળંગાઈ"</string>
+ <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"4G ડેટા મર્યાદા ઓળંગાઈ"</string>
+ <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"સેલ્યુલર ડેટા મર્યાદા ઓળંગાઈ"</string>
+ <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi ડેટા મર્યાદા ઓળંગાઈ"</string>
+ <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"ઉલ્લેખિત મર્યાદાથી <xliff:g id="SIZE">%s</xliff:g> વધુ."</string>
+ <string name="data_usage_restricted_title" msgid="5965157361036321914">"પૃષ્ઠભૂમિ ડેટા પ્રતિબંધિત"</string>
+ <string name="data_usage_restricted_body" msgid="6741521330997452990">"પ્રતિબંધ દૂર કરવા માટે ટચ કરો."</string>
+ <string name="ssl_certificate" msgid="6510040486049237639">"સુરક્ષા પ્રમાણપત્ર"</string>
+ <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"આ પ્રમાણપત્ર માન્ય છે."</string>
+ <string name="issued_to" msgid="454239480274921032">"આને રજૂ:"</string>
+ <string name="common_name" msgid="2233209299434172646">"સાચું નામ:"</string>
+ <string name="org_name" msgid="6973561190762085236">"સંગઠન:"</string>
+ <string name="org_unit" msgid="7265981890422070383">"સંસ્થાકીય એકમ:"</string>
+ <string name="issued_by" msgid="2647584988057481566">"રજૂકર્તા:"</string>
+ <string name="validity_period" msgid="8818886137545983110">"માન્યતા:"</string>
+ <string name="issued_on" msgid="5895017404361397232">"આ રોજ જારી:"</string>
+ <string name="expires_on" msgid="3676242949915959821">"આ રોજ સમાપ્ત:"</string>
+ <string name="serial_number" msgid="758814067660862493">"શૃંખલા ક્રમાંક:"</string>
+ <string name="fingerprints" msgid="4516019619850763049">"ફિંગરપ્રિંટ્સ:"</string>
+ <string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 ફિંગરપ્રિંટ:"</string>
+ <string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 ફિંગરપ્રિંટ:"</string>
+ <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"બધું જુઓ"</string>
+ <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"પ્રવૃત્તિ પસંદ કરો"</string>
+ <string name="share_action_provider_share_with" msgid="5247684435979149216">"આની સાથે શેર કરો"</string>
+ <string name="list_delimeter" msgid="3975117572185494152">", "</string>
+ <string name="sending" msgid="3245653681008218030">"મોકલી રહ્યાં છે…"</string>
+ <string name="launchBrowserDefault" msgid="2057951947297614725">"બ્રાઉઝર લોન્ચ કરીએ?"</string>
+ <string name="SetupCallDefault" msgid="5834948469253758575">"કૉલ સ્વીકારીએ?"</string>
+ <string name="activity_resolver_use_always" msgid="8017770747801494933">"હંમેશા"</string>
+ <string name="activity_resolver_use_once" msgid="2404644797149173758">"ફક્ત એક વાર"</string>
+ <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s કાર્ય પ્રોફાઇલનું સમર્થન કરતું નથી"</string>
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"ટેબ્લેટ"</string>
+ <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"TV"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"ફોન"</string>
+ <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"હેડફોન"</string>
+ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"સ્પીકર્સ ડૉક કરો"</string>
+ <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string>
+ <string name="default_audio_route_category_name" msgid="3722811174003886946">"સિસ્ટમ"</string>
+ <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth ઑડિઓ"</string>
+ <string name="wireless_display_route_description" msgid="9070346425023979651">"બિનતારી પ્રદર્શન"</string>
+ <string name="media_route_button_content_description" msgid="591703006349356016">"કાસ્ટ કરો"</string>
+ <string name="media_route_chooser_title" msgid="1751618554539087622">"ઉપકરણ સાથે કનેક્ટ કરો"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ઉપકરણ પર સ્ક્રીન કાસ્ટ કરો"</string>
+ <string name="media_route_chooser_searching" msgid="4776236202610828706">"ઉપકરણો માટે શોધી રહ્યું છે…"</string>
+ <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"સેટિંગ્સ"</string>
+ <string name="media_route_controller_disconnect" msgid="8966120286374158649">"ડિસ્કનેક્ટ કરો"</string>
+ <string name="media_route_status_scanning" msgid="7279908761758293783">"સ્કેન કરી રહ્યું છે..."</string>
+ <string name="media_route_status_connecting" msgid="6422571716007825440">"કનેક્ટ કરી રહ્યું છે..."</string>
+ <string name="media_route_status_available" msgid="6983258067194649391">"ઉપલબ્ધ"</string>
+ <string name="media_route_status_not_available" msgid="6739899962681886401">"ઉપલબ્ધ નથી"</string>
+ <string name="media_route_status_in_use" msgid="4533786031090198063">"ઉપયોગમાં છે"</string>
+ <string name="display_manager_built_in_display_name" msgid="2583134294292563941">"બિલ્ટ-ઇન સ્ક્રીન"</string>
+ <string name="display_manager_hdmi_display_name" msgid="1555264559227470109">"HDMI સ્ક્રીન"</string>
+ <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"#<xliff:g id="ID">%1$d</xliff:g> ઓવરલે કરો"</string>
+ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
+ <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", સુરક્ષિત"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"પેટર્ન ભૂલી ગયાં"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ખોટી પેટર્ન"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"ખોટો પાસવર્ડ"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"ખોટો PIN"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%1$d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"તમારી પેટર્ન દોરો"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN દાખલ કરો"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN દાખલ કરો"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"પાસવર્ડ દાખલ કરો"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM હવે અક્ષમ છે. ચાલુ રાખવા માટે PUK કોડ દાખલ કરો. વિગતો માટે કેરીઅરનો સંપર્ક કરો."</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"જોઈતો PIN કોડ દાખલ કરો"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"જોઈતા PIN કોડની પુષ્ટિ કરો"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM કાર્ડ અનલૉક કરી રહ્યાં છે…"</string>
+ <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"ખોટો PIN કોડ."</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"એક PIN લખો જે 4 થી 8 સંખ્યાનો છે."</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"PUK કોડ 8 નંબર્સનો હોવો જોઈએ."</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"સાચો PUK કોડ ફરીથી દાખલ કરો. પુનરાવર્તિત પ્રયાસો SIM ને કાયમી રીતે અક્ષમ કરશે."</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN કોડ્સ મેળ ખાતા નથી"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ઘણા બધા પેટર્ન પ્રયાસો"</string>
+ <string name="kg_login_instructions" msgid="1100551261265506448">"અનલૉક કરવા માટે, તમારા Google એકાઉન્ટથી સાઇન ઇન કરો."</string>
+ <string name="kg_login_username_hint" msgid="5718534272070920364">"વપરાશકર્તાનામ (ઇમેઇલ)"</string>
+ <string name="kg_login_password_hint" msgid="9057289103827298549">"પાસવર્ડ"</string>
+ <string name="kg_login_submit_button" msgid="5355904582674054702">"સાઇન ઇન કરો"</string>
+ <string name="kg_login_invalid_input" msgid="5754664119319872197">"અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ"</string>
+ <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"તમારું વપરાશકર્તાનામ અથવા પાસવર્ડ ભૂલાઈ ગયો?\n "<b>"google.com/accounts/recovery"</b>" ની મુલાકાત લો."</string>
+ <string name="kg_login_checking_password" msgid="1052685197710252395">"એકાઉન્ટ તપાસી રહ્યું છે…"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો PIN લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો પાસવર્ડ લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારી અનલૉક પેટર્ન દોરી. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"તમે ટેબ્લેટને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, ટેબ્લેટને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"તમે ટીવીને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, ટીવીને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"તમે ફોનને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસો પછી, ફોનને ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે અને તેનો તમામ ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટેબ્લેટને અનલૉક કરવાનો પ્રયાસ કર્યો. ટેબ્લેટ હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટીવીને અનલૉક કરવાનો પ્રયાસ કર્યો. ટીવી હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ફોનને અનલૉક કરવાનો પ્રયાસ કર્યો. ફોન હવે ફેક્ટરી ડિફોલ્ટ પર ફરીથી સેટ કરવામાં આવશે."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસો પછી, તમને એક ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને તમારા ટેબ્લેટને અનલૉક કરવા માટે પૂછવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસો પછી, તમને એક ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને તમારા ટીવીને અનલૉક કરવા માટે પૂછવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"તમે તમારી અનલૉક પેટર્ન <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે દોરી. હજી <xliff:g id="NUMBER_1">%d</xliff:g> અસફળ પ્રયાસ પછી, તમને ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને ફોનને અનલૉક કરવાનું કહેવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
+ <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"દૂર કરો"</string>
+ <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"ભલામણ કરેલ સ્તરની ઉપર વૉલ્યૂમ વધાર્યો?\n\nલાંબા સમય સુધી ઊંચા અવાજે સાંભળવું તમારી શ્રવણક્ષમતાને નુકસાન પહોંચાડી શકે છે."</string>
+ <string name="continue_to_enable_accessibility" msgid="1626427372316070258">"ઍક્સેસિબિલિટી સક્ષમ કરવા માટે બે આંગળીઓ પકડી રાખો."</string>
+ <string name="accessibility_enabled" msgid="1381972048564547685">"ઍક્સેસિબિલિટી સક્ષમ કરી."</string>
+ <string name="enable_accessibility_canceled" msgid="3833923257966635673">"ઍક્સેસિબિલિટી રદ કરી."</string>
+ <string name="user_switched" msgid="3768006783166984410">"વર્તમાન વપરાશકર્તા <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g> પર સ્વિચ કરી રહ્યાં છે…"</string>
+ <string name="owner_name" msgid="2716755460376028154">"માલિક"</string>
+ <string name="error_message_title" msgid="4510373083082500195">"ભૂલ"</string>
+ <string name="error_message_change_not_allowed" msgid="1347282344200417578">"તમારા વ્યવસ્થાપક દ્વારા આ પરિવર્તનની મંજૂરી નથી"</string>
+ <string name="app_not_found" msgid="3429141853498927379">"આ ક્રિયાને હેન્ડલ કરવા માટે કોઈ એપ્લિકેશન મળી નહીં"</string>
+ <string name="revoke" msgid="5404479185228271586">"રદબાતલ કરો"</string>
+ <string name="mediasize_iso_a0" msgid="1994474252931294172">"ISO A0"</string>
+ <string name="mediasize_iso_a1" msgid="3333060421529791786">"ISO A1"</string>
+ <string name="mediasize_iso_a2" msgid="3097535991925798280">"ISO A2"</string>
+ <string name="mediasize_iso_a3" msgid="3023213259314236123">"ISO A3"</string>
+ <string name="mediasize_iso_a4" msgid="231745325296873764">"ISO A4"</string>
+ <string name="mediasize_iso_a5" msgid="3484327407340865411">"ISO A5"</string>
+ <string name="mediasize_iso_a6" msgid="4861908487129577530">"ISO A6"</string>
+ <string name="mediasize_iso_a7" msgid="5890208588072936130">"ISO A7"</string>
+ <string name="mediasize_iso_a8" msgid="4319425041085816612">"ISO A8"</string>
+ <string name="mediasize_iso_a9" msgid="4882220529506432008">"ISO A9"</string>
+ <string name="mediasize_iso_a10" msgid="2382866026365359391">"ISO A10"</string>
+ <string name="mediasize_iso_b0" msgid="3651827147402009675">"ISO B0"</string>
+ <string name="mediasize_iso_b1" msgid="6072859628278739957">"ISO B1"</string>
+ <string name="mediasize_iso_b2" msgid="1348731852150380378">"ISO B2"</string>
+ <string name="mediasize_iso_b3" msgid="2612510181259261379">"ISO B3"</string>
+ <string name="mediasize_iso_b4" msgid="695151378838115434">"ISO B4"</string>
+ <string name="mediasize_iso_b5" msgid="4863754285582212487">"ISO B5"</string>
+ <string name="mediasize_iso_b6" msgid="5305816292139647241">"ISO B6"</string>
+ <string name="mediasize_iso_b7" msgid="531673542602786624">"ISO B7"</string>
+ <string name="mediasize_iso_b8" msgid="9164474595708850034">"ISO B8"</string>
+ <string name="mediasize_iso_b9" msgid="282102976764774160">"ISO B9"</string>
+ <string name="mediasize_iso_b10" msgid="4517141714407898976">"ISO B10"</string>
+ <string name="mediasize_iso_c0" msgid="3103521357901591100">"ISO C0"</string>
+ <string name="mediasize_iso_c1" msgid="1231954105985048595">"ISO C1"</string>
+ <string name="mediasize_iso_c2" msgid="927702816980087462">"ISO C2"</string>
+ <string name="mediasize_iso_c3" msgid="835154173518304159">"ISO C3"</string>
+ <string name="mediasize_iso_c4" msgid="5095951985108194011">"ISO C4"</string>
+ <string name="mediasize_iso_c5" msgid="1985397450332305739">"ISO C5"</string>
+ <string name="mediasize_iso_c6" msgid="8147421924174693013">"ISO C6"</string>
+ <string name="mediasize_iso_c7" msgid="8993994925276122950">"ISO C7"</string>
+ <string name="mediasize_iso_c8" msgid="6871178104139598957">"ISO C8"</string>
+ <string name="mediasize_iso_c9" msgid="7983532635227561362">"ISO C9"</string>
+ <string name="mediasize_iso_c10" msgid="5040764293406765584">"ISO C10"</string>
+ <string name="mediasize_na_letter" msgid="2841414839888344296">"લેટર"</string>
+ <string name="mediasize_na_gvrnmt_letter" msgid="5295836838862962809">"ગવર્મેન્ટ લેટર"</string>
+ <string name="mediasize_na_legal" msgid="8621364037680465666">"લીગલ"</string>
+ <string name="mediasize_na_junior_legal" msgid="3309324162155085904">"જુનિયર લીગલ"</string>
+ <string name="mediasize_na_ledger" msgid="5567030340509075333">"લેજર"</string>
+ <string name="mediasize_na_tabloid" msgid="4571735038501661757">"ટેબ્લોઇડ"</string>
+ <string name="mediasize_na_index_3x5" msgid="5182901917818625126">"ઇન્ડેક્સ કાર્ડ 3x5"</string>
+ <string name="mediasize_na_index_4x6" msgid="7687620625422312396">"ઇન્ડેક્સ કાર્ડ 4x6"</string>
+ <string name="mediasize_na_index_5x8" msgid="8834215284646872800">"ઇન્ડેક્સ કાર્ડ 5x8"</string>
+ <string name="mediasize_na_monarch" msgid="213639906956550754">"મોનાર્ક"</string>
+ <string name="mediasize_na_quarto" msgid="835778493593023223">"ક્વાર્ટો"</string>
+ <string name="mediasize_na_foolscap" msgid="1573911237983677138">"ફૂલસ્કેપ"</string>
+ <string name="mediasize_chinese_roc_8k" msgid="3626855847189438896">"રૉક 8K"</string>
+ <string name="mediasize_chinese_roc_16k" msgid="9182191577022943355">"ROC 16K"</string>
+ <string name="mediasize_chinese_prc_1" msgid="4793232644980170500">"PRC 1"</string>
+ <string name="mediasize_chinese_prc_2" msgid="5404109730975720670">"PRC 2"</string>
+ <string name="mediasize_chinese_prc_3" msgid="1335092253339363526">"PRC 3"</string>
+ <string name="mediasize_chinese_prc_4" msgid="9167997800486569834">"PRC 4"</string>
+ <string name="mediasize_chinese_prc_5" msgid="845875168823541497">"PRC 5"</string>
+ <string name="mediasize_chinese_prc_6" msgid="3220325667692648789">"PRC 6"</string>
+ <string name="mediasize_chinese_prc_7" msgid="1776792138507038527">"PRC 7"</string>
+ <string name="mediasize_chinese_prc_8" msgid="1417176642687456692">"PRC 8"</string>
+ <string name="mediasize_chinese_prc_9" msgid="4785983473123798365">"PRC 9"</string>
+ <string name="mediasize_chinese_prc_10" msgid="7847982299391851899">"PRC 10"</string>
+ <string name="mediasize_chinese_prc_16k" msgid="262793383539980677">"PRC 16K"</string>
+ <string name="mediasize_chinese_om_pa_kai" msgid="5256815579447959814">"પે કાઇ"</string>
+ <string name="mediasize_chinese_om_dai_pa_kai" msgid="7336412963441354407">"Dai Pa Kai"</string>
+ <string name="mediasize_chinese_om_jurro_ku_kai" msgid="6324465444100490742">"જુરુ કુ કાઇ"</string>
+ <string name="mediasize_japanese_jis_b10" msgid="1787262845627694376">"JIS B10"</string>
+ <string name="mediasize_japanese_jis_b9" msgid="3336035783663287470">"JIS B9"</string>
+ <string name="mediasize_japanese_jis_b8" msgid="6195398299104345731">"JIS B8"</string>
+ <string name="mediasize_japanese_jis_b7" msgid="1674621886902828884">"JIS B7"</string>
+ <string name="mediasize_japanese_jis_b6" msgid="4170576286062657435">"JIS B6"</string>
+ <string name="mediasize_japanese_jis_b5" msgid="4899297958100032533">"JIS B5"</string>
+ <string name="mediasize_japanese_jis_b4" msgid="4213158129126666847">"JIS B4"</string>
+ <string name="mediasize_japanese_jis_b3" msgid="8513715307410310696">"JIS B3"</string>
+ <string name="mediasize_japanese_jis_b2" msgid="4777690211897131190">"JIS B2"</string>
+ <string name="mediasize_japanese_jis_b1" msgid="4608142385457034603">"JIS B1"</string>
+ <string name="mediasize_japanese_jis_b0" msgid="7587108366572243991">"JIS B0"</string>
+ <string name="mediasize_japanese_jis_exec" msgid="5244075432263649068">"JIS એક્સેક."</string>
+ <string name="mediasize_japanese_chou4" msgid="4941652015032631361">"Chou4"</string>
+ <string name="mediasize_japanese_chou3" msgid="6387319169263957010">"Chou3"</string>
+ <string name="mediasize_japanese_chou2" msgid="1299112025415343982">"Chou2"</string>
+ <string name="mediasize_japanese_hagaki" msgid="8070115620644254565">"Hagaki"</string>
+ <string name="mediasize_japanese_oufuku" msgid="6049065587307896564">"ઓફુકુ"</string>
+ <string name="mediasize_japanese_kahu" msgid="6872696027560065173">"કહુ"</string>
+ <string name="mediasize_japanese_kaku2" msgid="2359077233775455405">"કાકુ2"</string>
+ <string name="mediasize_japanese_you4" msgid="2091777168747058008">"You4"</string>
+ <string name="mediasize_unknown_portrait" msgid="3088043641616409762">"અજાણ્યું પોર્ટ્રેટ"</string>
+ <string name="mediasize_unknown_landscape" msgid="4876995327029361552">"અજાણ્યું લેન્ડસ્કેપ"</string>
+ <string name="write_fail_reason_cancelled" msgid="7091258378121627624">"રદ થઈ"</string>
+ <string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"સામગ્રી લખતી વખતે ભૂલ"</string>
+ <string name="reason_unknown" msgid="6048913880184628119">"અજાણ્યું"</string>
+ <string name="reason_service_unavailable" msgid="7824008732243903268">"મુદ્રણ સેવા સક્ષમ નથી"</string>
+ <string name="print_service_installed_title" msgid="2246317169444081628">"<xliff:g id="NAME">%s</xliff:g> સેવા ઇન્સ્ટોલ કરી"</string>
+ <string name="print_service_installed_message" msgid="5897362931070459152">"સક્ષમ કરવા માટે ટેપ કરો"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"વ્યવસ્થાપક PIN દાખલ કરો"</string>
+ <string name="restr_pin_enter_pin" msgid="3395953421368476103">"પિન દાખલ કરો"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"ખોટું"</string>
+ <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"વર્તમાન PIN"</string>
+ <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"નવો PIN"</string>
+ <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"નવા PIN ની પુષ્ટિ કરો"</string>
+ <string name="restr_pin_create_pin" msgid="8017600000263450337">"પ્રતિબંધો સંશોધિત કરવા માટે એક PIN બનાવો"</string>
+ <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN મેળ ખાતા નથી. ફરીથી પ્રયાસ કરો."</string>
+ <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ખૂબ નાનો છે. ઓછામાં ઓછો 4 અંકનો હોવો આવશ્યક છે."</string>
+ <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો</item>
+ </plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"પછી ફરી પ્રયાસ કરો"</string>
+ <string name="immersive_cling_title" msgid="8394201622932303336">"પૂર્ણ સ્ક્રીન જોઈ રહ્યાં છે"</string>
+ <string name="immersive_cling_description" msgid="3482371193207536040">"બહાર નીકળવા માટે, ટોચ પરથી નીચે સ્વાઇપ કરો."</string>
+ <string name="immersive_cling_positive" msgid="5016839404568297683">"સમજાઈ ગયું"</string>
+ <string name="done_label" msgid="2093726099505892398">"થઈ ગયું"</string>
+ <string name="hour_picker_description" msgid="6698199186859736512">"કલાકનું વર્તુળાકાર સ્લાઇડર"</string>
+ <string name="minute_picker_description" msgid="8606010966873791190">"મિનિટનું વર્તુળાકાર સ્લાઇડર"</string>
+ <string name="select_hours" msgid="6043079511766008245">"કલાક પસંદ કરો"</string>
+ <string name="select_minutes" msgid="3974345615920336087">"મિનિટ પસંદ કરો"</string>
+ <string name="select_day" msgid="7774759604701773332">"મહિનો અને દિવસ પસંદ કરો"</string>
+ <string name="select_year" msgid="7952052866994196170">"વર્ષ પસંદ કરો"</string>
+ <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> કાઢી નાખી"</string>
+ <string name="managed_profile_label_badge" msgid="2355652472854327647">"કાર્યાલય <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+ <string name="lock_to_app_toast" msgid="7570091317001980053">"આ સ્ક્રીનને અનપિન કરવા માટે, બેકને ટચ કરો અને પકડો અને તે જ સમયે વિહંગાવલોકન કરો."</string>
+ <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"આ સ્ક્રીનને અનપિન કરવા માટે, વિહંગાવલોકનને ટચ કરો અને પકડો."</string>
+ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"એપ્લિકેશન પિન કરેલ છે. આ ઉપકરણ પર અનપિન કરવાની મંજૂરી નથી."</string>
+ <string name="lock_to_app_start" msgid="6643342070839862795">"સ્ક્રીન પિન કરી"</string>
+ <string name="lock_to_app_exit" msgid="8598219838213787430">"સ્ક્રીન અનપિન કરી"</string>
+ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"અનપિન કરતાં પહેલાં PIN માટે પૂછો"</string>
+ <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"અનપિન કરતા પહેલાં અનલૉક પેટર્ન માટે પૂછો"</string>
+ <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"અનપિન કરતાં પહેલાં પાસવર્ડ માટે પૂછો"</string>
+ <string name="package_installed_device_owner" msgid="8420696545959087545">"તમારા વ્યવસ્થાપક દ્વારા ઇન્સ્ટોલ કરેલ"</string>
+ <string name="package_deleted_device_owner" msgid="7650577387493101353">"તમારા વ્યવસ્થાપક દ્વારા કાઢી નાખેલ"</string>
+ <string name="battery_saver_description" msgid="1960431123816253034">"બૅટરી આવરદા વધુ સારી કરવામાં સહાય માટે, બૅટરી સેવર તમારા ઉપકરણના પ્રદર્શનને ઘટાડે છે અને વાઇબ્રેશન, સ્થાન સેવાઓ અને મોટાભાગના પૃષ્ઠભૂમિ ડેટાને સીમિત કરે છે. ઇમેઇલ, મેસેજિંગ અને અન્ય એપ્લિકેશન્સ જે સમન્વયન પર આધાર રાખે છે તે તમે તેમને ખોલશો નહીં ત્યાં સુધી અપડેટ થઈ શકતી નથી.\n\nજ્યારે તમારું ઉપકરણ ચાર્જ થઈ રહ્યું હોય ત્યારે બૅટરી સેવર આપમેળે બંધ થઈ જાય છે."</string>
+ <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
+ <item quantity="one">%1$d મિનિટ માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સુધી)</item>
+ <item quantity="other">%1$d મિનિટ માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સુધી)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours_summary" formatted="false" msgid="8152974162096743862">
+ <item quantity="one">%1$d કલાક માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સુધી)</item>
+ <item quantity="other">%1$d કલાક માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સુધી)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_minutes" formatted="false" msgid="5127407202506485571">
+ <item quantity="one">%d મિનિટ માટે</item>
+ <item quantity="other">%d મિનિટ માટે</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours" formatted="false" msgid="3938821308277433854">
+ <item quantity="one">%d કલાક માટે</item>
+ <item quantity="other">%d કલાક માટે</item>
+ </plurals>
+ <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> સુધી"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"તમે આ બંધ ન કરો ત્યાં સુધી"</string>
+ <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
+ <string name="toolbar_collapse_description" msgid="2821479483960330739">"સંકુચિત કરો"</string>
+ <string name="zen_mode_feature_name" msgid="5254089399895895004">"ખલેલ પાડશો નહીં"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"ડાઉનટાઇમ"</string>
+ <string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"સપ્તાહાંત સિવાયની રાત્રે"</string>
+ <string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"સપ્તાહાંત"</string>
+ <string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> દ્વારા મ્યૂટ કરાયું"</string>
+ <string name="system_error_wipe_data" msgid="6608165524785354962">"તમારા ઉપકરણમાં આંતરિક સમસ્યા છે અને જ્યાં સુધી તમે ફેક્ટરી ડેટા ફરીથી સેટ કરશો નહીં ત્યાં સુધી તે અસ્થિર રહી શકે છે."</string>
+ <string name="system_error_manufacturer" msgid="8086872414744210668">"તમારા ઉપકરણમાં આંતરિક સમસ્યા છે. વિગતો માટે તમારા નિર્માતાનો સંપર્ક કરો."</string>
+ <string name="stk_cc_ussd_to_dial" msgid="5202342984749947872">"USSD વિનંતીને DIAL વિનંતી પર સંશોધિત કરી."</string>
+ <string name="stk_cc_ussd_to_ss" msgid="2345360594181405482">"USSD વિનંતીને SS વિનંતી પર સંશોધિત કરી."</string>
+ <string name="stk_cc_ussd_to_ussd" msgid="7466087659967191653">"USSD વિનંતીને નવી USSD વિનંતી પર સંશોધિત કરી."</string>
+ <string name="stk_cc_ss_to_dial" msgid="2151304435775557162">"SS વિનંતીને DIAL વિનંતી પર સંશોધિત કરી."</string>
+ <string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"SS વિનંતીને USSD વિનંતી પર સંશોધિત કરી."</string>
+ <string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"SS વિનંતીને નવી SS વિનંતી પર સંશોધિત કરી."</string>
+ <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android USB પેરિફેરલ પોર્ટ"</string>
+ <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
+ <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"USB પેરિફેરલ પોર્ટ"</string>
+ <string name="floating_toolbar_open_overflow_description" msgid="4797287862999444631">"વધુ વિકલ્પો"</string>
+ <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"ઓવરફ્લો બંધ કરો"</string>
+</resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 34c2d69..d0e97d9 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"एप्लिकेशन को DRM प्रमाणपत्रों को निकालने देता है. सामान्य ऐप्स के लिए कभी भी आवश्यकता नहीं होनी चाहिए."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"किसी वाहक संदेश सेवा से आबद्ध करें"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारक को किसी वाहक संदेश सेवा के शीर्ष-स्तरीय इंटरफ़ेस से आबद्ध होने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"वाहक कॉन्फ़िगर सेवा से आबद्ध करें"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"धारक को वाहक कॉन्फ़िगर सेवा से आबद्ध रहने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियम सेट करें"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक पासवर्ड तथा पिन की लंबाई और उसमें अनुमत वर्णों को नियंत्रित करें."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक के प्रयासों पर निगरानी रखें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 9546035..6e9c5e1 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -500,10 +500,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Omogućuje aplikaciji uklanjanje DRM certifikata. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"povezivanje s uslugom mobilnog operatera za slanje poruka"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Omogućuje nositelju povezivanje sa sučeljem najviše razine usluge mobilnog operatera za slanje poruka. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"povezivanje s uslugom konfiguriranja mobilnog operatera"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Nositelju omogućuje povezivanje s uslugom konfiguriranja mobilnog operatera. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Postavi pravila zaporke"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Upravlja duljinom i znakovima koji su dopušteni u zaporkama i PIN-ovima zaključavanja zaslona."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Nadgledaj pokušaje otključavanja zaslona"</string>
@@ -1215,12 +1213,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interna pohrana"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD kartica"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD kartica"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB pogon"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB pogon"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB pohrana"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Uredi"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Upozorenje o upotrebi podataka"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index c01d2b5..c99dc63 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Lehetővé teszi, hogy az alkalmazás eltávolítsa a DRM-tanúsítványokat. A normál alkalmazásoknak erre soha nincs szükségük."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"kapcsolódás egy üzenetszolgáltatáshoz"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lehetővé teszi, hogy a tulajdonos kapcsolódjon egy üzenetszolgáltatás legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"csatlakozás szolgáltatóbeállító szolgáltatáshoz"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Lehetővé teszi a tulajdonos számára egy szolgáltatóbeállító szolgáltatáshoz való kapcsolódást. A normál alkalmazások esetében erre nincs szükség."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Jelszavakkal kapcsolatos szabályok beállítása"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"A képernyőzár jelszavaiban és PIN kódjaiban engedélyezett karakterek és hosszúság vezérlése."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Képernyőzár-feloldási kísérletek figyelése"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Belső tárhely"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kártya"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD-kártya"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-meghajtó"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB-meghajtó"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-tár"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Szerkesztés"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Adathasználati figyelmeztetés"</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 873e502..bf3f3adc 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Ծրագրին թույլ է տալիս հեռացնել DRM վկայագրեր: Սովորական ծրագրերի համար երբեք պետք չի գալիս:"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Կապակցում օպերատորի հաղորդագրությունների ծառայության հետ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Թույլ է տալիս տիրոջը կապվել օպերատորի հաղորդագրությունների ծառայության վերին մակարդակի միջերեսի հետ: Սա երբեք չի պահանջվում սովորական հավելվածների համար:"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"կապվել օպերատորի կազմաձևման ծառայությանը"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Թույլ է տալիս սեփականատիրոջը կապվել օպերատորի կազմաձևման ծառայությանը: Սովորական հավելվածների դեպքում չի պահանջվում:"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Սահմանել գաղտնաբառի կանոնները"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Կառավարել էկրանի ապակողպման գաղտնաբառերի և PIN կոդերի թույլատրելի երկարությունն ու գրանշանները:"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Վերահսկել էկրանի ապակողպման փորձերը"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Ներքին պահոց"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD քարտ"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD քարտ <xliff:g id="MANUFACTURER">%s</xliff:g>-ից"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB սարքավար"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB սարքավար <xliff:g id="MANUFACTURER">%s</xliff:g>-ից"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB կրիչ"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Խմբագրել"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Տվյալների օգտագործման նախազգուշացում"</string>
@@ -1475,7 +1470,7 @@
<string name="zen_mode_forever" msgid="7420011936770086993">"Քանի դեռ չեք անջատել"</string>
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"Թաքցնել"</string>
- <string name="zen_mode_feature_name" msgid="5254089399895895004">"Չխանգարել"</string>
+ <string name="zen_mode_feature_name" msgid="5254089399895895004">"Չանհանգստացնել"</string>
<string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Անգործունության ժամանակը"</string>
<string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"Երկուշաբթիից ուրբաթ"</string>
<string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"Հանգստյան օրեր"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 230ebb1..80a68eb 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Memungkinkan aplikasi membuang sertifikat DRM. Tidak pernah dibutuhkan untuk aplikasi normal."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ikat ke layanan perpesanan operator"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Mengizinkan operator untuk mengikat ke antarmuka tingkat tinggi dari suatu layanan perpesanan operator. Fitur ini seharusnya tidak diperlukan oleh aplikasi normal."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ikat ke layanan konfigurasi operator"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Memungkinkan pemegang untuk mengikat ke layanan konfigurasi operator. Hal ini tidak pernah dibutuhkan untuk aplikasi normal."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Setel aturan sandi"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengontrol panjang dan karakter yang diizinkan dalam sandi dan PIN kunci layar."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Upaya pembukaan kunci layar monitor"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Penyimpanan internal"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Kartu SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Kartu SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Drive USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Drive USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Penyimpanan USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Edit"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Peringatan penggunaan data"</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index be753e7..14b6e41 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Leyfir forriti að fjarlægja DRM-vottorð. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bindast skilaboðaþjónustu símafyrirtækis"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leyfir forriti að bindast efsta viðmótslagi skilaboðaþjónustu símafyrirtækis. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"bindast uppsetningarþjónustu símafyrirtækis"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Leyfir handhafa að bindast uppsetningarþjónustu símafyrirtækis. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Setja reglur um aðgangsorð"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Stjórna lengd og fjölda stafa í aðgangsorðum og PIN-númerum skjáláss."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Fylgjast með tilraunum til að taka skjáinn úr lás"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Innbyggð geymsla"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kort"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-kort frá <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-drif"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-drif frá <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-geymsla"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Breyta"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Viðvörun vegna gagnanotkunar"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 24b3bd6..aeb67292 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Consente a un\'applicazione di rimuovere certificati DRM. Non dovrebbe mai essere necessaria per le normali applicazioni."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"associazione a un servizio di messaggi dell\'operatore"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Consente l\'associazione di un servizio di messaggi dell\'operatore all\'interfaccia principale. Non dovrebbe mai essere necessaria per le normali applicazioni."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"associazione a un servizio di configurazione dell\'operatore"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Consente al titolare di collegarsi a un servizio di configurazione dell\'operatore. Non dovrebbe mai essere necessario per le normali applicazioni."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Impostazione regole password"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlla la lunghezza e i caratteri ammessi nelle password e nei PIN del blocco schermo."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Controllo tentativi di sblocco dello schermo"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Memoria interna"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Scheda SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Scheda SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unità USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unità USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Archivio USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Modifica"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Avviso sull\'utilizzo dei dati"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 1d67b49..d846317 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"הרשאה זו מאפשרת לאפליקציה להסיר אישורי DRM. באפליקציות רגילות אף פעם לא אמור להיות בה צורך."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"איגוד לשירות העברת הודעות של ספק"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"מאפשרת לבעלים לאגד לממשק ברמה העליונה של שירות העברת הודעות של ספק. לעולם לא אמורה להיות נחוצה עבור אפליקציות רגילות."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"איגוד לשירות תצורה של ספק"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"מאפשר לבעלים לאגד לשירות תצורה של ספק. לעולם לא אמור להיות נחוץ לאפליקציות רגילות."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"הגדר כללי סיסמה"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"קביעת האורך הנדרש והתווים המותרים בסיסמאות ובקודי PIN של מסך הנעילה."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"עקוב אחר ניסיונות לביטול נעילת מסך"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 770ba69..dd085e6 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM証明書の削除をアプリに許可します。通常のアプリでは不要です。"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"携帯通信会社のSMSサービスへのバインド"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"携帯通信会社のSMSサービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"携帯通信会社の設定サービスへのバインド"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"携帯通信会社の設定サービスにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"パスワードルールの設定"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"画面ロックのパスワードとPINの長さと使用できる文字を制御します。"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"画面ロック解除試行の監視"</string>
@@ -632,7 +630,7 @@
<string name="relationTypeAssistant" msgid="6274334825195379076">"アシスタント"</string>
<string name="relationTypeBrother" msgid="8757913506784067713">"兄弟"</string>
<string name="relationTypeChild" msgid="1890746277276881626">"子ども"</string>
- <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"パートナー(国内)"</string>
+ <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"同棲相手"</string>
<string name="relationTypeFather" msgid="5228034687082050725">"父"</string>
<string name="relationTypeFriend" msgid="7313106762483391262">"友だち"</string>
<string name="relationTypeManager" msgid="6365677861610137895">"上司"</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index c72e28a..ca83bb3 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Қолданбаға DRM сертификаттарын жоюға рұқсат етеді. Қалыпты қолданбалар үшін ешқашан қажет болмайды."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"оператордың хабар алмасу қызметіне байластыру"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Иесіне оператордың хабар алмасу қызметінің жоғарғы деңгейлі интерфейсіне байластыруға рұқсат етеді. Қалыпты қолданбалар үшін ешқашан қажет болмайды."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"операторды конфигурациялау қызметіне байластыру"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Қолданба операторды конфигурациялау қызметіне байланыса алатын болады. Қалыпты қолданбалар үшін қажет етілмейді."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Кілтсөз ережелерін тағайындау"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран бекітпесінің құпия сөздерінің және PIN кодтарының ұзындығын және оларда рұқсат етілген таңбаларды басқару."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Экранды ашу әркеттерін бақылау"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Ішкі жад"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD картасы"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD картасы"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB дискі"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB дискі"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB жады"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Өзгерту"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Дерекқор қолдануға қатысты ескерту"</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 8a1323b..a505046 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"អនុញ្ញាតឲ្យកម្មវិធីលុបចេញវិញ្ញាបនបត្រ DRM ។ គួរតែមិនត្រូវការសម្រាប់កម្មវិធីធម្មតា។"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ភ្ជាប់ទៅសេវាកម្មសារអ្នកផ្តល់សេវាកម្មទូរស័ព្ទ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"អនុញ្ញាតឲ្យអ្នកប្រើភ្ជាប់ទៅអ៊ីនធឺហ្វេសកម្រិតខ្ពស់នៃសេវាកម្មសារអ្នកផ្តល់សេវាកម្មទូរស័ព្ទ។ មិនគួរចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ភ្ជាប់ទៅសេវាកម្មកំណត់រចនាសម្ព័ន្ធក្រុមហ៊ុនផ្តល់សេវា"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"អនុញ្ញាតឲ្យម្ចាស់ភ្ជាប់ទៅសេវាកម្មកំណត់រចនាសម្ព័ន្ធក្រុមហ៊ុនផ្តល់សេវា។ មិនគួរចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"កំណត់ក្បួនពាក្យសម្ងាត់"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"គ្រប់គ្រងប្រវែង និងតួអក្សរដែលអនុញ្ញាតឲ្យប្រើក្នុងពាក្យសម្ងាត់ និងលេខសម្ងាត់ចាក់សោអេក្រង់។"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"ពិនិត្យការព្យាយាមដោះសោអេក្រង់"</string>
@@ -1209,12 +1207,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"ឧបករណ៍ផ្ទុកខាងក្នុង"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"កាតអេសឌី"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"កាត SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"ឧបករណ៍ផ្ទុក USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"ឧបករណ៍ផ្ទុក USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"ឧបករណ៍ផ្ទុកយូអេសប៊ី"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"កែសម្រួល"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"ការព្រមានប្រើទិន្នន័យ"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 654ea8e..8c92c33 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ವಾಹಕ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ವಾಹಕ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಯ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ವಾಹಕ ಸಂರಚನಾ ಸೇವೆಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"ವಾಹಕ ಸಂರಚನಾ ಸೇವೆಯನ್ನು ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"ಪಾಸ್ವರ್ಡ್ ನಿಮಯಗಳನ್ನು ಹೊಂದಿಸಿ"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"ಪರದೆ ಲಾಕ್ನಲ್ಲಿನ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಪಿನ್ಗಳ ಅನುಮತಿಸಲಾದ ಅಕ್ಷರಗಳ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"ಪರದೆಯ-ಅನ್ಲಾಕ್ ಪ್ರಯತ್ನಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡಿ"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆ"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD ಕಾರ್ಡ್"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD ಕಾರ್ಡ್"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ಡ್ರೈವ್"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ಡ್ರೈವ್"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB ಸಂಗ್ರಹಣೆ"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"ಸಂಪಾದಿಸು"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"ಡೇಟಾ ಬಳಕೆಯ ಎಚ್ಚರಿಕೆ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index b397326..2527a13 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"애플리케이션이 DRM 인증서를 삭제하도록 허용합니다. 일반 앱에서는 필요하지 않습니다."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"이동통신사 메시지 서비스에 고정"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"보유자가 이동통신사 메시지 서비스의 최상위 인터페이스에 고정할 수 있습니다. 일반 앱에는 필요하지 않습니다."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"이동통신사 설정 서비스 사용"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"권한을 가진 프로그램이 이동통신사 설정 서비스를 사용하도록 허용합니다. 일반 앱에는 필요하지 않습니다."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"비밀번호 규칙 설정"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"화면 잠금 비밀번호와 PIN에 허용되는 길이와 문자 수를 제어합니다."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"화면 잠금해제 시도 모니터링"</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 53d5332..eb9107d 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -633,10 +633,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Колдонмого DRM тастыктамаларын алып салуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбайт."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"оператордун билдирүү кызматына байланышуу"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Кармоочуга оператордун билдирүү кызматынын жогорку деңгээлдеги интерфейсине байланышуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбашы мүмкүн."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"оператордун конфигурация кызматына жалгашуу"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Кармоочуга оператордун конфигурация кызматына жалгашуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбайт."</string>
<!-- no translation found for policylab_limitPassword (4497420728857585791) -->
<skip />
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран кулпусунун сырсөздөрү менен PIN\'дерине уруксат берилген узундук менен белгилерди көзөмөлдөө."</string>
@@ -1608,12 +1606,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Ички сактагыч"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-карта"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD карта"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB түзмөк"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB түзмөгү"</string>
<!-- no translation found for storage_usb (3017954059538517278) -->
<skip />
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Өзгөртүү"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index d36f4bc..bbf0dae 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Programai leidžiama pašalinti DRM sertifikatus. Neturėtų prireikti naudojant įprastas programas."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"susaistyti su operatoriaus susirašinėjimo žinutėmis paslauga"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leidžiama savininkui susisaistyti su aukščiausio lygio operatoriaus susirašinėjimo žinutėmis paslaugos sąsaja. Įprastoms programoms to neturėtų prireikti."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"susaistyti su operatoriaus konfigūravimo paslauga"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Savininkui leidžiama susisaistyti su operatoriaus konfigūravimo paslauga. To niekada neturėtų prireikti naudojant įprastas programas."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Nustatyti slaptažodžio taisykles"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Valdykite, kokio ilgio ekrano užrakto slaptažodžius ir PIN kodus galima naudoti."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Stebėti bandymus atrakinti ekraną"</string>
@@ -1223,12 +1221,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Vidinė atmintis"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD kortelė"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"„<xliff:g id="MANUFACTURER">%s</xliff:g>“ SD kortelė"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Atmintukas"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"„<xliff:g id="MANUFACTURER">%s</xliff:g>“ atmintukas"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB atmintis"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Redaguoti"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Įspėjimas dėl duomenų naudojimo"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index a652445..38d2bd3 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -500,10 +500,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Ļauj lietojumprogrammai noņemt DRM sertifikātus. Parastās lietotnēs tas nebūs nepieciešams."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Savienojuma izveide ar mobilo sakaru operatora ziņojumapmaiņas pakalpojumu"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ļauj īpašniekam izveidot savienojumu ar mobilo sakaru operatora ziņojumapmaiņas pakalpojuma augšējā līmeņa saskarni. Parastajām lietotnēm tas nekad nav nepieciešams."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"Savienojuma izveide ar mobilo sakaru operatora konfigurēšanas pakalpojumu"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Ļauj īpašniekam izveidot savienojumu ar mobilo sakaru operatora konfigurēšanas pakalpojumu. Parastām lietotnēm šī atļauja nekad nav nepieciešama."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Paroles kārtulu iestatīšana"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolēt ekrāna bloķēšanas paroļu un PIN garumu un tajos atļautās rakstzīmes."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Ekrāna atbloķēšanas mēģinājumu pārraudzīšana"</string>
@@ -1215,12 +1213,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s: %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Iekšējā atmiņa"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD karte"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD karte"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB disks"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB disks"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB atmiņa"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Rediģēt"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Datu izmantošanas brīdinājums"</string>
diff --git a/core/res/res/values-mcc310-mnc260-gu-rIN/strings.xml b/core/res/res/values-mcc310-mnc260-gu-rIN/strings.xml
new file mode 100644
index 0000000..d02d5ad
--- /dev/null
+++ b/core/res/res/values-mcc310-mnc260-gu-rIN/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 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 my 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="7239039348648848288">"Wi-Fi પર કૉલ્સ કરવા અને સંદેશા મોકલવા માટે, પહેલા તમારા કેરીઅરને આ સેવા સેટ કરવા માટે કહો. પછી સેટિંગ્સમાંથી Wi-Fi કૉલિંગ ચાલુ કરો."</item>
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="483847327467331298">"તમારા કેરીઅર સાથે નોંધણી કરો"</item>
+ </string-array>
+ <string name="wfcSpnFormat" msgid="4982938551498609442">"%s Wi-Fi કૉલિંગ"</string>
+</resources>
diff --git a/core/res/res/values-mcc310-mnc260-pa-rIN/strings.xml b/core/res/res/values-mcc310-mnc260-pa-rIN/strings.xml
new file mode 100644
index 0000000..0026681
--- /dev/null
+++ b/core/res/res/values-mcc310-mnc260-pa-rIN/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 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 my 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="7239039348648848288">"Wi-Fi ਤੇ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਸੁਨੇਹੇ ਭੇਜਣ ਲਈ, ਪਹਿਲਾਂ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਇਹ ਸੇਵਾ ਸੈਟ ਅਪ ਕਰਨ ਲਈ ਕਹੋ। ਫਿਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚੋਂ Wi-Fi ਕਾਲਿੰਗ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰੋ।"</item>
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="483847327467331298">"ਆਪਣੇ ਕੈਰੀਅਰ ਨਾਲ ਰਜਿਸਟਰ ਕਰੋ"</item>
+ </string-array>
+ <string name="wfcSpnFormat" msgid="4982938551498609442">"%s Wi-Fi ਕਾਲਿੰਗ"</string>
+</resources>
diff --git a/core/res/res/values-mcc310-mnc260-sq-rAL/strings.xml b/core/res/res/values-mcc310-mnc260-sq-rAL/strings.xml
new file mode 100644
index 0000000..42eb1ca
--- /dev/null
+++ b/core/res/res/values-mcc310-mnc260-sq-rAL/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 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 my 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="7239039348648848288">"Për të bërë telefonata dhe për të dërguar mesazhe me Wi-Fi, në fillim kërkoji operatorit celular të konfigurojë këtë shërbim. Më pas aktivizo përsëri telefonatat me Wi-Fi nga Parametrat."</item>
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="483847327467331298">"Regjistrohu me operatorin tënd celular"</item>
+ </string-array>
+ <string name="wfcSpnFormat" msgid="4982938551498609442">"Telefonatat me Wi-Fi nga %s"</string>
+</resources>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 84f1d7b..b6599f0 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Дозволува апликација да отстранува ДРМ-сертификати. Не треба да се користи за стандардни апликации."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"сврзување со давателот на услугата за пораки"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозволува сопственикот да се сврзе со интерфејсот од највисоко ниво на давателот на услугата за пораки. Не треба да се користи за стандардни апликации."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"поврзи се со услуга за конфигурирање оператор"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Дозволува сопственикот да се поврзе со услуга за конфигурирање оператор. Не треба да се користи за стандардни апликации."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Подеси правила за лозинката"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролирај ги должината и знаците што се дозволени за лозинки и ПИН-броеви за отклучување екран."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Следи ги обидите за отклучување на екранот"</string>
@@ -1209,12 +1207,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Внатрешна меморија"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"СД картичка"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> СД-картичка"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"УСБ-меморија"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> УСБ-меморија"</string>
<string name="storage_usb" msgid="3017954059538517278">"УСБ меморија"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Уреди"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Предупредување за користење податоци"</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index 416b4a7..ab3449f 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -433,7 +433,7 @@
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"വിരലടയാളം സംഭരിക്കാനാവില്ല. നിലവിലുള്ള വിരലടയാളം നീക്കംചെയ്യുക."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"വിരലടയാളം നൽകേണ്ട സമയം കഴിഞ്ഞു. വീണ്ടും ശ്രമിക്കുക."</string>
<string name="fingerprint_error_canceled" msgid="4402024612660774395">"ഫിംഗർപ്രിന്റ് പ്രവർത്തനം റദ്ദാക്കി."</string>
- <string name="fingerprint_error_lockout" msgid="5536934748136933450">"നിരവധി ശ്രമങ്ങൾ. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"നിരവധി തവണ ശ്രമിച്ചു. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"വീണ്ടും ശ്രമിക്കൂ."</string>
<string-array name="fingerprint_error_vendor">
</string-array>
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM സർട്ടിഫിക്കറ്റുകൾ നീക്കംചെയ്യുന്നതിന് അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"കാരിയർ സന്ദേശമയയ്ക്കൽ സേവനത്തിലേക്ക് ബന്ധിപ്പിക്കുക"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ഒരു കാരിയർ സന്ദേശമയയ്ക്കൽ സേവനത്തിന്റെ ഉയർന്ന നിലയിലുള്ള ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ദാതാവിനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"കാരിയർ കോൺഫിഗറേഷൻ സേവനത്തിലേക്ക് ബന്ധിപ്പിക്കുക"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"ഒരു കാരിയർ കോൺഫിഗറേഷൻ സേവനത്തിലേക്ക് ബന്ധിപ്പിക്കുന്നതിന് ഉടമയെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"പാസ്വേഡ് നിയമങ്ങൾ സജ്ജീകരിക്കുക"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"സ്ക്രീൻ ലോക്ക് പാസ്വേഡുകളിലും PIN-കളിലും അനുവദിച്ചിരിക്കുന്ന ദൈർഘ്യവും പ്രതീകങ്ങളും നിയന്ത്രിക്കുക."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"സ്ക്രീൻ അൺലോക്ക് ശ്രമങ്ങൾ നിരീക്ഷിക്കുക"</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 9be27cc..95732da 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -433,7 +433,7 @@
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"फिंगरप्रिंट संचयित केले जाऊ शकत नाही. कृपया विद्यमान फिंगरप्रिंट काढा."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"फिंगरप्रिंट कालबाह्य झाले. पुन्हा प्रयत्न करा."</string>
<string name="fingerprint_error_canceled" msgid="4402024612660774395">"फिंगरप्रिंट ऑपरेशन रद्द झाले."</string>
- <string name="fingerprint_error_lockout" msgid="5536934748136933450">"खूप प्रयत्न. नंतर पुन्हा प्रयत्न करा."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"खूप प्रयत्न केले. नंतर पुन्हा प्रयत्न करा."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"पुन्हा प्रयत्न करा."</string>
<string-array name="fingerprint_error_vendor">
</string-array>
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM प्रमाणपत्रे काढण्यासाठी अनुप्रयोगास अनुमती देते. सामान्य अॅप्स साठी कधीही आवश्यकता नसते."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"एका वाहक संदेशन सेवेसाठी प्रतिबद्ध"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"वाहक संदेशन सेवेचा शीर्ष-स्तर इंटरफेस प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्य अॅप्सकरिता कधीही आवश्यक नसते."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"वाहक कॉन्फिगरेशन सेवेवर प्रतिबद्ध करा"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"वाहक कॉन्फिगरेशन सेवेवर प्रतिबद्ध करण्यासाठी धारकास अनुमती देते. सामान्य अॅप्सकरिता कधीही आवश्यकता नसते."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"संकेतशब्द नियम सेट करा"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक संकेतशब्द आणि पिन मध्ये अनुमती दिलेली लांबी आणि वर्ण नियंत्रित करा."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक प्रयत्नांचे परीक्षण करा"</string>
@@ -1068,7 +1066,7 @@
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"नवीन <xliff:g id="NAME">%s</xliff:g> आढळले"</string>
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"फोटो आणि मीडिया स्थानांतरित करण्यासाठी"</string>
<string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"<xliff:g id="NAME">%s</xliff:g> ची हानी झाली"</string>
- <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> ची हानी झाली; तो पुन्हा स्वरूपित करण्याचा प्रयत्न करा"</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> ची हानी झाली; तो पुन्हा फॉर्मेट करण्याचा प्रयत्न करा"</string>
<string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> अनपेक्षितरित्या काढले"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"डेटा गमावणे टाळण्यासाठी काढण्यापूर्वी <xliff:g id="NAME">%s</xliff:g> अनमाउंट करा"</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"<xliff:g id="NAME">%s</xliff:g> काढले"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"अंतर्गत संचयन"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD कार्ड"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD कार्ड"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ड्राइव्ह"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ड्राइव्ह"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB संचयन"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"संपादित करा"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"डेटा वापर चेतावणी"</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index f13004d..76f5fa4 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Membenarkan aplikasi mengalih keluar sijil DRM. Tidak sekali-kali diperlukan untuk apl biasa."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"terikat kepada perkhidmatan pemesejan pembawa"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi perkhidmatan pemesejan pembawa. Tidak sekali-kali diperlukan untuk apl biasa."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"terikat kepada perkhidmatan konfigurasi pembawa"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Membenarkan pemegang untuk terikat kepada perkhidmatan konfigurasi pembawa. Tidak sekali-kali diperlukan untuk apl biasa."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Tetapkan peraturan kata laluan"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengawal panjang dan aksara yang dibenarkan dalam kata laluan dan PIN kunci skrin."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Memantau percubaan buka kunci skrin"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Storan dalaman"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Kad SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Kad SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Pemacu USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Pemacu USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Storan USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Edit"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Amaran penggunaan data"</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 2c07406..aa19ac4 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"အပလီကေးရှင်းအား DRM လက်မှတ်များကို ဖယ်ရှားခွင့် ပြုသည်။ သာမန် appများ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"စာပို့စာယူ ဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခုအား ပူးပေါင်းခွင့်ပြုရန်"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် app များအတွက် မလိုအပ်ပါ။"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"စီစဉ်ဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန်"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"စီစဉ်ဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် app များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"စကားဝှက်စည်းမျဥ်းကိုသတ်မှတ်ရန်"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"မျက်နှာပြင်သော့ခတ်သည့် စကားဝှက်များနှင့် PINများရှိ ခွင့်ပြုထားသည့် စာလုံးအရေအတွက်နှင့် အက္ခရာများအား ထိန်းချုပ်ရန်။"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"မော်နီတာမျက်နှာပြင်ဖွင့်ရန် ကြိုးစားခွင့်များ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 1f370c6..e6e0abb 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Gir en app tillatelse til å fjerne sertifikater for digital rettighetsadministrasjon. Skal ikke være nødvendig for vanlige apper."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind til en operatørmeldingstjeneste"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Tillater at innehaveren binder seg til det øverste nivået av grensesnittet til en operatørtjeneste. Dette skal aldri være nødvendig for vanlige apper."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"bind deg til konfigurasjonstjenestene til en operatør"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Lar innehaveren binde seg til konfigureringstjenestene til en operatør. Det skal aldri være nødvendig for vanlige apper."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Angi passordregler"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollerer tillatt lengde og tillatte tegn i passord og PIN-koder for opplåsing av skjermen."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Overvåk forsøk på opplåsing av skjerm"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s – %2$s – %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Intern lagring"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kort"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD-kort"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-stasjon"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB-stasjon"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-lagring"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Rediger"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Advarsel for høyt dataforbruk"</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index d15a05a..428dead 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM प्रमाणपत्रहरू हटाउन अनुप्रयोगलाई अनुमति दिन्छ। सामान्य अनुप्रयोगहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"वाहक मेसेजिङ सेवामा आबद्ध हुनुहोस्"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारकलाई वाहक मेसेजिङ सेवाको उच्च-स्तरको इन्टरफेसमा आबद्ध हुन अनुमति दिनुहोस्। सामान्य एपहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"एक वाहक कन्फिग सेवामा बाँध्नुहोस्"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"होल्डरलाई एक वाहक कन्फिग सेवा बाँध्न अनुमति दिन्छ। सामान्य अनुप्रयोगहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियमहरू मिलाउनुहोस्"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रिन लक पासवर्ड र PIN हरूमा अनुमति दिइएको लम्बाइ र वर्णहरूको नियन्त्रण गर्नुहोस्।"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"मोनिटर स्क्रिन-अनलक प्रयत्नहरू"</string>
@@ -1213,12 +1211,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"आन्तरिक भण्डारण"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD कार्ड"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD कार्ड"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ड्राइभ"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ड्राइभ"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB भण्डारण"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"सम्पादन गर्नुहोस्"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"डेटा प्रयोग चेतावनी"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index ddac7b0..8e89d0e 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Toestaan dat een app DRM-certificaten verwijdert. Nooit vereist voor normale apps."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"binden aan de berichtenservice van een provider"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Hiermee wordt de houder toegestaan te binden aan de berichteninterface van een provider. Nooit vereist voor normale apps."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"binden aan de configuratieservice van een provider"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Hiermee kan de houder binden aan de configuratieservice van een provider. Nooit gebruikt voor normale apps."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Wachtwoordregels instellen"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"De lengte en het aantal tekens beheren die zijn toegestaan in wachtwoorden en pincodes voor schermvergrendeling."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Pogingen voor schermontgrendeling bijhouden"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interne opslag"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kaart"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD-kaart"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-drive"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB-drive"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-opslag"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Bewerken"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Waarschuwing v. gegevensgebruik"</string>
diff --git a/core/res/res/values-pa-rIN-watch/strings.xml b/core/res/res/values-pa-rIN-watch/strings.xml
new file mode 100644
index 0000000..b30daa4
--- /dev/null
+++ b/core/res/res/values-pa-rIN-watch/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 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.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="android_upgrading_apk" msgid="1090732262010398759">"ਐਪ <xliff:g id="NUMBER_1">%2$d</xliff:g> ਦਾ <xliff:g id="NUMBER_0">%1$d</xliff:g>"</string>
+</resources>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..ecca7c2
--- /dev/null
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -0,0 +1,1491 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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="byteShort" msgid="8340973892742019101">"B"</string>
+ <string name="kilobyteShort" msgid="5973789783504771878">"KB"</string>
+ <string name="megabyteShort" msgid="6355851576770428922">"MB"</string>
+ <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string>
+ <string name="terabyteShort" msgid="231613018159186962">"TB"</string>
+ <string name="petabyteShort" msgid="5637816680144990219">"PB"</string>
+ <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
+ <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> ਦਿਨ"</string>
+ <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> ਦਿਨ <xliff:g id="HOURS">%2$d</xliff:g> ਘੰਟੇ"</string>
+ <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> ਦਿਨ <xliff:g id="HOURS">%2$d</xliff:g> ਘੰਟਾ"</string>
+ <string name="durationHours" msgid="4266858287167358988">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰਟੇ"</string>
+ <string name="durationHourMinutes" msgid="9029176248692041549">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰਟਾ <xliff:g id="MINUTES">%2$d</xliff:g> ਮਿੰਟ"</string>
+ <string name="durationHourMinute" msgid="2741677355177402539">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰਟਾ <xliff:g id="MINUTES">%2$d</xliff:g> ਮਿੰਟ"</string>
+ <string name="durationMinutes" msgid="3134226679883579347">"<xliff:g id="MINUTES">%1$d</xliff:g> ਮਿੰਟ"</string>
+ <string name="durationMinute" msgid="7155301744174623818">"<xliff:g id="MINUTES">%1$d</xliff:g> ਮਿੰਟ"</string>
+ <string name="durationMinuteSeconds" msgid="1424656185379003751">"<xliff:g id="MINUTES">%1$d</xliff:g> ਮਿੰਟ <xliff:g id="SECONDS">%2$d</xliff:g> ਸਕਿੰਟ"</string>
+ <string name="durationMinuteSecond" msgid="3989228718067466680">"<xliff:g id="MINUTES">%1$d</xliff:g> ਮਿੰਟ <xliff:g id="SECONDS">%2$d</xliff:g> ਸਕਿੰਟ"</string>
+ <string name="durationSeconds" msgid="8050088505238241405">"<xliff:g id="SECONDS">%1$d</xliff:g> ਸਕਿੰਟ"</string>
+ <string name="durationSecond" msgid="985669622276420331">"<xliff:g id="SECONDS">%1$d</xliff:g> ਸਕਿੰਟ"</string>
+ <string name="untitled" msgid="4638956954852782576">"<ਬਿਨਾਂ ਸਿਰਲੇਖ>"</string>
+ <string name="emptyPhoneNumber" msgid="7694063042079676517">"(ਕੋਈ ਫੋਨ ਨੰਬਰ ਨਹੀਂ)"</string>
+ <string name="unknownName" msgid="6867811765370350269">"ਅਗਿਆਤ"</string>
+ <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"ਵੌਇਸਮੇਲ"</string>
+ <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string>
+ <string name="mmiError" msgid="5154499457739052907">"ਕਨੈਕਸ਼ਨ ਸਮੱਸਿਆ ਜਾਂ ਅਪ੍ਰਮਾਣਿਕ MMI ਕੋਡ।"</string>
+ <string name="mmiFdnError" msgid="5224398216385316471">"ਓਪਰੇਸ਼ਨ ਕੇਵਲ ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰਾਂ ਤੱਕ ਸੀਮਿਤ ਹੈ।"</string>
+ <string name="serviceEnabled" msgid="8147278346414714315">"ਸੇਵਾ ਅਸਮਰੱਥ ਬਣਾਈ ਗਈ ਸੀ।"</string>
+ <string name="serviceEnabledFor" msgid="6856228140453471041">"ਸੇਵਾ ਇਸ ਲਈ ਸਮਰੱਥ ਬਣਾਈ ਗਈ ਸੀ:"</string>
+ <string name="serviceDisabled" msgid="1937553226592516411">"ਸੇਵਾ ਅਸਮਰੱਥ ਬਣਾਈ ਗਈ ਹੈ।"</string>
+ <string name="serviceRegistered" msgid="6275019082598102493">"ਰਜਿਸਟਰੇਸ਼ਨ ਸਫਲ ਸੀ।"</string>
+ <string name="serviceErased" msgid="1288584695297200972">"ਮਿਟਾਉਣਾ ਸਫ਼ਲ ਰਿਹਾ ਸੀ।"</string>
+ <string name="passwordIncorrect" msgid="7612208839450128715">"ਗ਼ਲਤ ਪਾਸਵਰਡ।"</string>
+ <string name="mmiComplete" msgid="8232527495411698359">"MMI ਪੂਰਾ।"</string>
+ <string name="badPin" msgid="9015277645546710014">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤਾ ਪੁਰਾਣਾ PIN ਠੀਕ ਨਹੀਂ ਹੈ।"</string>
+ <string name="badPuk" msgid="5487257647081132201">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤਾ PUK ਠੀਕ ਨਹੀਂ ਹੈ।"</string>
+ <string name="mismatchPin" msgid="609379054496863419">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੇ PIN ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।"</string>
+ <string name="invalidPin" msgid="3850018445187475377">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਨੰਬਰਾਂ ਦਾ ਹੈ।"</string>
+ <string name="invalidPuk" msgid="8761456210898036513">"ਇੱਕ PUK ਕੋਡ ਟਾਈਪ ਕਰੋ ਜੋ 8 ਜਾਂ ਵੱਧ ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
+ <string name="needPuk" msgid="919668385956251611">"ਤੁਹਾਡਾ SIM ਕਾਰਡ PUK-ਲੌਕਡ ਹੈ। ਇਸਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ PUK ਕੋਡ ਟਾਈਪ ਕਰੋ।"</string>
+ <string name="needPuk2" msgid="4526033371987193070">"SIM ਕਾਰਡ ਅਨਬਲੌਕ ਕਰਨ ਲਈ PUK2 ਟਾਈਪ ਕਰੋ।"</string>
+ <string name="enablePin" msgid="209412020907207950">"ਅਸਫਲ, SIM/RUIM ਲੌਕ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ।"</string>
+ <plurals name="pinpuk_attempts" formatted="false" msgid="1251012001539225582">
+ <item quantity="one">ਇਸਤੋਂ ਪਹਿਲਾਂ ਕਿ SIM ਲੌਕ ਹੋਵੇ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ <item quantity="other">ਇਸਤੋਂ ਪਹਿਲਾਂ ਕਿ SIM ਲੌਕ ਹੋਵੇ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ </plurals>
+ <string name="imei" msgid="2625429890869005782">"IMEI"</string>
+ <string name="meid" msgid="4841221237681254195">"MEID"</string>
+ <string name="ClipMmi" msgid="6952821216480289285">"ਇਨਕਮਿੰਗ ਕਾਲਰ ID"</string>
+ <string name="ClirMmi" msgid="7784673673446833091">"ਆਊਟਗੋਇੰਗ ਕਾਲਰ ID"</string>
+ <string name="ColpMmi" msgid="3065121483740183974">"ਕਨੈਕਟ ਕੀਤੀ ਲਾਈਨ ID"</string>
+ <string name="ColrMmi" msgid="4996540314421889589">"ਕਨੈਕਟ ਕੀਤੀ ਲਾਈਨ ID ਪ੍ਰਤਿਬੰਧ"</string>
+ <string name="CfMmi" msgid="5123218989141573515">"ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ"</string>
+ <string name="CwMmi" msgid="9129678056795016867">"ਕਾਲ ਵੇਟਿੰਗ"</string>
+ <string name="BaMmi" msgid="455193067926770581">"ਕਾਲ ਬੈਰਿੰਗ"</string>
+ <string name="PwdMmi" msgid="7043715687905254199">"ਪਾਸਵਰਡ ਬਦਲੋ"</string>
+ <string name="PinMmi" msgid="3113117780361190304">"PIN ਬਦਲੋ"</string>
+ <string name="CnipMmi" msgid="3110534680557857162">"ਕਾਲਿੰਗ ਨੰਬਰ ਮੌਜੂਦ ਹੈ"</string>
+ <string name="CnirMmi" msgid="3062102121430548731">"ਕਾਲਿੰਗ ਨੰਬਰ ਪ੍ਰਤਿਬੰਧਿਤ"</string>
+ <string name="ThreeWCMmi" msgid="9051047170321190368">"ਥ੍ਰੀ ਵੇ ਕਾਲਿੰਗ"</string>
+ <string name="RuacMmi" msgid="7827887459138308886">"ਅਣਇੱਛਿਤ ਪਰੇਸ਼ਾਨ ਕਰਨ ਵਾਲੀਆਂ ਕਾਲਾਂ ਦੀ ਅਸਵੀਕ੍ਰਿਤੀ"</string>
+ <string name="CndMmi" msgid="3116446237081575808">"ਕਾਲਿੰਗ ਨੰਬਰ ਡਿਲੀਵਰੀ"</string>
+ <string name="DndMmi" msgid="1265478932418334331">"ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
+ <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"ਪ੍ਰਤਿਬੰਧਿਤ ਕਰਨ ਲਈ ਕਾਲਰ ID ਡਿਫੌਲਟਸ। ਅਗਲੀ ਕਾਲ: ਪ੍ਰਤਿਬੰਧਿਤ"</string>
+ <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"ਪ੍ਰਤਿਬੰਧਿਤ ਕਰਨ ਲਈ ਕਾਲਰ ID ਡਿਫੌਲਟਸ। ਅਗਲੀ ਕਾਲ: ਪ੍ਰਤਿਬੰਧਿਤ ਨਹੀਂ"</string>
+ <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"ਪ੍ਰਤਿਬੰਧਿਤ ਨਾ ਕਰਨ ਲਈ ਕਾਲਰ ID ਡਿਫੌਲਟਸ। ਅਗਲੀ ਕਾਲ: ਪ੍ਰਤਿਬੰਧਿਤ"</string>
+ <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"ਪ੍ਰਤਿਬੰਧਿਤ ਨਾ ਕਰਨ ਲਈ ਕਾਲਰ ID ਡਿਫੌਲਟਸ। ਅਗਲੀ ਕਾਲ: ਪ੍ਰਤਿਬੰਧਿਤ ਨਹੀਂ"</string>
+ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ਸੇਵਾ ਪ੍ਰਬੰਧਿਤ ਨਹੀਂ ਹੈ।"</string>
+ <string name="CLIRPermanent" msgid="3377371145926835671">"ਤੁਸੀਂ ਕਾਲਰ ID ਸੈਟਿੰਗ ਨਹੀਂ ਬਦਲ ਸਕਦੇ।"</string>
+ <string name="RestrictedChangedTitle" msgid="5592189398956187498">"ਪ੍ਰਤਿਬੰਧਿਤ ਪਹੁੰਚ ਬਦਲੀ ਗਈ"</string>
+ <string name="RestrictedOnData" msgid="8653794784690065540">"ਡਾਟਾ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string>
+ <string name="RestrictedOnEmergency" msgid="6581163779072833665">"ਐਮਰਜੈਂਸੀ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string>
+ <string name="RestrictedOnNormal" msgid="4953867011389750673">"ਵੌਇਸ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string>
+ <string name="RestrictedOnAllVoice" msgid="3396963652108151260">"ਸਾਰੀਆਂ ਵੌਇਸ ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string>
+ <string name="RestrictedOnSms" msgid="8314352327461638897">"SMS ਸੇਵਾ ਬੰਦ ਕੀਤੀ ਹੋਈ ਹੈ।"</string>
+ <string name="RestrictedOnVoiceData" msgid="996636487106171320">"ਵੌਇਸ/ਡਾਟਾ ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ।"</string>
+ <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"ਵੌਇਸ/SMS ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string>
+ <string name="RestrictedOnAll" msgid="5643028264466092821">"ਸਾਰੀਆਂ ਵੌਇਸ/ਡਾਟਾ/SMS ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string>
+ <string name="peerTtyModeFull" msgid="6165351790010341421">"ਪੀਅਰ ਨੇ TTY Mode FULL ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="peerTtyModeHco" msgid="5728602160669216784">"ਪੀਅਰ ਨੇ TTY Mode HCO ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="peerTtyModeVco" msgid="1742404978686538049">"ਪੀਅਰ ਨੇ TTY Mode VCO ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="peerTtyModeOff" msgid="3280819717850602205">"ਪੀਅਰ ਨੇ TTY Mode OFF ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="serviceClassVoice" msgid="1258393812335258019">"ਵੌਇਸ"</string>
+ <string name="serviceClassData" msgid="872456782077937893">"ਡਾਟਾ"</string>
+ <string name="serviceClassFAX" msgid="5566624998840486475">"ਫੈਕਸ"</string>
+ <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string>
+ <string name="serviceClassDataAsync" msgid="4523454783498551468">"ਅਸਿੰਕ"</string>
+ <string name="serviceClassDataSync" msgid="7530000519646054776">"ਸਿੰਕ ਕਰੋ"</string>
+ <string name="serviceClassPacket" msgid="6991006557993423453">"ਪੈਕੇਟ"</string>
+ <string name="serviceClassPAD" msgid="3235259085648271037">"PAD"</string>
+ <string name="roamingText0" msgid="7170335472198694945">"ਰੋਮਿੰਗ ਸੂਚਕ ਚਾਲੂ"</string>
+ <string name="roamingText1" msgid="5314861519752538922">"ਰੋਮਿੰਗ ਸੂਚਕ ਬੰਦ"</string>
+ <string name="roamingText2" msgid="8969929049081268115">"ਰੋਮਿੰਗ ਸੂਚਕ ਫਲੈਸ਼ ਹੋ ਰਿਹਾ ਹੈ"</string>
+ <string name="roamingText3" msgid="5148255027043943317">"ਗਵਾਂਢ ਤੋਂ ਬਾਹਰ"</string>
+ <string name="roamingText4" msgid="8808456682550796530">"ਬਿਲਡਿੰਗ ਤੋਂ ਬਾਹਰ"</string>
+ <string name="roamingText5" msgid="7604063252850354350">"ਰੋਮਿੰਗ - ਤਰਜੀਹੀ ਸਿਸਟਮ"</string>
+ <string name="roamingText6" msgid="2059440825782871513">"ਰੋਮਿੰਗ - ਉਪਲਬਧ ਸਿਸਟਮ"</string>
+ <string name="roamingText7" msgid="7112078724097233605">"ਰੋਮਿੰਗ - ਵਿਆਹ ਪਾਰਟਨਰ"</string>
+ <string name="roamingText8" msgid="5989569778604089291">"ਰੋਮਿੰਗ - ਪ੍ਰੀਮੀਅਮ ਪਾਰਟਨਰ"</string>
+ <string name="roamingText9" msgid="7969296811355152491">"ਰੋਮਿੰਗ - ਪੂਰੀ ਸੇਵਾ ਫੰਕਸ਼ਨੈਲਿਟੀ"</string>
+ <string name="roamingText10" msgid="3992906999815316417">"ਰੋਮਿੰਗ - ਅੰਸ਼ਿਕ ਸੇਵਾ ਫੰਕਸ਼ਨੈਲਿਟੀ"</string>
+ <string name="roamingText11" msgid="4154476854426920970">"ਰੋਮਿੰਗ ਬੈਨਰ ਚਾਲੂ"</string>
+ <string name="roamingText12" msgid="1189071119992726320">"ਰੋਮਿੰਗ ਬੈਨਰ ਬੰਦ"</string>
+ <string name="roamingTextSearching" msgid="8360141885972279963">"ਸੇਵਾ ਦੀ ਖੋਜ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi ਕਾਲਿੰਗ"</string>
+ <string-array name="wfcOperatorErrorAlertMessages">
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ </string-array>
+ <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
+ <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ਬੰਦ"</string>
+ <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ਤਰਜੀਹੀ Wi-Fi"</string>
+ <string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"ਤਰਜੀਹੀ ਸੈਲਿਊਲਰ"</string>
+ <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"ਕੇਵਲ Wi-Fi"</string>
+ <string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ਅੱਗੇ ਨਹੀਂ ਭੇਜਿਆ ਗਿਆ"</string>
+ <string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string>
+ <string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g> <xliff:g id="TIME_DELAY">{2}</xliff:g> ਸਕਿੰਟਾਂ ਬਾਅਦ"</string>
+ <string name="cfTemplateRegistered" msgid="5073237827620166285">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ਅੱਗੇ ਨਹੀਂ ਭੇਜਿਆ ਗਿਆ"</string>
+ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ਅੱਗੇ ਨਹੀਂ ਭੇਜਿਆ ਗਿਆ"</string>
+ <string name="fcComplete" msgid="3118848230966886575">"ਵਿਸ਼ੇਸ਼ਤਾ ਕੋਡ ਪੂਰਾ।"</string>
+ <string name="fcError" msgid="3327560126588500777">"ਕਨੈਕਸ਼ਨ ਸਮੱਸਿਆ ਜਾਂ ਅਪ੍ਰਮਾਣਿਕ ਵਿਸ਼ੇਸ਼ਤਾ ਕੋਡ।"</string>
+ <string name="httpErrorOk" msgid="1191919378083472204">"ਠੀਕ"</string>
+ <string name="httpError" msgid="7956392511146698522">"ਇੱਕ ਨੈਟਵਰਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string>
+ <string name="httpErrorLookup" msgid="4711687456111963163">"URL ਨਹੀਂ ਲੱਭ ਸਕਿਆ।"</string>
+ <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"ਸਾਈਟ ਪ੍ਰਮਾਣੀਕਰਨ ਯੋਜਨਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।"</string>
+ <string name="httpErrorAuth" msgid="1435065629438044534">"ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="httpErrorProxyAuth" msgid="1788207010559081331">"ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਰਾਹੀਂ ਪ੍ਰਮਾਣੀਕਰਨ ਅਸਫਲ ਸੀ।"</string>
+ <string name="httpErrorConnect" msgid="8714273236364640549">"ਸਰਵਰ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="httpErrorIO" msgid="2340558197489302188">"ਸਰਵਰ ਨਾਲ ਸੰਚਾਰ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="httpErrorTimeout" msgid="4743403703762883954">"ਸਰਵਰ ਨਾਲ ਕਨੈਕਸ਼ਨ ਦਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋਇਆ।"</string>
+ <string name="httpErrorRedirectLoop" msgid="8679596090392779516">"ਸਫ਼ੇ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਰੀਡਾਇਰੈਕਟ ਸ਼ਾਮਲ ਹਨ।"</string>
+ <string name="httpErrorUnsupportedScheme" msgid="5015730812906192208">"ਪ੍ਰੋਟੋਕੋਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।"</string>
+ <string name="httpErrorFailedSslHandshake" msgid="96549606000658641">"ਇੱਕ ਸੁਰੱਖਿਅਤ ਕਨੈਕਸ਼ਨ ਸਥਾਪਿਤ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="httpErrorBadUrl" msgid="3636929722728881972">"ਸਫ਼ਾ ਨਹੀਂ ਖੋਲ੍ਹ ਸਕਿਆ ਕਿਉਂਕਿ URL ਅਪ੍ਰਮਾਣਿਕ ਹੈ।"</string>
+ <string name="httpErrorFile" msgid="2170788515052558676">"ਫਾਈਲ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਿਆ।"</string>
+ <string name="httpErrorFileNotFound" msgid="6203856612042655084">"ਬੇਨਤੀ ਕੀਤੀ ਫਾਈਲ ਨਹੀਂ ਲੱਭ ਸਕਿਆ।"</string>
+ <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਬੇਨਤੀਆਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="notification_title" msgid="8967710025036163822">"<xliff:g id="ACCOUNT">%1$s</xliff:g> ਲਈ ਸਾਈਨਇਨ ਅਸ਼ੁੱਧੀ"</string>
+ <string name="contentServiceSync" msgid="8353523060269335667">"ਸਿੰਕ ਕਰੋ"</string>
+ <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"ਸਿੰਕ ਕਰੋ"</string>
+ <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"ਬਹੁਤ ਜ਼ਿਆਦਾ <xliff:g id="CONTENT_TYPE">%s</xliff:g> ਮਿਟਾਏ।"</string>
+ <string name="low_memory" product="tablet" msgid="6494019234102154896">"ਟੈਬਲੇਟ ਸਟੋਰੇਜ ਪੂਰੀ ਭਰੀ ਹੈ। ਸਪੇਸ ਖਾਲੀ ਕਰਨ ਲਈ ਕੁਝ ਫਾਈਲਾਂ ਮਿਟਾਓ।"</string>
+ <string name="low_memory" product="watch" msgid="4415914910770005166">"ਘੜੀ ਸਟੋਰੇਜ ਪੂਰੀ ਭਰੀ ਹੈ। ਸਪੇਸ ਖਾਲੀ ਕਰਨ ਲਈ ਕੁਝ ਫਾਈਲਾਂ ਮਿਟਾਓ।"</string>
+ <string name="low_memory" product="tv" msgid="516619861191025923">"TV ਸਟੋਰੇਜ ਪੂਰੀ ਭਰੀ ਹੈ। ਸਪੇਸ ਖਾਲੀ ਕਰਨ ਲਈ ਕੁਝ ਫਾਈਲਾਂ ਮਿਟਾਓ।"</string>
+ <string name="low_memory" product="default" msgid="3475999286680000541">"ਫੋਨ ਸਟੋਰੇਜ ਪੂਰੀ ਭਰੀ ਹੈ। ਸਪੇਸ ਖਾਲੀ ਕਰਨ ਲਈ ਕੁਝ ਫਾਈਲਾਂ ਮਿਟਾਓ।"</string>
+ <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"ਨੈਟਵਰਕ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+ <string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"ਇੱਕ ਅਗਿਆਤ ਤੀਜੀ ਪਾਰਟੀ ਵੱਲੋਂ"</string>
+ <string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"ਤੁਹਾਡੇ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ"</string>
+ <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> ਮੁਤਾਬਕ"</string>
+ <string name="work_profile_deleted" msgid="5005572078641980632">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਈ ਗਈ"</string>
+ <string name="work_profile_deleted_description" msgid="6305147513054341102">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਦੇ ਕਾਰਨ ਮਿਟਾਈ ਗਈ।"</string>
+ <string name="work_profile_deleted_details" msgid="226615743462361248">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਜਾਂ ਤਾਂ ਲੁਪਤ ਹੈ ਜਾਂ ਕਰਪਟ ਹੈ। ਇੱਕ ਸਿੱਟੇ ਦੇ ਤੌਰ ਤੇ, ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਸੰਬੰਧਿਤ ਡਾਟਾ ਮਿਟਾਇਆ ਗਿਆ ਹੈ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="factory_reset_warning" msgid="5423253125642394387">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾਈ ਜਾਏਗੀ"</string>
+ <string name="factory_reset_message" msgid="4905025204141900666">"ਐਡਮਿਨ ਐਪ ਲੁਪਤ ਕੰਪੋਨੈਂਟ ਜਾਂ ਕਰਪਟ ਹੈ ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਹੁਣ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾ ਦਿੱਤੀ ਜਾਏਗੀ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="me" msgid="6545696007631404292">"ਮੈਂ"</string>
+ <string name="power_dialog" product="tablet" msgid="8545351420865202853">"ਟੈਬਲੇਟ ਚੋਣਾਂ"</string>
+ <string name="power_dialog" product="tv" msgid="6153888706430556356">"TV ਚੋਣਾਂ"</string>
+ <string name="power_dialog" product="default" msgid="1319919075463988638">"ਫੋਨ ਚੋਣਾਂ"</string>
+ <string name="silent_mode" msgid="7167703389802618663">"ਸਾਈਲੈਂਟ ਮੋਡ"</string>
+ <string name="turn_on_radio" msgid="3912793092339962371">"ਵਾਇਰਲੈਸ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="turn_off_radio" msgid="8198784949987062346">"ਵਾਇਰਲੈਸ ਬੰਦ ਕਰੋ"</string>
+ <string name="screen_lock" msgid="799094655496098153">"ਸਕ੍ਰੀਨ ਲੌਕ"</string>
+ <string name="power_off" msgid="4266614107412865048">"ਪਾਵਰ ਬੰਦ"</string>
+ <string name="silent_mode_silent" msgid="319298163018473078">"ਰਿੰਗਰ ਬੰਦ"</string>
+ <string name="silent_mode_vibrate" msgid="7072043388581551395">"ਰਿੰਗਰ ਵਾਈਬ੍ਰੇਟ"</string>
+ <string name="silent_mode_ring" msgid="8592241816194074353">"ਰਿੰਗਰ ਚਾਲੂ"</string>
+ <string name="shutdown_progress" msgid="2281079257329981203">"ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ…"</string>
+ <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਬੰਦ ਕੀਤੀ ਜਾਏਗੀ।"</string>
+ <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ਤੁਹਾਡਾ TV ਬੰਦ ਕੀਤਾ ਜਾਏਗਾ।"</string>
+ <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"ਤੁਹਾਡੀ ਘੜੀ ਬੰਦ ਕੀਤੀ ਜਾਏਗੀ।"</string>
+ <string name="shutdown_confirm" product="default" msgid="649792175242821353">"ਤੁਹਾਡਾ ਫੋਨ ਬੰਦ ਕੀਤਾ ਜਾਏਗਾ।"</string>
+ <string name="shutdown_confirm_question" msgid="2906544768881136183">"ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="reboot_safemode_title" msgid="7054509914500140361">"ਮੋਡ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰੋ"</string>
+ <string name="reboot_safemode_confirm" msgid="55293944502784668">"ਕੀ ਤੁਸੀਂ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਰੀਬੂਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਤੀਜੀ ਪਾਰਟੀ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ। ਜਦੋਂ ਤੁਸੀਂ ਦੁਬਾਰਾ ਰੀਬੂਟ ਕਰੋਗੇ ਤਾਂ ਇਸਨੂੰ ਰੀਸਟੋਰ ਕੀਤਾ ਜਾਏਗਾ।"</string>
+ <string name="recent_tasks_title" msgid="3691764623638127888">"ਹਾਲੀਆ"</string>
+ <string name="no_recent_tasks" msgid="8794906658732193473">"ਕੋਈ ਹਾਲੀਆ ਐਪਸ ਨਹੀਂ।"</string>
+ <string name="global_actions" product="tablet" msgid="408477140088053665">"ਟੈਬਲੇਟ ਚੋਣਾਂ"</string>
+ <string name="global_actions" product="tv" msgid="7240386462508182976">"TV ਚੋਣਾਂ"</string>
+ <string name="global_actions" product="default" msgid="2406416831541615258">"ਫੋਨ ਚੋਣਾਂ"</string>
+ <string name="global_action_lock" msgid="2844945191792119712">"ਸਕ੍ਰੀਨ ਲੌਕ"</string>
+ <string name="global_action_power_off" msgid="4471879440839879722">"ਪਾਵਰ ਬੰਦ"</string>
+ <string name="global_action_bug_report" msgid="7934010578922304799">"ਬਗ ਰਿਪੋਰਟ"</string>
+ <string name="bugreport_title" msgid="2667494803742548533">"ਬਗ ਰਿਪੋਰਟ ਲਓ"</string>
+ <string name="bugreport_message" msgid="398447048750350456">"ਇਹ ਇੱਕ ਈ-ਮੇਲ ਸੁਨੇਹਾ ਭੇਜਣ ਲਈ, ਤੁਹਾਡੀ ਵਰਤਮਾਨ ਡਿਵਾਈਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਇਕੱਤਰ ਕਰੇਗਾ। ਬਗ ਰਿਪੋਰਟ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਥੋੜ੍ਹਾ ਸਮਾਂ ਲੱਗੇਗਾ ਜਦੋਂ ਤੱਕ ਇਹ ਭੇਜੇ ਜਾਣ ਲਈ ਤਿਆਰ ਨਾ ਹੋਵੇ, ਕਿਰਪਾ ਕਰਕੇ ਧੀਰਜ ਰੱਖੋ।"</string>
+ <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"ਸਾਈਲੈਂਟ ਮੋਡ"</string>
+ <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"ਅਵਾਜ਼ ਬੰਦ ਹੈ"</string>
+ <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"ਅਵਾਜ਼ ਚਾਲੂ ਹੈ"</string>
+ <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"ਏਅਰਪਲੇਨ ਮੋਡ"</string>
+ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ਏਅਰਪਲੇਨ ਮੋਡ ਚਾਲੂ ਹੈ"</string>
+ <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਹੈ"</string>
+ <string name="global_action_settings" msgid="1756531602592545966">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="global_action_assist" msgid="3892832961594295030">"ਸਹਾਇਤਾ ਕਰੋ"</string>
+ <string name="global_action_voice_assist" msgid="7751191495200504480">"ਵੌਇਸ ਅਸਿਸਟ"</string>
+ <string name="global_action_lockdown" msgid="8751542514724332873">"ਹੁਣ ਲੌਕ ਕਰੋ"</string>
+ <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string>
+ <string name="safeMode" msgid="2788228061547930246">"ਸੁਰੱਖਿਅਤ ਮੋਡ"</string>
+ <string name="android_system_label" msgid="6577375335728551336">"Android System"</string>
+ <string name="user_owner_label" msgid="6465364741001216388">"ਨਿੱਜੀ ਐਪਸ"</string>
+ <string name="managed_profile_label" msgid="6260850669674791528">"ਕੰਮ"</string>
+ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ਸੰਪਰਕ"</string>
+ <string name="permgroupdesc_contacts" msgid="1437393511338346185">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਤੱਕ ਪਹੁੰਚੋ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permgrouplab_location" msgid="7275582855722310164">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ"</string>
+ <string name="permgroupdesc_location" msgid="536889867433972794">"ਆਪਣੇ ਸਥਾਨ ਤੱਕ ਪਹੁੰਚੋ"</string>
+ <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ਤੁਹਾਡੀ ਸਮਾਜਿਕ ਜਾਣਕਾਰੀ"</string>
+ <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਅਤੇ ਸਮਾਜਿਕ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ।"</string>
+ <string name="permgrouplab_calendar" msgid="5863508437783683902">"ਕੈਲੰਡਰ"</string>
+ <string name="permgroupdesc_calendar" msgid="2116049656685591803">"ਆਪਣੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚੋ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
+ <string name="permgroupdesc_sms" msgid="3695085582674524761">"SMS ਤੱਕ ਪਹੁੰਚੋ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permgrouplab_dictionary" msgid="8114410334955871144">"ਉਪਭੋਗਤਾ ਸ਼ਬਦਕੋਸ਼"</string>
+ <string name="permgroupdesc_dictionary" msgid="7586787746354378335">"ਉਪਭੋਗਤਾ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਸ਼ਬਦ ਪੜ੍ਹੋ ਜਾਂ ਲਿਖੋ।"</string>
+ <string name="permgrouplab_bookmarks" msgid="1949519673103968229">"ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਇਤਿਹਾਸ"</string>
+ <string name="permgroupdesc_bookmarks" msgid="4169771606257963028">"ਬੁੁੱਕਮਾਰਕਾਂ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਇਤਿਹਾਸ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ।"</string>
+ <string name="permgrouplab_microphone" msgid="171539900250043464">"ਮਾਈਕ੍ਰੋਫੋਨ"</string>
+ <string name="permgroupdesc_microphone" msgid="1296196977187629181">"ਡਿਵਾਈਸ ਮਾਈਕ੍ਰੋਫੋਨ ਵਰਤੋ"</string>
+ <string name="permgrouplab_camera" msgid="4820372495894586615">"ਕੈਮਰਾ"</string>
+ <string name="permgroupdesc_camera" msgid="2429930670410559293">"ਡਿਵਾਈਸ ਕੈਮਰਾ ਵਰਤੋ"</string>
+ <string name="permgrouplab_phone" msgid="5229115638567440675">"ਫੋਨ"</string>
+ <string name="permgroupdesc_phone" msgid="2016641188146068700">"ਡਿਵਾਈਸ ਟੈਲੀਫੋਨੀ ਵਰਤੋ"</string>
+ <string name="permgrouplab_sensors" msgid="7416703484233940260">"ਸੰੰਵੇਦਕ"</string>
+ <string name="permgroupdesc_sensors" msgid="2987451839455524494">"ਸੰਵੇਦਕ ਅਤੇ ਪਹਿਨਣਯੋਗ ਤੱਕ ਪਹੁੰਚੋ"</string>
+ <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"ਵਿੰਡੋ ਸਮੱਗਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"ਇੱਕ ਵਿੰਡੋ ਦੀ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੰਟਰੈਕਟ ਕਰ ਰਹੇ ਹੋ।"</string>
+ <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"ਛੋਹੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਉੱਚੀ ਬੋਲਣਗੀਆਂ ਅਤੇ ਸਕ੍ਰੀਨ ਨੂੰ ਸੰਕੇਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਖੋਜਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"ਵਧੀ ਹੋਈ ਵੈਬ ਪਹੁੰਚਯੋਗਤਾ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"ਐਪ ਸਮੱਗਰੀ ਨੂੰ ਵੱਧ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਲਈ ਸਕ੍ਰਿਪਟਾਂ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ।"</string>
+ <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"ਜੋ ਟੈਕਸਟ ਤੁਸੀਂ ਟਾਈਪ ਕਰਦੇ ਹੋ, ਉਸਦਾ ਨਿਰੀਖਣ ਕਰੋ"</string>
+ <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ਇਸ ਵਿੱਚ ਨਿੱਜੀ ਡਾਟਾ ਸ਼ਾਮਲ ਹੈ ਜਿਵੇਂ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਨੰਬਰ ਅਤੇ ਪਾਸਵਰਡ।"</string>
+ <string name="permlab_statusBar" msgid="7417192629601890791">"ਸਥਿਤੀ ਬਾਰ ਅਸਮਰੱਥ ਬਣਾਓ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_statusBar" msgid="8434669549504290975">"ਐਪ ਨੂੰ ਸਥਿਤੀ ਬਾਰ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਜਾਂ ਸਿਸਟਮ ਆਈਕਨਾਂ ਨੂੰ ਜੋੜਨ ਅਤੇ ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_statusBarService" msgid="7247281911387931485">"ਸਥਿਤੀ ਬਾਰ"</string>
+ <string name="permdesc_statusBarService" msgid="716113660795976060">"ਐਪ ਨੂੰ ਸਥਿਤੀ ਬਾਰ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_expandStatusBar" msgid="1148198785937489264">"ਸਥਿਤੀ ਬਾਰ ਦਾ ਵਿਸਤਾਰ/ਨਸ਼ਟ ਕਰੋ"</string>
+ <string name="permdesc_expandStatusBar" msgid="6917549437129401132">"ਐਪ ਨੂੰ ਸਥਿਤੀ ਬਾਰ ਦਾ ਵਿਸਤਾਰ ਕਰਨ ਜਾਂ ਨਸ਼ਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_install_shortcut" msgid="4279070216371564234">"ਸ਼ੌਰਟਕਟ ਇੰਸਟੌਲ ਕਰੋ"</string>
+ <string name="permdesc_install_shortcut" msgid="8341295916286736996">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਉਪਭੋਗਤਾ ਦੇ ਦਖ਼ਲ ਤੋਂ ਬਿਨਾਂ ਹੋਮਸਕ੍ਰੀਨ ਸ਼ੌਰਟਕਟ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"ਸ਼ੌਰਟਕਟ ਅਣਇੰਸਟੌਲ ਕਰੋ"</string>
+ <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਉਪਭੋਗਤਾ ਦਖ਼ਲ ਤੋਂ ਬਿਨਾਂ ਹੋਮਸਕ੍ਰੀਨ ਸ਼ੌਰਟਕਟ ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਰੀਰੂਟ ਕਰੋ"</string>
+ <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"ਐਪ ਨੂੰ ਇੱਕ ਵੱਖ ਨੰਬਰ ਨਾਲ ਕਾਲ ਰੀਡਾਇਰੈਕਟ ਕਰਨ ਜਾਂ ਕਾਲ ਨੂੰ ਪੂਰਾ ਰੋਕਣ ਦੀ ਚੋਣ ਨਾਲ ਇੱਕ ਆਊਟਗੋਇੰਗ ਕਾਲ ਦੇ ਦੌਰਾਨ ਡਾਇਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਨੰਬਰ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_receiveSms" msgid="8673471768947895082">"ਟੈਕਸਟ ਸੁਨੇਹੇ (SMS) ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="permdesc_receiveSms" msgid="6424387754228766939">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_receiveMms" msgid="1821317344668257098">"ਟੈਕਸਟ ਸੁਨੇਹੇ (MMS) ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_receiveMms" msgid="533019437263212260">"ਐਪ ਨੂੰ MMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_sendSms" msgid="5600830612147671529">"SMS ਸੁਨੇਹੇ ਭੇਜੋ"</string>
+ <string name="permdesc_sendSms" msgid="7094729298204937667">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦੇ ਸਿੱਟੇ ਵਜੋਂ ਅਕਲਪਿਤ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਸੁਨੇਹੇ ਭੇਜ ਕੇ ਤੁਹਾਨੂੰ ਖ਼ਰਚੇ ਪਾ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_readSms" msgid="8745086572213270480">"ਤੁਹਾਡੇ ਟੈਕਸਟ ਸੁਨੇਹੇ (SMS ਜਾਂ MMS) ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ਟੈਕਸਟ ਸੁਨੇਹੇ (WAP) ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="permdesc_receiveWapPush" msgid="748232190220583385">"ਐਪ ਨੂੰ WAP ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਅਨੁਮਤੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ ਐਪ ਦੀ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰਨ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਸਮਰੱਥਾ।"</string>
+ <string name="permlab_getTasks" msgid="6466095396623933906">"ਚੱਲ ਰਹੇ ਐਪਸ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="permdesc_getTasks" msgid="7454215995847658102">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਅਤੇ ਹੁਣੇ ਜਿਹੇ ਚੱਲ ਰਹੇ ਕੰਮਾਂ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਖੋਜਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਤੇ ਕਿਹੜੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।"</string>
+ <string name="permlab_reorderTasks" msgid="2018575526934422779">"ਚੱਲ ਰਹੇ ਐਪਸ ਨੂੰ ਦੁਬਾਰਾ ਕ੍ਰਮ ਦਿਓ"</string>
+ <string name="permdesc_reorderTasks" msgid="7734217754877439351">"ਐਪ ਨੂੰ ਕੰਮਾਂ ਨੂੰ ਅਗਲੇ ਭਾਗ ਅਤੇ ਪਿਛੋਕੜ ਵਿੱਚ ਮੂਵ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਐਪ ਤੁਹਾਡੇ ਇਨਪੁਟ ਤੋਂ ਬਿਨਾਂ ਇਹ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_enableCarMode" msgid="5684504058192921098">"ਕਾਰ ਮੋਡ ਸਮਰੱਥ ਬਣਾਓ"</string>
+ <string name="permdesc_enableCarMode" msgid="4853187425751419467">"ਐਪ ਨੂੰ ਕਾਰ ਮੋਡ ਸਮਰੱਥ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"ਹੋਰ ਐਪਸ ਬੰਦ ਕਰੋ"</string>
+ <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"ਐਪ ਨੂੰ ਹੋਰਾਂ ਐਪਸ ਦੀਆਂ ਪਿਛੋਕੜ ਪ੍ਰਕਿਰਿਆਵਾਂ ਖ਼ਤਮ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਹੋਰ ਚੱਲ ਰਹੇ ਐਪਸ ਰੁਕ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"ਹੋਰ ਐਪਸ ਤੇ ਡ੍ਰਾ ਕਰੋ"</string>
+ <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"ਐਪ ਨੂੰ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਾਂ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਦੇ ਟੌਪ ਤੇ ਡ੍ਰਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਹ ਕਿਸੇ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੰਟਰਫੇਸ ਦੀ ਤੁਹਾਡੀ ਵਰਤੋਂ ਵਿੱਚ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ ਜਾਂ ਇਸ ਵਿੱਚ ਬਦਲਾਵ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕੀ ਸੋਚਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਕੀ ਦੇਖ ਰਹੇ ਹੋ।"</string>
+ <string name="permlab_persistentActivity" msgid="8841113627955563938">"ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਰਨ ਕਰੋ"</string>
+ <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"ਐਪ ਨੂੰ ਮੈਮਰੀ ਵਿੱਚ ਖੁਦ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸਥਾਈ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲੀ ਕਰਦੇ ਹੋਏ ਹੋਰਾਂ ਐਪਸ ਤੇ ਉਪਲਬਧ ਮੈਮਰੀ ਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"ਐਪ ਨੂੰ ਮੈਮਰੀ ਵਿੱਚ ਖੁਦ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸਥਾਈ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ TV ਨੂੰ ਹੌਲੀ ਕਰਦੇ ਹੋਏ ਹੋਰਾਂ ਐਪਸ ਤੇ ਉਪਲਬਧ ਮੈਮਰੀ ਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"ਐਪ ਨੂੰ ਮੈਮਰੀ ਵਿੱਚ ਖੁਦ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸਥਾਈ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਫੋਨ ਨੂੰ ਹੌਲੀ ਕਰਦੇ ਹੋਏ ਹੋਰਾਂ ਐਪਸ ਤੇ ਉਪਲਬਧ ਮੈਮਰੀ ਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_getPackageSize" msgid="7472921768357981986">"ਐਪ ਸਟੋਰੇਜ ਸਪੇਸ ਮਾਪੋ"</string>
+ <string name="permdesc_getPackageSize" msgid="3921068154420738296">"ਐਪ ਨੂੰ ਇਸਦਾ ਕੋਡ, ਡਾਟਾ ਅਤੇ ਕੈਚ ਆਕਾਰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_writeSettings" msgid="2226195290955224730">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_writeSettings" msgid="7775723441558907181">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਸੈਟਿੰਗਾਂ ਡਾਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਕਰਪਟ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"ਚਾਲੂ ਹੋਣ ਤੇ ਚਲਾਓ"</string>
+ <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਬੂਟਿੰਗ ਖ਼ਤਮ ਕਰਨ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਖੁਦ ਚਾਲੂ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਚਲਾ ਕੇ ਸਮੁੱਚੀ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਬੂਟਿੰਗ ਖ਼ਤਮ ਕਰਨ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਖੁਦ ਚਾਲੂ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ TV ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਚਲਾ ਕੇ ਸਮੁੱਚੀ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਬੂਟਿੰਗ ਖ਼ਤਮ ਕਰਨ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਖੁਦ ਚਾਲੂ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਫੋਨ ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਚਲਾ ਕੇ ਸਮੁੱਚੇ ਫੋਨ ਨੂੰ ਹੌਲਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_broadcastSticky" msgid="7919126372606881614">"ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜੋ"</string>
+ <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"ਐਪ ਨੂੰ ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਸਾਰਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਹਿੰਦੇ ਹਨ। ਵਾਧੂ ਵਰਤੋਂ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲੀ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮਰੀ ਵਰਤ ਕੇ ਇਸਨੂੰ ਅਸਥਿਰ ਬਣਾ ਸਕਦੀ ਹੈ।"</string>
+ <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ਐਪ ਨੂੰ ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਸਾਰਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਹਿੰਦੇ ਹਨ। ਵਾਧੂ ਵਰਤੋਂ TV ਨੂੰ ਹੌਲੀ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮਰੀ ਵਰਤ ਕੇ ਇਸਨੂੰ ਅਸਥਿਰ ਬਣਾ ਸਕਦੀ ਹੈ।"</string>
+ <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"ਐਪ ਨੂੰ ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਸਾਰਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਹਿੰਦੇ ਹਨ। ਵਾਧੂ ਵਰਤੋਂ ਫੋਨ ਨੂੰ ਹੌਲੀ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮਰੀ ਵਰਤ ਕੇ ਇਸਨੂੰ ਅਸਥਿਰ ਬਣਾ ਸਕਦੀ ਹੈ।"</string>
+ <string name="permlab_readContacts" msgid="8348481131899886131">"ਆਪਣੇ ਸੰਪਰਕ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_writeContacts" msgid="5107492086416793544">"ਆਪਣੇ ਸੰਪਰਕ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string>
+ <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string>
+ <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string>
+ <string name="permlab_readCallLog" msgid="3478133184624102739">"ਕਾਲ ਲੌਗ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_writeCallLog" msgid="8552045664743499354">"ਕਾਲ ਲੌਗ ਲਿਖੋ"</string>
+ <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_readProfile" msgid="4701889852612716678">"ਆਪਣਾ ਖੁਦ ਦਾ ਸੰਪਰਕ ਕਾਰਡ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readProfile" product="default" msgid="5462475151849888848">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਸਟੋਰ ਕੀਤੀ ਨਿੱਜੀ ਪ੍ਰੋਫਾਈਲ ਜਾਣਕਾਰੀ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਤੁਹਾਡਾ ਨਾਮ ਅਤੇ ਸੰਪਰਕ ਜਾਣਕਾਰੀ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਨੂੰ ਪਛਾਣ ਸਕਦਾ ਹੈ ਅਤੇ ਹੋਰਾਂ ਨੂੰ ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਜਾਣਕਾਰੀ ਭੇਜ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_writeProfile" msgid="907793628777397643">"ਆਪਣਾ ਖੁਦ ਦਾ ਸੰਪਰਕ ਕਾਰਡ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_writeProfile" product="default" msgid="5552084294598465899">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਸਟੋਰ ਕੀਤੀ ਨਿੱਜੀ ਪ੍ਰੋਫਾਈਲ ਜਾਣਕਾਰੀ ਬਦਲਣ ਜਾਂ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਤੁਹਾਡਾ ਨਾਮ ਅਤੇ ਸੰਪਰਕ ਜਾਣਕਾਰੀ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਨੂੰ ਪਛਾਣ ਸਕਦਾ ਹੈ ਅਤੇ ਹੋਰਾਂ ਨੂੰ ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਜਾਣਕਾਰੀ ਭੇਜ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_bodySensors" msgid="4871091374767171066">"ਸਰੀਰ ਸੰਵੇਦਕ (ਜਿਵੇਂ ਦਿਲ ਦੀ ਧੜਕਣ ਦੇ ਨਿਰੀਖਕ)"</string>
+ <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"ਐਪ ਨੂੰ ਉਹਨਾਂ ਸੰਵੇਦਕਾਂ ਦੇ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਤੁਹਾਡੀ ਸਰੀਰਕ ਸਥਿਤੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਤੁਹਾਡੇ ਦਿਲ ਦੀ ਧੜਕਣ।"</string>
+ <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"ਆਪਣੀ ਸਮਾਜਿਕ ਸਟ੍ਰੀਮ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readSocialStream" product="default" msgid="4255706027172050872">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਅਤੇ ਤੁਹਾਡੇ ਦੋਸਤਾਂ ਦੀਆਂ ਸਮਾਜਿਕ ਅਪਡੇਟਾਂ ਤੱਕ ਪਹੁੰਚ ਅਤੇ ਸਿੰਕ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਜਾਣਕਾਰੀ ਸੇਅਰ ਕਰਦੇ ਸਮੇਂ ਸਾਵਧਾਨ ਰਹੋ - ਇਹ ਸਮਾਜਿਕ ਨੈਟਵਰਕਾਂ ਤੇ ਤੁਹਾਡੇ ਅਤੇ ਤੁਹਾਡੇ ਦੋਸਤਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਸਾਰੇ ਸਮਾਜਿਕ ਨੈਟਵਰਕਾਂ ਤੇ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"ਆਪਣੀ ਸਮਾਜਿਕ ਸਟ੍ਰੀਮ ਵਿੱਚ ਲਿਖੋ"</string>
+ <string name="permdesc_writeSocialStream" product="default" msgid="3086557552204114849">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਦੋਸਤਾਂ ਦੀਆਂ ਸਮਾਜਿਕ ਅਪਡੇਟਾਂ ਤੱਕ ਡਿਸਪਲੇ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਜਾਣਕਾਰੀ ਸੇਅਰ ਕਰਦੇ ਸਮੇਂ ਸਾਵਧਾਨ ਰਹੋ - ਇਹ ਐਪ ਨੂੰ ਅਜਿਹੇ ਸੁਨੇਹੇ ਉਤਪੰਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਤੁਹਾਡੇ ਦੋਸਤ ਤੋਂ ਆਏ ਜਾਪ ਸਕਦੇ ਹਨ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਸਾਰੇ ਸਮਾਜਿਕ ਨੈਟਵਰਕਾਂ ਤੇ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permlab_readCalendar" msgid="5972727560257612398">"ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪਲਸ ਗੁਪਤ ਜਾਣਕਾਰੀ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
+ <string name="permlab_writeCalendar" msgid="8438874755193825647">"ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਜੋੜੋ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ ਅਤੇ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਮਹਿਮਾਨਾਂ ਨੂੰ ਈਮੇਲ ਭੇਜੋ"</string>
+ <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੀ ਟੈਬਲੇਟ ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੇ TV ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੇ ਫੋਨ ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_accessMockLocation" msgid="8688334974036823330">"ਜਾਂਚ ਲਈ ਨਕਲੀ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ"</string>
+ <string name="permdesc_accessMockLocation" msgid="5808711039482051824">"ਜਾਂਚ ਲਈ ਜਾਂ ਇੱਕ ਨਵਾਂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਇੰਸਟੌਲ ਕਰਨ ਲਈ ਨਕਲੀ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ ਬਣਾਓ। ਇਹ ਐਪ ਨੂੰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਅਤੇ/ਜਾਂ ਹੋਰਾਂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤਾਂ ਵੱਲੋਂ ਵਾਪਸ ਕੀਤੀ ਸਥਿਤੀ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ GPS ਜਾਂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ।"</string>
+ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"ਵਾਧੂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਕਮਾਂਡਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
+ <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"ਐਪ ਨੂੰ ਵਾਧੂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਕਮਾਂਡਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ GPS ਜਾਂ ਹੋਰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤਾਂ ਦੇ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_accessFineLocation" msgid="1191898061965273372">"ਨਿਯਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ (GPS ਅਤੇ ਨੈਟਵਰਕ-ਆਧਾਰਿਤ)"</string>
+ <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"ਐਪ ਨੂੰ ਗਲੋਬਲ ਪੋਜੀਸ਼ਨਿੰਗ ਸਿਸਟਮ (GPS) ਜਾਂ ਨੈਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi, ਵਰਤਦੇ ਹੋਏ ਤੁਹਾਡਾ ਨਿਯਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਉਪਲਬਧ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ ਅਤੇ ਵਾਧੂ ਬੈਟਰੀ ਪਾਵਰ ਖ਼ਰਚ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"ਅਨੁਮਾਨਿਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ (ਨੈਟਵਰਕ-ਆਧਾਰਿਤ)"</string>
+ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਅਨੁਮਾਨਿਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਨੈਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ ਵਰਤਦੇ ਹੋਏ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਰਾਹੀਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi. ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਅਨੁਮਾਨ ਲਗਾਉਣ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ।"</string>
+ <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"ਆਪਣੀਆਂ ਔਡੀਓ ਸੈਟਿੰਗਾਂ ਬਦਲੋ"</string>
+ <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"ਔਪ ਨੂੰ ਗਲੋਬਲ ਔਡੀਓ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ ਵੌਲਯੂਮ ਅਤੇ ਆਊਟਪੁਟ ਲਈ ਕਿਹੜਾ ਸਪੀਕਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।"</string>
+ <string name="permlab_recordAudio" msgid="3876049771427466323">"ਔਡੀਓ ਰਿਕਾਰਡ ਕਰੋ"</string>
+ <string name="permdesc_recordAudio" msgid="4906839301087980680">"ਐਪ ਨੂੰ ਮਾਈਕ੍ਰੋਫੋਨ ਨਾਲ ਔਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਅਨੁਮਤੀ ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਔਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string>
+ <string name="permlab_sim_communication" msgid="1180265879464893029">"sim ਸੰਚਾਰ"</string>
+ <string name="permdesc_sim_communication" msgid="5725159654279639498">"ਐਪ ਨੂੰ SIM ਨੂੰ ਕਮਾਂਡਾਂ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਬਹੁਤ ਘਾਤਕ ਹੈ।"</string>
+ <string name="permlab_camera" msgid="3616391919559751192">"ਤਸਵੀਰਾਂ ਅਤੇ ਵੀਡੀਓ ਬਣਾਓ"</string>
+ <string name="permdesc_camera" msgid="8497216524735535009">"ਐਪ ਨੂੰ ਕੈਮਰੇ ਨਾਲ ਤਸਵੀਰਾਂ ਅਤੇ ਵੀਡੀਓ ਲੈਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਅਨੁਮਤੀ ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਕੈਮਰਾ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string>
+ <string name="permlab_vibrate" msgid="7696427026057705834">"ਵਾਈਬ੍ਰੇਸ਼ਨ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ"</string>
+ <string name="permdesc_vibrate" msgid="6284989245902300945">"ਐਪ ਨੂੰ ਵਾਈਬ੍ਰੇਟਰ ਤੇ ਨਿਯੰਤਰਣ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_flashlight" msgid="2155920810121984215">"ਫਲੈਸ਼ਲਾਈਟ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ"</string>
+ <string name="permdesc_flashlight" msgid="6522284794568368310">"ਐਪ ਨੂੰ ਫਲੈਸ਼ਲਾਈਟ ਤੇ ਨਿਯੰਤਰਣ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_callPhone" msgid="3925836347681847954">"ਫੋਨ ਨੰਬਰਾਂ ਤੇ ਸਿੱਧੇ ਕਾਲ ਕਰੋ"</string>
+ <string name="permdesc_callPhone" msgid="3740797576113760827">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਦਖ਼ਲ ਤੋਂ ਬਿਨਾਂ ਫੋਨ ਨੰਬਰਾਂ ਤੇ ਕਾਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦੇ ਸਿੱਟੇ ਵਜੋਂ ਅਕਲਪਿਤ ਖ਼ਰਚੇ ਜਾਂ ਕਾਲਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਧਿਆਨ ਦਿਓ ਕਿ ਇਹ ਐਪ ਨੂੰ ਐਮਰਜੈਂਸੀ ਨੰਬਰਾਂ ਤੇ ਕਾਲ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲਾਂ ਕਰਕੇ ਤੁਹਾਨੂੰ ਖ਼ਰਚੇ ਪਾ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_readPhoneState" msgid="9178228524507610486">"ਫੋਨ ਸਥਿਤੀ ਅਤੇ ਪਛਾਣ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"ਐਪ ਨੂੰ ਡਿਵਾਈਸ ਦੀਆਂ ਫੋਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਅਨੁਮਤੀ ਐਪ ਨੂੰ ਫੋਨ ਨੰਬਰ ਅਤੇ ਡਿਵਾਈਸ ID ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਇੱਕ ਕਾਲ ਸਕਿਰਿਆ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਰਿਮੋਟ ਨੰਬਰ ਇੱਕ ਕਾਲ ਨਾਲ ਕਨੈਕਟ ਹੈ ਜਾਂ ਨਹੀਂ।"</string>
+ <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"ਟੈਬਲੇਟ ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string>
+ <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"TV ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string>
+ <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"ਫੋਨ ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string>
+ <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਨੂੰ ਸਲੀਪ ਤੇ ਜਾਣ ਤੋਂ ਰੋਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"ਐਪ ਨੂੰ TV ਨੂੰ ਸਲੀਪ ਤੇ ਜਾਣ ਤੋਂ ਰੋਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"ਐਪ ਨੂੰ ਫੋਨ ਨੂੰ ਸਲੀਪ ਤੇ ਜਾਣ ਤੋਂ ਰੋਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_transmitIr" msgid="7545858504238530105">"ਇੰਫ੍ਰਾਰੈਡ ਟ੍ਰਾਂਸਮਿਟ ਕਰੋ"</string>
+ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"ਐਪ ਨੂੰ TV ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"ਐਪ ਨੂੰ ਫੋਨ ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_setWallpaper" msgid="6627192333373465143">"ਵਾਲਪੇਪਰ ਸੈਟ ਕਰੋ"</string>
+ <string name="permdesc_setWallpaper" msgid="7373447920977624745">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਵਾਲਪੇਪਰ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"ਆਪਣਾ ਵਾਲਪੇਪਰ ਆਕਾਰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਵਾਲਪੇਪਰ ਆਕਾਰ ਸੰਕੇਤ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_setTimeZone" msgid="2945079801013077340">"ਸਮਾਂ ਜ਼ੋਨ ਸੈਟ ਕਰੋ"</string>
+ <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"ਐਪ ਨੂੰ TV ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"ਐਪ ਨੂੰ ਫੋਨ ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_getAccounts" msgid="1086795467760122114">"ਡਿਵਾਈਸ ਤੇ ਖਾਤੇ ਲੱਭੋ"</string>
+ <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"ਐਪ ਨੂੰ TV ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"ਐਪ ਨੂੰ ਫੋਨ ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_authenticateAccounts" msgid="5265908481172736933">"ਖਾਤੇ ਬਣਾਓ ਅਤੇ ਪਾਸਵਰਡ ਸੈਟ ਕਰੋ"</string>
+ <string name="permdesc_authenticateAccounts" msgid="5472124296908977260">"ਐਪ ਨੂੰ AccountManager ਦੀਆਂ ਖਾਤਾ ਪ੍ਰਮਾਣਕਰਤਾ ਸਮਰੱਥਤਾਵਾਂ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਖਾਤੇ ਬਣਾਉਣ ਅਤੇ ਉਹਨਾਂ ਦੇ ਪਾਸਵਰਡ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਸੈਟ ਕਰਨ ਸਮੇਤ।"</string>
+ <string name="permlab_manageAccounts" msgid="4983126304757177305">"ਖਾਤੇ ਜੋੜੋ ਜਾਂ ਹਟਾਓ"</string>
+ <string name="permdesc_manageAccounts" msgid="8698295625488292506">"ਐਪ ਨੂੰ ਖਾਤੇ ਜੋੜਨਾ ਅਤੇ ਹਟਾਉਣਾ ਅਤੇ ਉਹਨਾਂ ਦੇ ਪਾਸਵਰਡ ਮਿਟਾਉਣ ਜਿਹੇ ਓਪਰੇਸ਼ਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_useCredentials" msgid="235481396163877642">"ਡਿਵਾਈਸ ਤੇ ਖਾਤੇ ਵਰਤੋ"</string>
+ <string name="permdesc_useCredentials" msgid="7984227147403346422">"ਐਪ ਨੂੰ ਪ੍ਰਮਾਣੀਕਰਨ ਟੋਕਨਾਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੇਖੋ"</string>
+ <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ ਕਿਹੜੇ ਨੈਟਵਰਕ ਮੌਜੂਦ ਹਨ ਅਤੇ ਕਨੈਕਟ ਕੀਤੇ ਹੋਏ ਹਨ।"</string>
+ <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"ਪੂਰੀ ਨੈਟਵਰਕ ਪਹੁੰਚ"</string>
+ <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਸੌਕੇਟ ਬਣਾਉਣ ਅਤੇ ਕਸਟਮ ਨੈਟਵਰਕ ਪ੍ਰੋਟੋਕੋਲ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਇੰਟਰਨੈਟ ਨੂੰ ਡਾਟਾ ਭੇਜਣ ਲਈ ਸਾਧਨ ਮੁਹੱਈਆ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਇੰਟਰਨੈਟ ਡਾਟਾ ਭੇਜਣ ਲਈ ਇਹ ਅਨੁਮਤੀ ਲੁੜੀਂਦੀ ਨਹੀਂ ਹੈ।"</string>
+ <string name="permlab_changeNetworkState" msgid="958884291454327309">"ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਬਦਲੋ"</string>
+ <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_changeTetherState" msgid="5952584964373017960">"ਟੀਥਰ ਕੀਤੀ ਕਨੈਕਟੀਵਿਟੀ ਬਦਲੋ"</string>
+ <string name="permdesc_changeTetherState" msgid="1524441344412319780">"ਐਪ ਨੂੰ ਟੀਥਰ ਕੀਤੀ ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_accessWifiState" msgid="5202012949247040011">"Wi-Fi ਕਨੈਕਸ਼ਨ ਦੇਖੋ"</string>
+ <string name="permdesc_accessWifiState" msgid="5002798077387803726">"ਐਪ ਨੂੰ Wi-Fi ਨੈਟਵਰਕਿੰਗ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ Wi-Fi ਸਮਰਥਿਤ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਕਨੈਕਟ ਕੀਤੀਆਂ Wi-Fi ਡਿਵਾਈਸਾਂ ਦਾ ਨਾਮ।"</string>
+ <string name="permlab_changeWifiState" msgid="6550641188749128035">"Wi-Fi ਤੋਂ ਕਨੈਕਟ ਅਤੇ ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="permdesc_changeWifiState" msgid="7137950297386127533">"ਐਪ ਨੂੰ Wi-Fi ਪਹੁੰਚ ਬਿੰਦੂਆਂ ਤੇ ਕਨੈਕਟ ਅਤੇ ਇਹਨਾਂ ਤੋਂ ਡਿਸਕਨੈਕਟ ਕਰਨ ਅਤੇ Wi-Fi ਨੈਟਵਰਕਾਂ ਲਈ ਡਿਵਾਈਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi ਮਲਟੀਕਾਸਟ ਰਿਸੈਪਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string>
+ <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ TV ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string>
+ <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ, ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ ਫੋਨ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string>
+ <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetooth ਸੈਟਿੰਗਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
+ <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"ਐਪ ਨੂੰ ਸਥਾਨਕ Bluetooth ਟੈਬਲੇਟ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਰਿਮੋਟ ਡਿਵਾਈਸਾਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਪੇਅਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ਐਪ ਨੂੰ ਸਥਾਨਕ Bluetooth TV ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਰਿਮੋਟ ਡਿਵਾਈਸਾਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਪੇਅਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"ਐਪ ਨੂੰ ਸਥਾਨਕ Bluetooth ਫੋਨ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਰਿਮੋਟ ਡਿਵਾਈਸਾਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਪੇਅਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_accessWimaxState" msgid="4195907010610205703">"WiMAX ਤੋਂ ਕਨੈਕਟ ਅਤੇ ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"ਐਪ ਨੂੰ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਕਿ WiMAX ਸਮਰਥਿਤ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਕਿਸੇ ਵੀ WiMAX ਨੈਟਵਰਕਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਜੋ ਕਨੈਕਟ ਕੀਤੇ ਹੋਏ ਹਨ।"</string>
+ <string name="permlab_changeWimaxState" msgid="2405042267131496579">"WiMAX ਸਥਿਤੀ ਬਦਲੋ"</string>
+ <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਅਤੇ WiMAX ਨੈਟਵਰਕਾਂ ਤੋਂ ਟੈਬਲੇਟ ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"ਐਪ ਨੂੰ TV ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਅਤੇ WiMAX ਨੈਟਵਰਕਾਂ ਤੋਂ TV ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"ਐਪ ਨੂੰ ਫੋਨ ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਅਤੇ WiMAX ਨੈਟਵਰਕਾਂ ਤੋਂ ਫੋਨ ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_bluetooth" msgid="6127769336339276828">"Bluetooth ਡਿਵਾਈਸਾਂ ਨਾਲ ਪੇਅਰ ਕਰੋ"</string>
+ <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਤੇ Bluetooth ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇਖਣ, ਪੇਅਰ ਕੀਤੀਆਂ ਡਿਵਾਈਸਾਂ ਨਾਲ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣ ਅਤੇ ਸਵੀਕਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"ਐਪ ਨੂੰ TV ਤੇ Bluetooth ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇਖਣ, ਪੇਅਰ ਕੀਤੀਆਂ ਡਿਵਾਈਸਾਂ ਨਾਲ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣ ਅਤੇ ਸਵੀਕਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"ਐਪ ਨੂੰ ਫੋਨ ਤੇ Bluetooth ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇਖਣ, ਪੇਅਰ ਕੀਤੀਆਂ ਡਿਵਾਈਸਾਂ ਨਾਲ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣ ਅਤੇ ਸਵੀਕਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_nfc" msgid="4423351274757876953">"ਨੀਅਰ ਫੀਲਡ ਕਮਿਊਨੀਕੇਸ਼ਨ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ"</string>
+ <string name="permdesc_nfc" msgid="7120611819401789907">"ਐਪ ਨੂੰ Near Field Communication (NFC) ਟੈਗਸ, ਕਾਰਡਾਂ ਅਤੇ ਰੀਡਰਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ਆਪਣਾ ਸਕ੍ਰੀਨ ਲੌਕ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+ <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ਐਪ ਨੂੰ ਕੀਲੌਕ ਅਤੇ ਕਿਸੇ ਵੀ ਸੰਬੰਧਿਤ ਪਾਸਵਰਡ ਸੁਰੱਖਿਆ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਫੋਨ ਇੱਕ ਇਨਕਮਿੰਗ ਫੋਨ ਕਾਲ ਪ੍ਰਾਪਤ ਕਰਨ ਵੇਲੇ ਅਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ, ਫਿਰ ਜਦੋਂ ਕਾਲ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ ਤਾਂ ਕੀਲੌਕ ਨੂੰ ਮੁੜ-ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।"</string>
+ <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਾਰਡਵੇਅਰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ਐਪ ਨੂੰ ਵਰਤੋਂ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਜੋੜਨ ਅਤੇ ਮਿਟਾਣ ਦੀਆਂ ਵਿਧੀਆਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_useFingerprint" msgid="3150478619915124905">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਾਰਡਵੇਅਰ ਵਰਤੋ"</string>
+ <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ਐਪ ਨੂੰ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਾਰਡਵੇਅਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ"</string>
+ <string name="fingerprint_acquired_partial" msgid="735082772341716043">"ਅਧੂਰਾ ਫਿੰਗਰਪ੍ਰਿਟ ਮਿਲਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੰਵੇਦਕ ਗੰਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਇਸਨੂੰ ਸਾਫ਼ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="fingerprint_acquired_too_fast" msgid="6470642383109155969">"ਉਂਗਲ ਨੂੰ ਬਹੁਤ ਤੇਜ਼ ਲੈ ਜਾਇਆ ਗਿਆ. ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ."</string>
+ <string name="fingerprint_acquired_too_slow" msgid="7381891107120721078">"ਉਂਗਲ ਕਾਫ਼ੀ ਹੌਲੀ ਮੂਵ ਹੋਈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string-array name="fingerprint_acquired_vendor">
+ </string-array>
+ <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਾਰਡਵੇਅਰ ਉਪਲਬਧ ਨਹੀਂ."</string>
+ <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਸਕਦਾ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਮੌਜੂਦਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਟਾਓ।"</string>
+ <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਗਿਆ ਹੈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="fingerprint_error_canceled" msgid="4402024612660774395">"ਫਿੰਗਰ"</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ. ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ."</string>
+ <string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ."</string>
+ <string-array name="fingerprint_error_vendor">
+ </string-array>
+ <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ਸਿੰਕ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਹ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦਾ ਹੈ ਕਿ People ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਨਾਲ ਸਿੰਕ ਕੀਤਾ ਗਿਆ ਹੈ ਜਾਂ ਨਹੀਂ।"</string>
+ <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ਸਿੰਕ ਟੌਗਲ ਚਾਲੂ ਅਤੇ ਬੰਦ"</string>
+ <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਸਦੀ ਵਰਤੋਂ ਇੱਕ ਖਾਤੇ ਨਾਲ People ਐਪ ਦਾ ਸਿੰਕ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।"</string>
+ <string name="permlab_readSyncStats" msgid="7396577451360202448">"ਸਿੰਕ ਅੰਕੜੇ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readSyncStats" msgid="1510143761757606156">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸਟੇਟਸ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਿੰਕ ਇਵੈਂਟਾਂ ਦੇ ਇਤਿਹਾਸ ਅਤੇ ਕਿੰਨਾ ਡਾਟਾ ਸਿੰਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਸਮੇਤ।"</string>
+ <string name="permlab_subscribedFeedsWrite" msgid="9015246325408209296">"ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਫੀਡਸ ਲਿਖੋ"</string>
+ <string name="permdesc_subscribedFeedsWrite" msgid="6928930188826089413">"ਐਪ ਨੂੰ ਇਸ ਵੇਲੇ ਸਿੰਕ ਕੀਤੇ ਤੁਹਾਡੇ ਫੀਡਸ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੇ ਸਿੰਕ ਕੀਤੇ ਫੀਡਸ ਬਦਲ ਸਕਦੇ ਹਨ।"</string>
+ <string name="permlab_readDictionary" msgid="4107101525746035718">"ਉਹ ਸ਼ਬਦ ਪੜ੍ਹੋ ਜੋ ਤੁਸੀਂ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਜੋੜੇ ਸੀ"</string>
+ <string name="permdesc_readDictionary" msgid="659614600338904243">"ਐਪ ਨੂੰ ਉਹ ਸਾਰੇ ਸ਼ਬਦ, ਨਾਮ ਅਤੇ ਵਾਕਾਂਸ਼ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਉਪਭੋਗਤਾ ਨੇ ਉਪਭੋਗਤਾ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਹੋਇਆ ਹੋ ਸਕਦਾ ਹੈ।"</string>
+ <string name="permlab_writeDictionary" msgid="2183110402314441106">"ਉਪਭੋਗਤਾ-ਪਰਿਭਾਸ਼ਿਤ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਸ਼ਬਦ ਜੋੜੋ"</string>
+ <string name="permdesc_writeDictionary" msgid="8185385716255065291">"ਐਪ ਨੂੰ ਉਪਭੋਗਤਾ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਨਵੇਂ ਸ਼ਬਦ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"ਆਪਣੀ USB ਸਟੋਰੇਜ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹੋ"</string>
+ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"ਆਪਣੇ SD ਕਾਰਡ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"ਐਪ ਨੂੰ ਆਪਣੀ USB ਸਟੋਰੇਜ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ SD ਕਾਰਡ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"ਆਪਣੀ USB ਸਟੋਰੇਜ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ ਜਾਂ ਮਿਟਾਓ"</string>
+ <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"ਆਪਣੇ SD ਕਾਰਡ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ ਜਾਂ ਮਿਟਾਓ"</string>
+ <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"ਐਪ ਨੂੰ USB ਸਟੋਰੇਜ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"ਐਪ ਨੂੰ SD ਕਾਰਡ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_use_sip" msgid="2052499390128979920">"SIP ਕਾਲਾਂ ਕਰੋ/ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="permdesc_use_sip" msgid="2297804849860225257">"ਐਪ ਨੂੰ SIP ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"ਨਵਾਂ ਟੈਲੀਕੌਮ SIM ਕਨੈਕਸ਼ਨ ਰਜਿਸਟਰ ਕਰੋ"</string>
+ <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"ਐਪ ਨੂੰ ਨਵੇਂ ਟੈਲੀਕੌਮ SIM ਕਨੈਕਸ਼ਨ ਰਜਿਸਟਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_register_call_provider" msgid="108102120289029841">"ਨਵੇਂ ਟੈਲੀਕੌਮ ਕਨੈਕਸ਼ਨ ਰਜਿਸਟਰ ਕਰੋ"</string>
+ <string name="permdesc_register_call_provider" msgid="7034310263521081388">"ਐਪ ਨੂੰ ਨਵੇਂ ਟੈਲੀਕੌਮ ਕਨੈਕਸ਼ਨ ਰਜਿਸਟਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_connection_manager" msgid="1116193254522105375">"ਟੈਲੀਕੌਮ ਕਨੈਕਸ਼ਨ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="permdesc_connection_manager" msgid="5925480810356483565">"ਐਪ ਨੂੰ ਟੈਲੀਕੌਮ ਕਨੈਕਸ਼ਨ ਵਿਵਸਥਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_bind_incall_service" msgid="6773648341975287125">"ਇਨ-ਕਾਲ ਸਕ੍ਰੀਨ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰੋ"</string>
+ <string name="permdesc_bind_incall_service" msgid="8343471381323215005">"ਐਪ ਨੂੰ ਇਸਤੇ ਨਿਯੰਤਰਣ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਕਦੋ ਅਤੇ ਕਿਵੇਂ ਇਨ-ਕਾਲ ਸਕ੍ਰੀਨ ਦੇਖਦਾ ਹੈ।"</string>
+ <string name="permlab_bind_connection_service" msgid="3557341439297014940">"ਟੈਲੀਫੋਨੀ ਸੇਵਾਵਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰੋ"</string>
+ <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"ਐਨ ਨੂੰ ਕਾਲਾਂ ਕਰਨ/ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਟੈਲੀਫੋਨੀ ਸੇਵਾਵਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_control_incall_experience" msgid="9061024437607777619">"ਇੱਕ ਇਨ-ਕਾਲ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਮੁਹੱਈਆ ਕਰੋ"</string>
+ <string name="permdesc_control_incall_experience" msgid="915159066039828124">"ਐਪ ਨੂੰ ਇੱਕ ਇਨ-ਕਾਲ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਮੁਹੱਈਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ਇਤਿਹਾਸਕ ਨੈਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"ਐਪ ਨੂੰ ਖ਼ਾਸ ਨੈਟਵਰਕਾਂ ਅਤੇ ਐਪਸ ਲਈ ਇਤਿਹਾਸਕ ਨੈਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"ਨੈਟਵਰਕ ਨੀਤੀ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਨੀਤੀਆਂ ਵਿਵਸਥਿਤ ਕਰਨ ਅਤੇ ਐਪ-ਵਿਸ਼ੇਸ਼ ਨਿਯਮਾਂ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"ਨੈਟਵਰਕ ਵਰਤੋਂ ਅਕਾਊਂਟਿੰਗ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"ਐਪ ਨੂੰ ਐਪਸ ਦੇ ਵਿਪਰੀਤ ਨੈਟਵਰਕ ਵਰਤੋਂ ਦਾ ਹਿਸਾਬ ਲਗਾਉਣ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਵੱਲੋਂ ਵਰਤੋਂ ਲਈ ਨਹੀਂ।"</string>
+ <string name="permlab_accessNotifications" msgid="7673416487873432268">"ਪਹੁੰਚ ਸੂਚਨਾਵਾਂ"</string>
+ <string name="permdesc_accessNotifications" msgid="458457742683431387">"ਐਪ ਨੂੰ ਸੂਚਨਾਵਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ, ਜਾਂਚ ਕਰਨ ਅਤੇ ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਹੋਰਾਂ ਐਪਸ ਵੱਲੋਂ ਪੋਸਟ ਕੀਤੀਆਂ ਸਮੇਤ।"</string>
+ <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ਇੱਕ ਸੂਚਨਾ ਸੁਣਨ ਵਾਲੀ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string>
+ <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਸੂਚਨਾ ਸੁਣਨ ਵਾਲੀ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ਇੱਕ ਸਥਿਤੀ ਪ੍ਰਦਾਤਾ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string>
+ <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਸਥਿਤੀ ਪ੍ਰਦਾਤਾ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_bindDreamService" msgid="4153646965978563462">"ਇੱਕ ਡ੍ਰੀਮ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string>
+ <string name="permdesc_bindDreamService" msgid="7325825272223347863">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਡ੍ਰੀਮ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"ਕੈਰੀਅਰ-ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਐਪ ਦੀ ਬੇਨਤੀ ਕਰੋ"</string>
+ <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ਹੋਲਡਰ ਨੂੰ ਕੈਰੀਅਰ-ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਐਪ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"ਨੈਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣੋ"</string>
+ <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"ਇੱਕ ਐਪਲੀਸ਼ਨ ਨੂੰ ਨੈਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ਇਨਪੁਟ ਡਿਵਾਈਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਬਦਲੋ"</string>
+ <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"ਐਪ ਨੂੰ ਟਚ ਸਕ੍ਰੀਨ ਦੇ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM ਸਰਟੀਫਿਕੇਟਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
+ <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਵਸਥਾ ਕਰਨ ਅਤੇ DRM ਸਰਟੀਫਿਕੇਟ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_handoverStatus" msgid="1159132046126626731">"Android Beam ਟ੍ਰਾਂਸਫਰ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="permdesc_handoverStatus" msgid="4788144087245714948">"ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਮੌਜੂਦਾ Android Beam ਟ੍ਰਾਂਸਫਰਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM ਸਰਟੀਫਿਕੇਟ ਹਟਾਓ"</string>
+ <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ DRM ਸਰਟੀਫਿਕੇਟ ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ਇੱਕ ਕੈਰੀਅਰ ਮੈਸੇਜਿੰਗ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string>
+ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਕੈਰੀਅਰ ਮੈਸੇਜਿੰਗ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ਇੱਕ ਕੈਰੀਅਰ ਕੰਫੀਗ੍ਰੇਸ਼ਨ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"ਹੋਲਡਰ ਨੂੰ ਕਿਸੇ ਕੈਰੀਅਰ ਕੰਫ਼ੀਗ੍ਰੇਸ਼ਨ ਸੇਵਾ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
+ <string name="policylab_limitPassword" msgid="4497420728857585791">"ਪਾਸਵਰਡ ਨਿਯਮ ਸੈਟ ਕਰੋ"</string>
+ <string name="policydesc_limitPassword" msgid="2502021457917874968">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡਾਂ ਅਤੇ PIN ਵਿੱਚ ਆਗਿਆ ਦਿੱਤੀ ਲੰਮਾਈ ਅਤੇ ਅੱਖਰਾਂ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ।"</string>
+ <string name="policylab_watchLogin" msgid="914130646942199503">"ਸਕ੍ਰੀਨ-ਅਨਲੌਕ ਸੈਟਿੰਗਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰੋ"</string>
+ <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string>
+ <string name="policylab_resetPassword" msgid="4934707632423915395">"ਸਕ੍ਰੀਨ ਲੌਕ ਬਦਲੋ"</string>
+ <string name="policydesc_resetPassword" msgid="1278323891710619128">"ਸਕ੍ਰੀਨ ਲੌਕ ਬਦਲੋ।"</string>
+ <string name="policylab_forceLock" msgid="2274085384704248431">"ਸਕ੍ਰੀਨ ਲੌਕ ਕਰੋ"</string>
+ <string name="policydesc_forceLock" msgid="1141797588403827138">"ਇਸਤੇ ਨਿਯੰਤਰਣ ਪਾਓ ਕਿ ਸਕ੍ਰਿਨ ਕਿਵੇਂ ਅਤੇ ਕਦੋਂ ਲੌਕ ਹੁੰਦੀ ਹੈ।"</string>
+ <string name="policylab_wipeData" msgid="3910545446758639713">"ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ"</string>
+ <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਟੈਬਲੇਟ ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ TV ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਫੋਨ ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾਓ"</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਟੈਬਲੇਟ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ TV ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਫੋਨ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string>
+ <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ਡਿਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰੋ"</string>
+ <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ਜਦੋਂ ਪਾੱਲਿਸੀ ਸਮਰਥਿਤ ਹੋਵੇ ਤਾਂ ਵਰਤੇ ਜਾਣ ਲਈ ਡਿਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰੋ। ਕੇਵਲ ਡਿਵਾਈਸ ਮਾਲਡ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="policylab_expirePassword" msgid="5610055012328825874">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡ ਸਮਾਪਤੀ ਮਿਆਦ ਸੈਟ ਕਰੋ"</string>
+ <string name="policydesc_expirePassword" msgid="5367525762204416046">"ਇਸ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ਕਿ ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡ, PIN ਜਾਂ ਪੈਟਰਨ ਨੂੰ ਕਿੰਨੀ ਵਾਰ ਬਦਲਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+ <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ਸਟੋਰੇਜ ਐਨਕ੍ਰਿਪਸ਼ਨ ਸੈਟ ਕਰੋ"</string>
+ <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ਲੋੜ ਹੈ ਕਿ ਸਟੋਰ ਕੀਤਾ ਐਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਏ।"</string>
+ <string name="policylab_disableCamera" msgid="6395301023152297826">"ਕੈਮਰੇ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+ <string name="policydesc_disableCamera" msgid="2306349042834754597">"ਸਾਰੇ ਡਿਵਾਈਸ ਕੈਮਰਿਆਂ ਦੀ ਵਰਤੋਂ ਰੋਕੋ।"</string>
+ <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"ਸਕ੍ਰੀਨ ਲੌਕ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+ <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"ਸਕ੍ਰੀਨ ਲੌਕ ਦੀਆਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਰੋਕੋ।"</string>
+ <string-array name="phoneTypes">
+ <item msgid="8901098336658710359">"ਘਰ"</item>
+ <item msgid="869923650527136615">"ਮੋਬਾਈਲ"</item>
+ <item msgid="7897544654242874543">"ਕੰਮ"</item>
+ <item msgid="1103601433382158155">"ਦਫ਼ਤਰ ਦੀ ਫੈਕਸ"</item>
+ <item msgid="1735177144948329370">"ਘਰ ਦੀ ਫੈਕਸ"</item>
+ <item msgid="603878674477207394">"ਪੇਜ਼ਰ"</item>
+ <item msgid="1650824275177931637">"ਹੋਰ"</item>
+ <item msgid="9192514806975898961">"ਕਸਟਮ"</item>
+ </string-array>
+ <string-array name="emailAddressTypes">
+ <item msgid="8073994352956129127">"ਘਰ"</item>
+ <item msgid="7084237356602625604">"ਕੰਮ"</item>
+ <item msgid="1112044410659011023">"ਹੋਰ"</item>
+ <item msgid="2374913952870110618">"ਕਸਟਮ"</item>
+ </string-array>
+ <string-array name="postalAddressTypes">
+ <item msgid="6880257626740047286">"ਘਰ"</item>
+ <item msgid="5629153956045109251">"ਕੰਮ"</item>
+ <item msgid="4966604264500343469">"ਹੋਰ"</item>
+ <item msgid="4932682847595299369">"ਕਸਟਮ"</item>
+ </string-array>
+ <string-array name="imAddressTypes">
+ <item msgid="1738585194601476694">"ਘਰ"</item>
+ <item msgid="1359644565647383708">"ਕੰਮ"</item>
+ <item msgid="7868549401053615677">"ਹੋਰ"</item>
+ <item msgid="3145118944639869809">"ਕਸਟਮ"</item>
+ </string-array>
+ <string-array name="organizationTypes">
+ <item msgid="7546335612189115615">"ਕੰਮ"</item>
+ <item msgid="4378074129049520373">"ਹੋਰ"</item>
+ <item msgid="3455047468583965104">"ਕਸਟਮ"</item>
+ </string-array>
+ <string-array name="imProtocols">
+ <item msgid="8595261363518459565">"AIM"</item>
+ <item msgid="7390473628275490700">"Windows Live"</item>
+ <item msgid="7882877134931458217">"Yahoo"</item>
+ <item msgid="5035376313200585242">"Skype"</item>
+ <item msgid="7532363178459444943">"QQ"</item>
+ <item msgid="3713441034299660749">"Google Talk"</item>
+ <item msgid="2506857312718630823">"ICQ"</item>
+ <item msgid="1648797903785279353">"Jabber"</item>
+ </string-array>
+ <string name="phoneTypeCustom" msgid="1644738059053355820">"ਕਸਟਮ"</string>
+ <string name="phoneTypeHome" msgid="2570923463033985887">"ਘਰ"</string>
+ <string name="phoneTypeMobile" msgid="6501463557754751037">"ਮੋਬਾਈਲ"</string>
+ <string name="phoneTypeWork" msgid="8863939667059911633">"ਕੰਮ"</string>
+ <string name="phoneTypeFaxWork" msgid="3517792160008890912">"ਦਫ਼ਤਰ ਦੀ ਫੈਕਸ"</string>
+ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"ਘਰ ਦੀ ਫੈਕਸ"</string>
+ <string name="phoneTypePager" msgid="7582359955394921732">"ਪੇਜ਼ਰ"</string>
+ <string name="phoneTypeOther" msgid="1544425847868765990">"ਹੋਰ"</string>
+ <string name="phoneTypeCallback" msgid="2712175203065678206">"ਕਾਲਬੈਕ ਕਰੋ"</string>
+ <string name="phoneTypeCar" msgid="8738360689616716982">"ਕਾਰ"</string>
+ <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ਕੰਪਨੀ ਮੇਨ"</string>
+ <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
+ <string name="phoneTypeMain" msgid="6766137010628326916">"ਮੁੱਖ"</string>
+ <string name="phoneTypeOtherFax" msgid="8587657145072446565">"ਹੋਰ ਫੈਕਸ"</string>
+ <string name="phoneTypeRadio" msgid="4093738079908667513">"ਰੇਡੀਓ"</string>
+ <string name="phoneTypeTelex" msgid="3367879952476250512">"ਟੈਲੈਕਸ"</string>
+ <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
+ <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"ਦਫ਼ਤਰ ਦਾ ਮੋਬਾਈਲ"</string>
+ <string name="phoneTypeWorkPager" msgid="649938731231157056">"ਦਫ਼ਤਰ ਦਾ ਪੇਜਰ"</string>
+ <string name="phoneTypeAssistant" msgid="5596772636128562884">"ਸਹਾਇਕ"</string>
+ <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
+ <string name="eventTypeCustom" msgid="7837586198458073404">"ਕਸਟਮ"</string>
+ <string name="eventTypeBirthday" msgid="2813379844211390740">"ਜਨਮਦਿਨ"</string>
+ <string name="eventTypeAnniversary" msgid="3876779744518284000">"ਵਰ੍ਹੇਗੰਢ"</string>
+ <string name="eventTypeOther" msgid="7388178939010143077">"ਹੋਰ"</string>
+ <string name="emailTypeCustom" msgid="8525960257804213846">"ਕਸਟਮ"</string>
+ <string name="emailTypeHome" msgid="449227236140433919">"ਘਰ"</string>
+ <string name="emailTypeWork" msgid="3548058059601149973">"ਕੰਮ"</string>
+ <string name="emailTypeOther" msgid="2923008695272639549">"ਹੋਰ"</string>
+ <string name="emailTypeMobile" msgid="119919005321166205">"ਮੋਬਾਈਲ"</string>
+ <string name="postalTypeCustom" msgid="8903206903060479902">"ਕਸਟਮ"</string>
+ <string name="postalTypeHome" msgid="8165756977184483097">"ਘਰ"</string>
+ <string name="postalTypeWork" msgid="5268172772387694495">"ਕੰਮ"</string>
+ <string name="postalTypeOther" msgid="2726111966623584341">"ਹੋਰ"</string>
+ <string name="imTypeCustom" msgid="2074028755527826046">"ਕਸਟਮ"</string>
+ <string name="imTypeHome" msgid="6241181032954263892">"ਘਰ"</string>
+ <string name="imTypeWork" msgid="1371489290242433090">"ਕੰਮ"</string>
+ <string name="imTypeOther" msgid="5377007495735915478">"ਹੋਰ"</string>
+ <string name="imProtocolCustom" msgid="6919453836618749992">"ਕਸਟਮ"</string>
+ <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string>
+ <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string>
+ <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string>
+ <string name="imProtocolSkype" msgid="9019296744622832951">"Skype"</string>
+ <string name="imProtocolQq" msgid="8887484379494111884">"QQ"</string>
+ <string name="imProtocolGoogleTalk" msgid="493902321140277304">"ਹੈਂਗਆਊਟਸ"</string>
+ <string name="imProtocolIcq" msgid="1574870433606517315">"ICQ"</string>
+ <string name="imProtocolJabber" msgid="2279917630875771722">"Jabber"</string>
+ <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string>
+ <string name="orgTypeWork" msgid="29268870505363872">"ਕੰਮ"</string>
+ <string name="orgTypeOther" msgid="3951781131570124082">"ਹੋਰ"</string>
+ <string name="orgTypeCustom" msgid="225523415372088322">"ਕਸਟਮ"</string>
+ <string name="relationTypeCustom" msgid="3542403679827297300">"ਕਸਟਮ"</string>
+ <string name="relationTypeAssistant" msgid="6274334825195379076">"ਸਹਾਇਕ"</string>
+ <string name="relationTypeBrother" msgid="8757913506784067713">"ਭਰਾ"</string>
+ <string name="relationTypeChild" msgid="1890746277276881626">"ਬੱਚਾ"</string>
+ <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"ਦੇਸੀ ਪਾਰਟਨਰ"</string>
+ <string name="relationTypeFather" msgid="5228034687082050725">"ਪਿਤਾ"</string>
+ <string name="relationTypeFriend" msgid="7313106762483391262">"ਦੋਸਤ"</string>
+ <string name="relationTypeManager" msgid="6365677861610137895">"ਪ੍ਰਬੰਧਕ"</string>
+ <string name="relationTypeMother" msgid="4578571352962758304">"ਮਾਤਾ"</string>
+ <string name="relationTypeParent" msgid="4755635567562925226">"ਮਾਤਾ-ਪਿਤਾ"</string>
+ <string name="relationTypePartner" msgid="7266490285120262781">"ਪਾਰਟਨਰ"</string>
+ <string name="relationTypeReferredBy" msgid="101573059844135524">"ਵੱਲੋਂ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ"</string>
+ <string name="relationTypeRelative" msgid="1799819930085610271">"ਰਿਸ਼ਤੇਦਾਰ"</string>
+ <string name="relationTypeSister" msgid="1735983554479076481">"ਭੈਣ"</string>
+ <string name="relationTypeSpouse" msgid="394136939428698117">"ਜੀਵਨਸਾਥੀ"</string>
+ <string name="sipAddressTypeCustom" msgid="2473580593111590945">"ਕਸਟਮ"</string>
+ <string name="sipAddressTypeHome" msgid="6093598181069359295">"ਘਰ"</string>
+ <string name="sipAddressTypeWork" msgid="6920725730797099047">"ਕੰਮ"</string>
+ <string name="sipAddressTypeOther" msgid="4408436162950119849">"ਹੋਰ"</string>
+ <string name="quick_contacts_not_available" msgid="746098007828579688">"ਇਸ ਸੰਪਰਕ ਨੂੰ ਦੇਖਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਮਿਲੇ।"</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN ਕੋਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK ਅਤੇ ਨਵਾਂ PIN ਕੋਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK ਕੋਡ"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"ਨਵਾਂ PIN ਕੋਡ"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"ਪਾਸਵਰਡ ਟਾਈਪ ਕਰਨ ਲਈ ਛੋਹਵੋ"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"ਅਨਲੌਕ ਕਰਨ ਲਈ PIN ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ਗ਼ਲਤ PIN ਕੋਡ।"</string>
+ <string name="keyguard_label_text" msgid="861796461028298424">"ਅਨਲੌਕ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਮੀਨੂ ਫਿਰ 0 ਦਬਾਓ।"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="696192103195090970">"ਐਮਰਜੈਂਸੀ ਨੰਬਰ"</string>
+ <string name="lockscreen_carrier_default" msgid="8963839242565653192">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ।"</string>
+ <string name="lockscreen_screen_locked" msgid="7288443074806832904">"ਸਕ੍ਰੀਨ ਲੌਕ ਕੀਤੀ।"</string>
+ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ ਜਾਂ ਐਮਰਜੈਂਸੀ ਕਾਲ ਕਰੋ।"</string>
+ <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ।"</string>
+ <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string>
+ <string name="lockscreen_emergency_call" msgid="5298642613417801888">"ਅਪਾਤਕਾਲ"</string>
+ <string name="lockscreen_return_to_call" msgid="5244259785500040021">"ਕਾਲ ਤੇ ਵਾਪਸ ਜਾਓ"</string>
+ <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"ਸਹੀ!"</string>
+ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="lockscreen_password_wrong" msgid="5737815393253165301">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="faceunlock_multiple_failures" msgid="754137583022792429">"ਅਧਿਕਤਮ ਚਿਹਰਾ ਅਨਲੌਕ ਕੋਸ਼ਿਸ਼ਾਂ ਵਧੀਆਂ"</string>
+ <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ"</string>
+ <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"ਟੈਬਲੇਟ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string>
+ <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"TV ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string>
+ <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"ਫੋਨ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string>
+ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string>
+ <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"SIM ਕਾਰਡ ਲੁਪਤ ਹੈ ਜਾਂ ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ। ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string>
+ <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"ਨਾਵਰਤਣਯੋਗ SIM ਕਾਰਡ।"</string>
+ <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"ਪਿਛਲਾ ਟਰੈਕ"</string>
+ <string name="lockscreen_transport_next_description" msgid="573285210424377338">"ਅਗਲਾ ਟਰੈਕ"</string>
+ <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"ਰੋਕੋ"</string>
+ <string name="lockscreen_transport_play_description" msgid="1901258823643886401">"ਪਲੇ ਕਰੋ"</string>
+ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"ਰੋਕੋ"</string>
+ <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"ਰੀਵਾਈਂਡ ਕਰੋ"</string>
+ <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"ਅੱਗੇ ਭੇਜੋ"</string>
+ <string name="emergency_calls_only" msgid="6733978304386365407">"ਕੇਵਲ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ"</string>
+ <string name="lockscreen_network_locked_message" msgid="143389224986028501">"ਨੈਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string>
+ <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"SIM ਕਾਰਡ PUK-ਲੌਕਡ ਹੈ।"</string>
+ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"ਉਪਭੋਗਤਾ ਗਾਈਡ ਦੇਖੋ ਜਾਂ ਗਾਹਕ ਸੇਵਾ ਨੂੰ ਫੋਨ ਕਰੋ।"</string>
+ <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"SIM ਕਾਰਡ ਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
+ <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਪਾਸਵਰਡ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"ਤੁਸੀਂ ਆਪਣਾ PIN <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ। \n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ TV ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੌਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ।"</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"ਕੀ ਪੈਟਰਨ ਭੁੱਲ ਗਏ?"</string>
+ <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"ਖਾਤਾ ਅਨਲੌਕ"</string>
+ <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string>
+ <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"ਅਨਲੌਕ ਕਰਨ ਲਈ, ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰੋ।"</string>
+ <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"ਉਪਭੋਗਤਾ ਨਾਮ (ਈਮੇਲ)"</string>
+ <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"ਪਾਸਵਰਡ"</string>
+ <string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"ਸਾਈਨ ਇਨ ਕਰੋ"</string>
+ <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"ਅਪ੍ਰਮਾਣਿਕ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string>
+ <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string>
+ <string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="lockscreen_unlock_label" msgid="737440483220667054">"ਅਨਲੌਕ ਕਰੋ"</string>
+ <string name="lockscreen_sound_on_label" msgid="9068877576513425970">"ਅਵਾਜ਼ ਚਾਲੂ"</string>
+ <string name="lockscreen_sound_off_label" msgid="996822825154319026">"ਅਵਾਜ਼ ਬੰਦ"</string>
+ <string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"ਪੈਟਰਨ ਚਾਲੂ ਕੀਤਾ"</string>
+ <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"ਪੈਟਰਨ ਹਟਾਇਆ ਗਿਆ"</string>
+ <string name="lockscreen_access_pattern_cell_added" msgid="6756031208359292487">"ਸੈਲ ਜੋੜਿਆ ਗਿਆ"</string>
+ <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"ਪੈਟਰਨ ਪੂਰਾ ਕੀਤਾ"</string>
+ <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s। %3$d ਦਾ ਵਿਜੇਟ %2$d।"</string>
+ <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"ਵਿਜੇਟ ਜੋੜੋ।"</string>
+ <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"ਖਾਲੀ"</string>
+ <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"ਅਨਲੌਕ ਖੇਤਰ ਦਾ ਵਿਸਤਾਰ ਕੀਤਾ।"</string>
+ <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"ਅਨਲੌਕ ਖੇਤਰ ਨਸ਼ਟ ਕੀਤਾ।"</string>
+ <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> ਵਿਜੇਟ।"</string>
+ <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"ਉਪਭੋਗਤਾ ਚੋਣਕਾਰ"</string>
+ <string name="keyguard_accessibility_status" msgid="8008264603935930611">"ਸਥਿਤੀ"</string>
+ <string name="keyguard_accessibility_camera" msgid="8904231194181114603">"ਕੈਮਰਾ"</string>
+ <string name="keygaurd_accessibility_media_controls" msgid="262209654292161806">"ਮੀਡੀਆ ਨਿਯੰਤਰਣ"</string>
+ <string name="keyguard_accessibility_widget_reorder_start" msgid="8736853615588828197">"ਵਿਜੇਟ ਨੂੰ ਪੁਨਰ ਤਰਤੀਬ ਦੇਣਾ ਸ਼ੁਰੂ ਹੋਇਆ।"</string>
+ <string name="keyguard_accessibility_widget_reorder_end" msgid="7170190950870468320">"ਵਿਜੇਟ ਨੂੰ ਪੁਨਰ ਤਰਤੀਬ ਦੇਣਾ ਖ਼ਤਮ ਹੋਇਆ।"</string>
+ <string name="keyguard_accessibility_widget_deleted" msgid="4426204263929224434">"ਵਿਜੇਟ <xliff:g id="WIDGET_INDEX">%1$s</xliff:g> ਮਿਟਾਇਆ।"</string>
+ <string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"ਅਨਲੌਕ ਖੇਤਰ ਦਾ ਵਿਸਤਾਰ ਕਰੋ।"</string>
+ <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"ਅਨਲੌਕ ਸਲਾਈਡ ਕਰੋ।"</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"ਪੈਟਰਨ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ਚਿਹਰਾ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"ਪਾਸਵਰਡ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"ਪੈਟਰਨ ਖੇਤਰ।"</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"ਖੇਤਰ ਸਲਾਈਡ ਕਰੋ।"</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="granularity_label_character" msgid="7336470535385009523">"ਅੱਖਰ"</string>
+ <string name="granularity_label_word" msgid="7075570328374918660">"ਸ਼ਬਦ"</string>
+ <string name="granularity_label_link" msgid="5815508880782488267">"ਲਿੰਕ"</string>
+ <string name="granularity_label_line" msgid="5764267235026120888">"ਲਾਈਨ"</string>
+ <string name="hour_ampm" msgid="4584338083529355982">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%P</xliff:g>"</string>
+ <string name="hour_cap_ampm" msgid="2083465992940444366">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%p</xliff:g>"</string>
+ <string name="factorytest_failed" msgid="5410270329114212041">"ਫੈਕਟਰੀ ਜਾਂਚ ਅਸਫਲ"</string>
+ <string name="factorytest_not_system" msgid="4435201656767276723">"FACTORY_TEST ਕਿਰਿਆ ਕੇਵਲ /ਸਿਸਟਮ/ਐਪ ਵਿੱਚ ਇੰਸਟੌਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਲਈ ਸਮਰਥਿਤ ਹੈ।"</string>
+ <string name="factorytest_no_action" msgid="872991874799998561">"ਅਜਿਹਾ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਿਆ ਜੋ FACTORY_TEST ਕਿਰਿਆ ਮੁਹੱਈਆ ਕਰਦਾ ਹੈ।"</string>
+ <string name="factorytest_reboot" msgid="6320168203050791643">"ਰੀਬੂਟ ਕਰੋ"</string>
+ <string name="js_dialog_title" msgid="1987483977834603872">"\"<xliff:g id="TITLE">%s</xliff:g>\" ਤੇ ਸਫ਼ੇ ਦੇ ਮੁਤਾਬਕ:"</string>
+ <string name="js_dialog_title_default" msgid="6961903213729667573">"JavaScript"</string>
+ <string name="js_dialog_before_unload_title" msgid="2619376555525116593">"ਨੈਵੀਗੇਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="js_dialog_before_unload_positive_button" msgid="3112752010600484130">"ਇਹ ਸਫ਼ਾ ਛੱਡੋ"</string>
+ <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"ਇਸ ਸ਼ਫ਼ੇ ਤੇ ਰਹੋ"</string>
+ <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ ਤੇ ਇਸ ਪੇਜ ਤੋਂ ਦੂਰ ਨੈਵੀਗੇਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="save_password_label" msgid="6860261758665825069">"ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="double_tap_toast" msgid="4595046515400268881">"ਸੁਝਾਅ: ਜ਼ੂਮ ਇਨ ਅਤੇ ਆਊਟ ਕਰਨ ਲਈ ਡਬਲ-ਟੈਪ ਕਰੋ।"</string>
+ <string name="autofill_this_form" msgid="4616758841157816676">"ਆਟੋਫਿਲ"</string>
+ <string name="setup_autofill" msgid="7103495070180590814">"ਆਟੋਫਿਲ ਸੈਟ ਅਪ ਕਰੋ"</string>
+ <string name="autofill_address_name_separator" msgid="6350145154779706772">" "</string>
+ <string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
+ <string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
+ <string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
+ <string name="autofill_province" msgid="2231806553863422300">"ਸੂਬਾ"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"ਡਾਕ ਕੋਡ"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"ਰਾਜ"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"ਜ਼ਿੱਪ ਕੋਡ"</string>
+ <string name="autofill_county" msgid="237073771020362891">"ਕਾਉਂਟੀ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"ਟਾਪੂ"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"ਜ਼ਿਲ੍ਹਾ"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"ਵਿਭਾਗ"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"ਪ੍ਰੀਫੈਕਚਰ"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"ਪੈਰਿਸ਼"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"ਖੇਤਰ"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"ਅਮੀਰਾਤ"</string>
+ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"ਆਪਣੇ ਵੈਬ ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਇਤਿਹਾਸ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"ਐਪ ਨੂੰ ਸਾਰੇ URL ਜਿਹਨਾਂ ਤੇ ਬ੍ਰਾਊਜ਼ਰ ਨੇ ਵਿਜਿਟ ਕੀਤਾ ਹੈ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਸਾਰੇ ਬੁੱਕਮਾਰਕਸ, ਦਾ ਇਤਿਹਾਸ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਵਾਲੇ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"ਵੈਬ ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਇਤਿਹਾਸ ਲਿਖੋ"</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string>
+ <string name="permlab_setAlarm" msgid="1379294556362091814">"ਇੱਕ ਅਲਾਰਮ ਸੈਟ ਕਰੋ"</string>
+ <string name="permdesc_setAlarm" msgid="316392039157473848">"ਐਪ ਨੂੰ ਇੱਕ ਇੰਸਟੌਲ ਕੀਤੀ ਅਲਾਰਮ ਘੜੀ ਐਪ ਵਿੱਚ ਇੱਕ ਅਲਾਰਮ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਕੁਝ ਅਲਾਰਮ ਘੜੀ ਐਪਲ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਲਾਗੂ ਨਹੀਂ ਵੀ ਕਰ ਸਕਦੇ।"</string>
+ <string name="permlab_addVoicemail" msgid="5525660026090959044">"ਵੌਇਸਮੇਲ ਜੋੜੋ"</string>
+ <string name="permdesc_addVoicemail" msgid="6604508651428252437">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਵੌਇਸਮੇਲ ਇਨਬੌਕਸ ਵਿੱਚ ਸੁਨੇਹੇ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"ਬ੍ਰਾਊਜ਼ਰ ਜਿਓਲੋਕੇਸ਼ਨ ਅਨੁਮਤੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string>
+ <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਜਿਓਲੋਕੇਸ਼ਨ ਅਨੁਮਤੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਆਰਬਿਟਰੇਰੀ ਵੈਬ ਸਾਈਟਾਂ ਨੂੰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਜਾਣਕਾਰੀ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string>
+ <string name="save_password_message" msgid="767344687139195790">"ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਇਹ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੇ?"</string>
+ <string name="save_password_notnow" msgid="6389675316706699758">"ਹੁਣ ਨਹੀਂ"</string>
+ <string name="save_password_remember" msgid="6491879678996749466">"ਯਾਦ ਰੱਖੋ"</string>
+ <string name="save_password_never" msgid="8274330296785855105">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
+ <string name="open_permission_deny" msgid="7374036708316629800">"ਤੁਹਾਨੂੰ ਇਸ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਅਨੁਮਤੀ ਨਹੀਂ ਹੈ।"</string>
+ <string name="text_copied" msgid="4985729524670131385">"ਟੈਕਸਟ ਕਲਿਪਬੋਰਡ ਤੇ ਕਾਪੀ ਕੀਤਾ।"</string>
+ <string name="more_item_label" msgid="4650918923083320495">"ਹੋਰ"</string>
+ <string name="prepend_shortcut_label" msgid="2572214461676015642">"ਮੀਨੂ+"</string>
+ <string name="menu_space_shortcut_label" msgid="2410328639272162537">"ਸਪੇਸ"</string>
+ <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"ਦਰਜ ਕਰੋ"</string>
+ <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"ਮਿਟਾਓ"</string>
+ <string name="search_go" msgid="8298016669822141719">"ਖੋਜੋ"</string>
+ <string name="search_hint" msgid="1733947260773056054">"ਖੋਜ…"</string>
+ <string name="searchview_description_search" msgid="6749826639098512120">"ਖੋਜੋ"</string>
+ <string name="searchview_description_query" msgid="5911778593125355124">"ਸਵਾਲ ਖੋਜੋ"</string>
+ <string name="searchview_description_clear" msgid="1330281990951833033">"ਸਵਾਲ ਹਟਾਓ"</string>
+ <string name="searchview_description_submit" msgid="2688450133297983542">"ਸਵਾਲ ਪ੍ਰਸਤੁਤ ਕਰੋ"</string>
+ <string name="searchview_description_voice" msgid="2453203695674994440">"ਵੌਇਸ ਖੋਜ"</string>
+ <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"ਕੀ ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਹੈ?"</string>
+ <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> ਐਕਪਲੋਰ ਬਾਇ ਟਚ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਬਾਰੇ ਵੇਰਵੇ ਸੁਣ ਜਾਂ ਦੇਖ ਸਕਦੇ ਹੋ ਤਿ ਤੁਹਾਡੀ ਉਂਗਲੀ ਦੇ ਹੇਠਾਂ ਕੀ ਹੈ ਜਾਂ ਟੈਬਲੇਟ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਸੰਕੇਤ ਪਰਫੌਰਮ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> ਐਕਪਲੋਰ ਬਾਇ ਟਚ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਬਾਰੇ ਵੇਰਵੇ ਸੁਣ ਜਾਂ ਦੇਖ ਸਕਦੇ ਹੋ ਤਿ ਤੁਹਾਡੀ ਉਂਗਲੀ ਦੇ ਹੇਠਾਂ ਕੀ ਹੈ ਜਾਂ ਫੋਨ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਸੰਕੇਤ ਪਰਫੌਰਮ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="oneMonthDurationPast" msgid="7396384508953779925">"1 ਮਹੀਨੇ ਪਹਿਲਾਂ"</string>
+ <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"1 ਮਹੀਨਾ ਪਹਿਲਾਂ ਤੋਂ ਪਹਿਲਾਂ"</string>
+ <plurals name="last_num_days" formatted="false" msgid="5104533550723932025">
+ <item quantity="one">ਪਿਛਲੇ<xliff:g id="COUNT_1">%d</xliff:g> ਦਿਨਾਂ ਵਿੱਚ</item>
+ <item quantity="other">ਪਿਛਲੇ <xliff:g id="COUNT_1">%d</xliff:g> ਦਿਨਾਂ ਵਿੱਚ</item>
+ </plurals>
+ <string name="last_month" msgid="3959346739979055432">"ਪਿਛਲੇ ਮਹੀਨੇ"</string>
+ <string name="older" msgid="5211975022815554840">"ਪੁਰਾਣੇ"</string>
+ <string name="preposition_for_date" msgid="9093949757757445117">"<xliff:g id="DATE">%s</xliff:g> ਨੂੰ"</string>
+ <string name="preposition_for_time" msgid="5506831244263083793">"<xliff:g id="TIME">%s</xliff:g> ਵਜੇ"</string>
+ <string name="preposition_for_year" msgid="5040395640711867177">"<xliff:g id="YEAR">%s</xliff:g> ਵਿੱਚ"</string>
+ <string name="day" msgid="8144195776058119424">"ਦਿਨ"</string>
+ <string name="days" msgid="4774547661021344602">"ਦਿਨ"</string>
+ <string name="hour" msgid="2126771916426189481">"ਘੰਟਾ"</string>
+ <string name="hours" msgid="894424005266852993">"ਘੰਟੇ"</string>
+ <string name="minute" msgid="9148878657703769868">"ਮਿੰਟ"</string>
+ <string name="minutes" msgid="5646001005827034509">"ਮਿੰਟ"</string>
+ <string name="second" msgid="3184235808021478">"ਸਕਿੰਟ"</string>
+ <string name="seconds" msgid="3161515347216589235">"ਸਕਿੰਟ"</string>
+ <string name="week" msgid="5617961537173061583">"ਹਫਤਾ"</string>
+ <string name="weeks" msgid="6509623834583944518">"ਹਫਤੇ"</string>
+ <string name="year" msgid="4001118221013892076">"ਸਾਲ"</string>
+ <string name="years" msgid="6881577717993213522">"ਸਾਲ"</string>
+ <plurals name="duration_seconds" formatted="false" msgid="4527986939729687805">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਸਕਿੰਟ</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਸਕਿੰਟ</item>
+ </plurals>
+ <plurals name="duration_minutes" formatted="false" msgid="643786953939956125">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਮਿੰਟ</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਮਿੰਟ</item>
+ </plurals>
+ <plurals name="duration_hours" formatted="false" msgid="6826233369186668274">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਘੰਟੇ</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਘੰਟੇ</item>
+ </plurals>
+ <string name="VideoView_error_title" msgid="3534509135438353077">"ਵੀਡੀਓ ਸਮੱਸਿਆ"</string>
+ <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"ਇਹ ਵੀਡੀਓ ਇਸ ਡਿਵਾਈਸ ਤੇ ਸਟ੍ਰੀਮਿੰਗ ਲਈ ਪ੍ਰਮਾਣਿਕ ਨਹੀਂ ਹੈ।"</string>
+ <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"ਇਹ ਵੀਡੀਓ ਪਲੇ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+ <string name="VideoView_error_button" msgid="2822238215100679592">"ਠੀਕ"</string>
+ <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
+ <string name="noon" msgid="7245353528818587908">"ਦੁਪਹਿਰ"</string>
+ <string name="Noon" msgid="3342127745230013127">"ਦੁਪਹਿਰ"</string>
+ <string name="midnight" msgid="7166259508850457595">"ਅੱਧੀ ਰਾਤ"</string>
+ <string name="Midnight" msgid="5630806906897892201">"ਅੱਧੀ ਰਾਤ"</string>
+ <string name="elapsed_time_short_format_mm_ss" msgid="4431555943828711473">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
+ <string name="elapsed_time_short_format_h_mm_ss" msgid="1846071997616654124">"<xliff:g id="HOURS">%1$d</xliff:g>:<xliff:g id="MINUTES">%2$02d</xliff:g>:<xliff:g id="SECONDS">%3$02d</xliff:g>"</string>
+ <string name="selectAll" msgid="6876518925844129331">"ਸਾਰੇ ਚੁਣੋ"</string>
+ <string name="cut" msgid="3092569408438626261">"ਕੱਟੋ"</string>
+ <string name="copy" msgid="2681946229533511987">"ਕਾਪੀ ਕਰੋ"</string>
+ <string name="paste" msgid="5629880836805036433">"ਪੇਸਟ ਕਰੋ"</string>
+ <string name="replace" msgid="5781686059063148930">"ਬਦਲੋ…"</string>
+ <string name="delete" msgid="6098684844021697789">"ਮਿਟਾਓ"</string>
+ <string name="copyUrl" msgid="2538211579596067402">"URL ਕਾਪੀ ਕਰੋ"</string>
+ <string name="selectTextMode" msgid="1018691815143165326">"ਟੈਕਸਟ ਚੁਣੋ"</string>
+ <string name="textSelectionCABTitle" msgid="5236850394370820357">"ਟੈਕਸਟ ਚੋਣ"</string>
+ <string name="addToDictionary" msgid="4352161534510057874">"ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਜੋੜੋ"</string>
+ <string name="deleteText" msgid="6979668428458199034">"ਮਿਟਾਓ"</string>
+ <string name="inputMethod" msgid="1653630062304567879">"ਇਨਪੁਟ ਵਿਧੀ"</string>
+ <string name="editTextMenuTitle" msgid="4909135564941815494">"ਟੈਕਸਟ ਕਿਰਿਆਵਾਂ"</string>
+ <string name="low_internal_storage_view_title" msgid="5576272496365684834">"ਸਟੋਰੇਜ ਸਪੇਸ ਖ਼ਤਮ ਹੋ ਰਿਹਾ ਹੈ"</string>
+ <string name="low_internal_storage_view_text" msgid="6640505817617414371">"ਕੁਝ ਸਿਸਟਮ ਫੰਕਸ਼ਨ ਕੰਮ ਨਹੀਂ ਵੀ ਕਰ ਸਕਦੇ"</string>
+ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"ਸਿਸਟਮ ਲਈ ਪੂਰੀ ਸਟੋਰੇਜ ਨਹੀਂ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ 250MB ਖਾਲੀ ਸਪੇਸ ਹੈ ਅਤੇ ਰੀਸਟਾਰਟ ਕਰੋ।"</string>
+ <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਚੱਲ ਰਿਹਾ ਹੈ"</string>
+ <string name="app_running_notification_text" msgid="4653586947747330058">"ਹੋਰ ਜਾਣਕਾਰੀ ਜਾਂ ਐਪ ਬੰਦ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="ok" msgid="5970060430562524910">"ਠੀਕ"</string>
+ <string name="cancel" msgid="6442560571259935130">"ਰੱਦ ਕਰੋ"</string>
+ <string name="yes" msgid="5362982303337969312">"ਠੀਕ"</string>
+ <string name="no" msgid="5141531044935541497">"ਰੱਦ ਕਰੋ"</string>
+ <string name="dialog_alert_title" msgid="2049658708609043103">"ਧਿਆਨ ਦਿਓ"</string>
+ <string name="loading" msgid="7933681260296021180">"ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ..."</string>
+ <string name="capital_on" msgid="1544682755514494298">"ਚਾਲੂ"</string>
+ <string name="capital_off" msgid="6815870386972805832">"ਬੰਦ"</string>
+ <string name="whichApplication" msgid="4533185947064773386">"ਇਸਨੂੰ ਵਰਤਦੇ ਹੋਏ ਕਿਰਿਆ ਪੂਰੀ ਕਰੋ"</string>
+ <string name="whichApplicationNamed" msgid="8260158865936942783">"%1$s ਵਰਤਦੇ ਹੋਏ ਕਿਰਿਆ ਪੂਰੀ ਕਰੋ"</string>
+ <string name="whichViewApplication" msgid="3272778576700572102">"ਨਾਲ ਖੋਲ੍ਹੋ"</string>
+ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"%1$s ਨਾਲ ਖੋਲ੍ਹੋ"</string>
+ <string name="whichEditApplication" msgid="144727838241402655">"ਨਾਲ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+ <string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s ਨਾਲ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+ <string name="whichSendApplication" msgid="6902512414057341668">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="whichHomeApplication" msgid="4307587691506919691">"ਇੱਕ ਹੋਮ ਐਪ ਚੁਣੋ"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"ਘਰ ਦੇ ਤੌਰ ਤੇ %1$s ਨੂੰ ਵਰਤੋ"</string>
+ <string name="alwaysUse" msgid="4583018368000610438">"ਇਸ ਕਿਰਿਆ ਲਈ ਬਾਇ ਡਿਫੌਲਟ ਵਰਤੋ।"</string>
+ <string name="use_a_different_app" msgid="8134926230585710243">"ਇੱਕ ਵੱਖਰਾ ਖਾਤਾ ਵਰਤੋ"</string>
+ <string name="clearDefaultHintMsg" msgid="3252584689512077257">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ > ਐਪਸ > ਡਾਊਨਲੋਡ ਕੀਤਿਆਂ ਵਿੱਚ ਡਿਫੌਲਟ ਹਟਾਓ।"</string>
+ <string name="chooseActivity" msgid="7486876147751803333">"ਇੱਕ ਕਿਰਿਆ ਚੁਣੋ"</string>
+ <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ਡਿਵਾਈਸ ਲਈ ਇੱਕ ਐਪ ਚੁਣੋ"</string>
+ <string name="noApplications" msgid="2991814273936504689">"ਕੋਈ ਐਪਸ ਇਸ ਕਿਰਿਆ ਨੂੰ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
+ <string name="aerr_title" msgid="1905800560317137752"></string>
+ <string name="aerr_application" msgid="932628488013092776">"ਅਫ਼਼ਸੋਸ ਨਾਲ, <xliff:g id="APPLICATION">%1$s</xliff:g> ਰੁਕ ਗਈ ਹੈ।"</string>
+ <string name="aerr_process" msgid="4507058997035697579">"ਅਫ਼਼ਸੋਸ ਨਾਲ, ਪ੍ਰਕਿਰਿਆ <xliff:g id="PROCESS">%1$s</xliff:g> ਰੁਕ ਗਈ ਹੈ।"</string>
+ <string name="anr_title" msgid="4351948481459135709"></string>
+ <string name="anr_activity_application" msgid="1904477189057199066">"<xliff:g id="APPLICATION">%2$s</xliff:g> ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਿਹਾ ਹੈ।\n\nਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="anr_activity_process" msgid="5776209883299089767">"ਗਤੀਵਿਧੀ <xliff:g id="ACTIVITY">%1$s</xliff:g> ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।\n\nਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="anr_application_process" msgid="8941757607340481057">"<xliff:g id="APPLICATION">%1$s</xliff:g> ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="anr_process" msgid="6513209874880517125">"ਪ੍ਰਕਿਰਿਆ <xliff:g id="PROCESS">%1$s</xliff:g> ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।\n\nਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="force_close" msgid="8346072094521265605">"ਠੀਕ"</string>
+ <string name="report" msgid="4060218260984795706">"ਰਿਪੋਰਟ ਕਰੋ"</string>
+ <string name="wait" msgid="7147118217226317732">"ਉਡੀਕ ਕਰੋ"</string>
+ <string name="webpage_unresponsive" msgid="3272758351138122503">"ਸਫ਼ਾ ਅਨਰਿਸਪੌਂਸਿਵ ਬਣ ਗਿਆ ਹੈ।\n\nਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="launch_warning_title" msgid="1547997780506713581">"ਐਪ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ"</string>
+ <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਹੁਣ ਚੱਲ ਰਿਹਾ ਹੈ।"</string>
+ <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਅਸਲ ਵਿੱਚ ਲੌਂਚ ਕੀਤਾ ਗਿਆ ਸੀ।"</string>
+ <string name="screen_compat_mode_scale" msgid="3202955667675944499">"ਸਕੇਲ"</string>
+ <string name="screen_compat_mode_show" msgid="4013878876486655892">"ਹਮੇਸ਼ਾਂ ਦਿਖਾਓ"</string>
+ <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ > ਐਪਸ > ਡਾਊਨਲੋਡ ਕੀਤਿਆਂ ਵਿੱਚ ਇਸਨੂੰ ਮੁੜ-ਸਮਰੱਥ ਬਣਾਓ।"</string>
+ <string name="smv_application" msgid="3307209192155442829">"ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> (ਪ੍ਰਕਿਰਿਆ<xliff:g id="PROCESS">%2$s</xliff:g>) ਨੇ ਆਪਣੀ ਖੁਦ-ਲਾਗੂ ਕੀਤੀ ਸਟ੍ਰਿਕਟਮੋਡ ਨੀਤੀ ਦੀ ਉਲੰਘਣਾ ਕੀਤੀ ਹੈ।"</string>
+ <string name="smv_process" msgid="5120397012047462446">"ਪ੍ਰਕਿਰਿਆ <xliff:g id="PROCESS">%1$s</xliff:g> ਨੇ ਆਪਣੀ ਖੁਦ-ਲਾਗੂ ਕੀਤੀ ਸਟ੍ਰਿਕਟਮੋਡ ਨੀਤੀ ਦੀ ਉਲੰਘਣਾ ਕੀਤੀ ਹੈ।"</string>
+ <string name="android_upgrading_title" msgid="1584192285441405746">"Android ਅਪਗ੍ਰੇਡ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="android_start_title" msgid="8418054686415318207">"Android ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="android_upgrading_fstrim" msgid="8036718871534640010">"ਸਟੋਰੇਜ ਅਨੁਕੂਲ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> <xliff:g id="NUMBER_1">%2$d</xliff:g> ਦਾ ਐਪ ਅਨੁਕੂਲ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="android_upgrading_starting_apps" msgid="451464516346926713">"ਐਪਸ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="android_upgrading_complete" msgid="1405954754112999229">"ਬੂਟ ਪੂਰਾ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> ਚੱਲ ਰਿਹਾ ਹੈ"</string>
+ <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"ਐਪ ਤੇ ਸਵਿਚ ਕਰਨ ਲਈ ਛੋਹਵੋ"</string>
+ <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"ਕੀ ਐਪਸ ਸਵਿਚ ਕਰਨੇ ਹਨ?"</string>
+ <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"ਦੂਜਾ ਐਪ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਿਹਾ ਹੈ, ਜਿਸਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੱਕ ਨਵਾਂ ਐਪ ਚਾਲੂ ਕਰ ਸਕਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਰੋਕਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+ <string name="old_app_action" msgid="493129172238566282">"<xliff:g id="OLD_APP">%1$s</xliff:g> ਤੇ ਵਾਪਸ ਜਾਓ"</string>
+ <string name="old_app_description" msgid="2082094275580358049">"ਨਵਾਂ ਐਪ ਚਾਲੂ ਨਾ ਕਰੋ।"</string>
+ <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="new_app_description" msgid="1932143598371537340">"ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਬਿਨਾਂ ਪੁਰਾਣਾ ਐਪ ਬੰਦ ਕਰੋ।"</string>
+ <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> ਦੀ ਮੈਮਰੀ ਸੀਮਾ ਵਧ ਗਈ ਹੈ"</string>
+ <string name="dump_heap_notification_detail" msgid="2075673362317481664">"ਹੀਪ ਡੰਪ ਇਕੱਤਰ ਕੀਤਾ ਗਿਆ ਹੈ; ਸ਼ੇਅਰ ਕਰਨ ਲਈ ਛੋਹਵੋ"</string>
+ <string name="dump_heap_title" msgid="5864292264307651673">"ਕੀ ਹੀਪ ਡੰਪ ਸ਼ੇਅਰ ਕਰਨਾ ਹੈ?"</string>
+ <string name="dump_heap_text" msgid="4809417337240334941">"ਪ੍ਰਕਿਰਿਆ <xliff:g id="PROC">%1$s</xliff:g> ਦੀ ਆਪਣੀ ਪ੍ਰਕਿਰਿਆ ਮੈਮਰੀ ਸੀਮਾ<xliff:g id="SIZE">%2$s</xliff:g> ਵਧ ਗਈ ਹੈ। ਇਸਦੇ ਵਿਕਾਸਕਾਰ ਨਾਲ ਸ਼ੇਅਰ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਹੀਪ ਡੰਪ ਉਪਲਬਧ ਹੈ। ਸਾਵਧਾਨ ਰਹੋ: ਇਸ ਹੀਪ ਡੰਪ ਵਿੱਚ ਤੁਹਾਡੀ ਕੋਈ ਵੀ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਸਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪਹੁੰਚ ਹੈ।"</string>
+ <string name="sendText" msgid="5209874571959469142">"ਟੈਕਸਟ ਲਈ ਇੱਕ ਕਿਰਿਆ ਚੁਣੋ"</string>
+ <string name="volume_ringtone" msgid="6885421406845734650">"ਰਿੰਗਰ ਵੌਲਯੂਮ"</string>
+ <string name="volume_music" msgid="5421651157138628171">"ਮੀਡੀਆ ਵੌਲਯੂਮ"</string>
+ <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Bluetooth ਰਾਹੀਂ ਪਲੇ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"ਸਾਈਲੈਂਟ ਰਿੰਗਟੋਨ ਸੈਟ ਕੀਤੀ"</string>
+ <string name="volume_call" msgid="3941680041282788711">"ਇਨ-ਕਾਲ ਵੌਲਯੂਮ"</string>
+ <string name="volume_bluetooth_call" msgid="2002891926351151534">"Bluetooth ਇਨ-ਕਾਲ ਵੌਲਯੂਮ"</string>
+ <string name="volume_alarm" msgid="1985191616042689100">"ਅਲਾਰਮ ਵੌਲਯੂਮ"</string>
+ <string name="volume_notification" msgid="2422265656744276715">"ਸੂਚਨਾ ਵੌਲਯੂਮ"</string>
+ <string name="volume_unknown" msgid="1400219669770445902">"ਵੌਲਯੂਮ"</string>
+ <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Bluetooth ਵੌਲਯੂਮ"</string>
+ <string name="volume_icon_description_ringer" msgid="3326003847006162496">"ਰਿੰਗਟੋਨ ਵੌਲਯੂਮ"</string>
+ <string name="volume_icon_description_incall" msgid="8890073218154543397">"ਕਾਲ ਵੌਲਯੂਮ"</string>
+ <string name="volume_icon_description_media" msgid="4217311719665194215">"ਮੀਡੀਆ ਵੌਲਯੂਮ"</string>
+ <string name="volume_icon_description_notification" msgid="7044986546477282274">"ਸੂਚਨਾ ਵੌਲਯੂਮ"</string>
+ <string name="ringtone_default" msgid="3789758980357696936">"ਡਿਫੌਲਟ ਰਿੰਗਟੋਨ"</string>
+ <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ਡਿਫੌਲਟ ਰਿੰਗਟੋਨ (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_silent" msgid="7937634392408977062">"ਕੋਈ ਨਹੀਂ"</string>
+ <string name="ringtone_picker_title" msgid="3515143939175119094">"ਰਿੰਗਟੋਨਾਂ"</string>
+ <string name="ringtone_unknown" msgid="5477919988701784788">"ਅਗਿਆਤ ਰਿੰਗਟੋਨ"</string>
+ <plurals name="wifi_available" formatted="false" msgid="7900333017752027322">
+ <item quantity="one">Wi-Fi ਨੈਟਵਰਕਸ ਉਪਲਬਧ</item>
+ <item quantity="other">Wi-Fi ਨੈਟਵਰਕਸ ਉਪਲਬਧ</item>
+ </plurals>
+ <plurals name="wifi_available_detailed" formatted="false" msgid="1140699367193975606">
+ <item quantity="one">ਉਪਲਬਧ Wi-Fi ਨੈਟਵਰਕ ਖੋਲ੍ਹੋ</item>
+ <item quantity="other">ਉਪਲਬਧ Wi-Fi ਨੈਟਵਰਕ ਖੋਲ੍ਹੋ</item>
+ </plurals>
+ <string name="wifi_available_sign_in" msgid="9157196203958866662">"Wi-Fi ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਾਈਨ ਇਨ ਕਰੋ"</string>
+ <string name="network_available_sign_in" msgid="1848877297365446605">"ਨੈਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string>
+ <!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
+ <skip />
+ <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+ <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" ਇਸਦਾ ਇੱਕ ਖ਼ਰਾਬ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਹੈ।"</string>
+ <string name="wifi_connect_alert_title" msgid="8455846016001810172">"ਕੀ ਕਨੈਕਸ਼ਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+ <string name="wifi_connect_alert_message" msgid="6451273376815958922">"ਐਪਲੀਕੇਸ਼ਨ %1$s Wifi ਨੈਟਵਰਕ %2$s ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ"</string>
+ <string name="wifi_connect_default_application" msgid="7143109390475484319">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ"</string>
+ <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi ਡਾਇਰੈਕਟ"</string>
+ <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi ਡਾਇਰੈਕਟ ਚਾਲੂ ਕਰੋ। ਇਹ Wi-Fi ਕਲਾਈਂਟ/ਹੌਟਸਪੌਟ ਨੂੰ ਬੰਦ ਕਰ ਦੇਵੇਗਾ।"</string>
+ <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi ਡਾਇਰੈਕਟ ਚਾਲੂ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi ਡਾਇਰੈਕਟ ਚਾਲੂ ਹੈ।"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"ਸੈਟਿੰਗਾਂ ਲਈ ਛੋਹਵੋ"</string>
+ <string name="accept" msgid="1645267259272829559">"ਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="decline" msgid="2112225451706137894">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"ਸੱਦਾ ਭੇਜਿਆ"</string>
+ <string name="wifi_p2p_invitation_to_connect_title" msgid="4958803948658533637">"ਕਨੈਕਟ ਕਰਨ ਲਈ ਸੱਦਾ"</string>
+ <string name="wifi_p2p_from_message" msgid="570389174731951769">"ਇਸ ਤੋਂ:"</string>
+ <string name="wifi_p2p_to_message" msgid="248968974522044099">"ਵੱਲ:"</string>
+ <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"ਲੁੜੀਂਦਾ PIN ਟਾਈਪ ਕਰੋ:"</string>
+ <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN:"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"ਟੈਬਲੇਟ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗੀ"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"TV <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗਾ"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"ਫੋਨ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗਾ"</string>
+ <string name="select_character" msgid="3365550120617701745">"ਅੱਖਰ ਦਰਜ ਕਰੋ"</string>
+ <string name="sms_control_title" msgid="7296612781128917719">"SMS ਸੁਨੇਹੇ ਭੇਜ ਰਿਹਾ ਹੈ"</string>
+ <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਵੱਡੀ ਸੰਖਿਆ ਵਿੱਚ SMS ਸੁਨੇਹੇ ਭੇਜ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ ਸੁਨੇਹੇ ਭੇਜਣਾ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="sms_control_yes" msgid="3663725993855816807">"ਆਗਿਆ ਦਿਓ"</string>
+ <string name="sms_control_no" msgid="625438561395534982">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਇਹ <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b> ਨੂੰ ਇੱਕ ਸੁਨੇਹਾ ਭੇਜਣਾ ਚਾਹੁੰਦਾ ਹੈ।"</string>
+ <string name="sms_short_code_details" msgid="5873295990846059400">"ਇਸ ਨਾਲ "<b>"ਤੁਹਾਡੇ ਮੋਬਾਈਲ ਖਾਤੇ ਤੇ ਖ਼ਰਚੇ"</b>" ਪੈ ਸਕਦੇ ਹਨ।"</string>
+ <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"ਇਸ ਨਾਲ ਤੁਹਾਡੇ ਮੋਬਾਈਲ ਖਾਤੇ ਤੇ ਖ਼ਰਚੇ ਪੈਣਗੇ।"</b></string>
+ <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"ਭੇਜੋ"</string>
+ <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"ਰੱਦ ਕਰੋ"</string>
+ <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"ਮੇਰੀ ਚੋਣ ਯਾਦ ਰੱਖੋ"</string>
+ <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"ਤੁਸੀਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਸੈਟਿੰਗਾਂ > ਐਪਸ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ"</string>
+ <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"ਹਮੇਸ਼ਾਂ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"ਕਦੇ ਵੀ ਆਗਿਆ ਨਾ ਦਿਓ"</string>
+ <string name="sim_removed_title" msgid="6227712319223226185">"SIM ਕਾਰਡ ਹਟਾਇਆ ਗਿਆ"</string>
+ <string name="sim_removed_message" msgid="5450336489923274918">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਅਣਉਪਲਬਧ ਹੋਵੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਮਾਣਿਕ SIM ਕਾਰਡ ਪਾ ਕੇ ਰੀਸਟਾਰਟ ਨਹੀਂ ਕਰਦੇ।"</string>
+ <string name="sim_done_button" msgid="827949989369963775">"ਹੋ ਗਿਆ"</string>
+ <string name="sim_added_title" msgid="3719670512889674693">"SIM ਕਾਰਡ ਜੋੜਿਆ ਗਿਆ"</string>
+ <string name="sim_added_message" msgid="7797975656153714319">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਤੱਕ ਪਹੁੰਚ ਲਈ ਆਪਣੀ ਡਿਵਾਈਸ ਰੀਸਟਾਰਟ ਕਰੋ।"</string>
+ <string name="sim_restart_button" msgid="4722407842815232347">"ਰੀਸਟਾਰਟ ਕਰੋ"</string>
+ <string name="time_picker_dialog_title" msgid="8349362623068819295">"ਸਮਾਂ ਸੈਟ ਕਰੋ"</string>
+ <string name="date_picker_dialog_title" msgid="5879450659453782278">"ਤਾਰੀਖ ਸੈਟ ਕਰੋ"</string>
+ <string name="date_time_set" msgid="5777075614321087758">"ਸੈਟ ਕਰੋ"</string>
+ <string name="date_time_done" msgid="2507683751759308828">"ਹੋ ਗਿਆ"</string>
+ <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"ਨਵਾਂ: "</font></string>
+ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤਾ।"</string>
+ <string name="no_permissions" msgid="7283357728219338112">"ਕੋਈ ਅਨੁਮਤੀਆਂ ਲੁੜੀਂਦੀਆਂ ਨਹੀਂ"</string>
+ <string name="perm_costs_money" msgid="4902470324142151116">"ਇਸ ਨਾਲ ਤੁਹਾਨੂੰ ਖ਼ਰਚਾ ਪੈ ਸਕਦਾ ਹੈ"</string>
+ <string name="usb_storage_activity_title" msgid="4465055157209648641">"USB ਮਾਸ ਸਟੋਰੇਜ"</string>
+ <string name="usb_storage_title" msgid="5901459041398751495">"USB ਕਨੈਕਟ ਕੀਤੀ"</string>
+ <string name="usb_storage_message" product="nosdcard" msgid="3308538094316477839">"ਤੁਸੀਂ USB ਰਾਹੀਂ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤਾ ਬਟਨ ਛੋਹਵੋ ਜੇਕਰ ਤੁਸੀਂ ਫਾਈਲਾਂ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਅਤੇ ਆਪਣੀ Android ਦੀ USB ਸਟੋਰੇਜ ਵਿਚਕਾਰ ਕਾਪੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"</string>
+ <string name="usb_storage_message" product="default" msgid="805351000446037811">"ਤੁਸੀਂ USB ਰਾਹੀਂ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤਾ ਬਟਨ ਛੋਹਵੋ ਜੇਕਰ ਤੁਸੀਂ ਫਾਈਲਾਂ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਅਤੇ ਆਪਣੀ Android ਦੀ SD ਕਾਰਡ ਵਿਚਕਾਰ ਕਾਪੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"</string>
+ <string name="usb_storage_button_mount" msgid="1052259930369508235">"USB ਸਟੋਰੇਜ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="usb_storage_error_message" product="nosdcard" msgid="3017045217365540658">"USB ਮਾਸ ਸਟੋਰੇਜ ਲਈ ਤੁਹਾਡੀ USB ਸਟੋਰੇਜ ਵਰਤਣ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੈ।"</string>
+ <string name="usb_storage_error_message" product="default" msgid="2876018512716970313">"USB ਮਾਸ ਸਟੋਰੇਜ ਲਈ ਤੁਹਾਡਾ SD ਕਾਰਡ ਵਰਤਣ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੈ।"</string>
+ <string name="usb_storage_notification_title" msgid="8175892554757216525">"USB ਕਨੈਕਟ ਕੀਤੀ"</string>
+ <string name="usb_storage_notification_message" msgid="939822783828183763">"ਆਪਣੀ ਕੰਪਿਊਟਰ ਤੇ/ਤੋਂ ਫਾਈਲਾਂ ਕਾਪੀ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="usb_storage_stop_notification_title" msgid="2336058396663516017">"USB ਸਟੋਰੇਜ ਬੰਦ ਕਰੋ"</string>
+ <string name="usb_storage_stop_notification_message" msgid="1656852098555623822">"USB ਸਟੋਰੇਜ ਬੰਦ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="usb_storage_stop_title" msgid="660129851708775853">"USB ਸਟੋਰੇਜ ਵਰਤੋਂ ਵਿੱਚ"</string>
+ <string name="usb_storage_stop_message" product="nosdcard" msgid="4264025280777219521">"USB ਸਟੋਰੇਜ ਨੂੰ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਆਪਣੇ ਕੰਪਿਊਟਰ ਤੋਂ ਆਪਣੀ Android ਦੀ USB ਸਟੋਰੇਜ ਅਨਮਾਊਂਟ (\"ਹਟਾਓ\") ਕਰੋ।"</string>
+ <string name="usb_storage_stop_message" product="default" msgid="8043969782460613114">"USB ਸਟੋਰੇਜ ਨੂੰ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਆਪਣੇ ਕੰਪਿਊਟਰ ਤੋਂ ਆਪਣੀ Android ਦਾ SD ਕਾਰਡ ਅਨਮਾਊਂਟ (\"ਹਟਾਓ\") ਕਰੋ।"</string>
+ <string name="usb_storage_stop_button_mount" msgid="7060218034900696029">"USB ਸਟੋਰੇਜ ਬੰਦ ਕਰੋ"</string>
+ <string name="usb_storage_stop_error_message" msgid="1970374898263063836">"USB ਸਟੋਰੇਜ ਨੂੰ ਬੰਦ ਕਰਨ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਸੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਤੁਸੀਂ USB ਹੋਸਟ ਅਨਮਾਊਂਟ ਕੀਤਾ ਹੈ, ਫਿਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="dlg_confirm_kill_storage_users_title" msgid="963039033470478697">"USB ਸਟੋਰੇਜ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"ਜੇਕਰ ਤੁਸੀਂ USB ਸਟੋਰੇਜ ਚਾਲੂ ਕਰਦੇ ਹੋ, ਤਾਂ ਕੁਝ ਐਪਸ, ਜੋ ਤੁਸੀਂ ਵਰਤ ਰਹੇ ਹੋ, ਬੰਦ ਹੋ ਜਾਣਗੇ ਅਤੇ ਅਣਉਪਲਬਧ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ USB ਸਟੋਰੇਜ ਬੰਦ ਨਹੀਂ ਕਰਦੇ।"</string>
+ <string name="dlg_error_title" msgid="7323658469626514207">"USB ਓਪਰੇਸ਼ਨ ਅਸਫਲ"</string>
+ <string name="dlg_ok" msgid="7376953167039865701">"ਠੀਕ"</string>
+ <string name="usb_mtp_notification_title" msgid="3699913097391550394">"ਇੱਕ ਮੀਡੀਆ ਡਿਵਾਈਸ ਦੇ ਤੌਰ ਤੇ ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="usb_ptp_notification_title" msgid="1960817192216064833">"ਇੱਕ ਕੈਮਰੇ ਦੇ ਤੌਰ ਤੇ ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="usb_midi_notification_title" msgid="1399152904227676460">"ਇੱਕ MIDI ਡਿਵਾਈਸ ਦੇ ਤੌਰ ਤੇ ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"ਇੱਕ ਇੰਸਟੌਲਰ ਦੇ ਤੌਰ ਤੇ ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="usb_accessory_notification_title" msgid="7848236974087653666">"ਇੱਕ USB ਐਕਸੈਸਰੀ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="usb_notification_message" msgid="2290859399983720271">"ਹੋਰ USB ਚੋਣਾਂ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="extmedia_format_title" product="nosdcard" msgid="9020092196061007262">"ਕੀ USB ਸਟੋਰੇਜ ਨੂੰ ਫੌਰਮੈਟ ਕਰਨਾ ਹੈ?"</string>
+ <string name="extmedia_format_title" product="default" msgid="3648415921526526069">"ਕੀ SD ਕਾਰਡ ਨੂੰ ਫੌਰਮੈਟ ਕਰਨਾ ਹੈ?"</string>
+ <string name="extmedia_format_message" product="nosdcard" msgid="3934016853425761078">"ਤੁਹਾਡੀ USB ਸਟੋਰੇਜ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਫਾਈਲਾਂ ਮਿਟਾ ਦਿੱਤੀਆਂ ਜਾਣਗੀਆਂ। ਇਹ ਕਿਰਿਆ ਉਲਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ!"</string>
+ <string name="extmedia_format_message" product="default" msgid="14131895027543830">"ਤੁਹਾਡੇ ਕਾਰਡ ਤੇ ਸਾਰਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="extmedia_format_button_format" msgid="4131064560127478695">"ਫੌਰਮੈਟ ਕਰੋ"</string>
+ <string name="adb_active_notification_title" msgid="6729044778949189918">"USB ਡੀਬਗਿੰਗ ਕਨੈਕਟ ਕੀਤੀ"</string>
+ <string name="adb_active_notification_message" msgid="1016654627626476142">"USB ਡੀਬਗਿੰਗ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="select_input_method" msgid="8547250819326693584">"ਕੀਬੋਰਡ ਬਦਲੋ"</string>
+ <string name="configure_input_methods" msgid="4769971288371946846">"ਕੀਬੋਰਡਸ ਚੁਣੋ"</string>
+ <string name="show_ime" msgid="9157568568695230830">"ਇਨਪੁਟ ਵਿਧੀ ਦਿਖਾਓ"</string>
+ <string name="hardware" msgid="7517821086888990278">"ਹਾਰਡਵੇਅਰ"</string>
+ <string name="select_keyboard_layout_notification_title" msgid="1407367017263030773">"ਕੀਬੋਰਡ ਲੇਆਊਟ ਚੁਣੋ"</string>
+ <string name="select_keyboard_layout_notification_message" msgid="4465907700449257063">"ਇੱਕ ਕੀਬੋਰਡ ਲੇਆਊਟ ਚੁਣਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="candidates_style" msgid="4333913089637062257"><u>"ਉਮੀਦਵਾਰ"</u></string>
+ <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ਤਿਆਰ ਹੋ ਰਿਹਾ ਹੈ"</string>
+ <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ਤਰੁੱਟੀਆਂ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="ext_media_new_notification_message" msgid="7589986898808506239">"ਨਵੇਂ <xliff:g id="NAME">%s</xliff:g> ਦਾ ਪਤਾ ਲਗਾਇਆ ਗਿਆ"</string>
+ <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"ਫੋਟੋਆਂ ਅਤੇ ਮੀਡੀਆ ਨੂੰ ਟ੍ਰਾਂਸਫ਼ਰ ਕਰਨ ਲਈ"</string>
+ <string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"ਖਰਾਬ ਹੋਇਆ <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> ਖਰਾਬ ਹੋ ਗਿਆ ਹੈ; ਇਸਨੂੰ ਮੁੜ ਫਾਰਮੈਟ ਕਰਨ ਅਜ਼ਮਾਓ"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> ਨੂੰ ਅਚਨਚੇਤ ਹਟਾਇਆ ਗਿਆ"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"ਡੇਟਾ ਦੇ ਨੁਕਸਾਨ ਤੋਂ ਬੱਚਣ ਲਈ ਹਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ <xliff:g id="NAME">%s</xliff:g> ਅਨਮਾਊਂਟ ਕਰੋ"</string>
+ <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"ਹਟਾਇਆ <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> ਨੂੰ ਹਟਾਇਆ ਗਿਆ, ਕੋਈ ਨਵਾਂ ਸੰਮਿਲਿਤ ਕਰੋ"</string>
+ <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"ਅਜੇ ਵੀ <xliff:g id="NAME">%s</xliff:g> ਨੂੰ ਕੱਢ ਰਿਹਾ ਹੈ..."</string>
+ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"ਨਾ ਹਟਾਓ"</string>
+ <string name="ext_media_init_action" msgid="8317198948634872507">"ਸੈੱਟਅੱਪ"</string>
+ <string name="ext_media_unmount_action" msgid="1121883233103278199">"ਬਾਹਰ ਕੱਢੋ"</string>
+ <string name="ext_media_browse_action" msgid="8322172381028546087">"ਐਕਸਪਲੋਰ ਕਰੋ"</string>
+ <string name="activity_list_empty" msgid="1675388330786841066">"ਕੋਈ ਮੇਲ ਖਾਂਦੀਆਂ ਗਤੀਵਿਧੀਆਂ ਨਹੀਂ ਮਿਲੀਆਂ।"</string>
+ <string name="permlab_route_media_output" msgid="1642024455750414694">"ਰੂਟ ਮੀਡੀਆ ਆਊਟਪੁਟ"</string>
+ <string name="permdesc_route_media_output" msgid="4932818749547244346">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੂੰ ਹੋਰਾਂ ਬਾਹਰੀ ਡਿਵਾਈਸਾਂ ਲਈ ਮੀਡੀਆ ਆਊਟਪੁਟ ਰੂਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="permlab_readInstallSessions" msgid="6165432407628065939">"ਇੰਸਟੌਲ ਸੈਸ਼ਨ ਪੜ੍ਹੋ"</string>
+ <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੰਸਟੌਲ ਸੈਸ਼ਨ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਇਸਨੂੰ ਸਕਿਰਿਆ ਪੈਕੇਜ ਇੰਸਟੌਲੇਸ਼ਨਾਂ ਬਾਰੇ ਵੇਰਵੇ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"ਜ਼ੂਮ ਨਿਯੰਤਰਣ ਲਈ ਦੋ ਵਾਰ ਛੋਹਵੋ"</string>
+ <string name="gadget_host_error_inflating" msgid="4882004314906466162">"ਵਿਜੇਟ ਨਹੀਂ ਜੋੜ ਸਕਿਆ।"</string>
+ <string name="ime_action_go" msgid="8320845651737369027">"ਜਾਓ"</string>
+ <string name="ime_action_search" msgid="658110271822807811">"ਖੋਜੋ"</string>
+ <string name="ime_action_send" msgid="2316166556349314424">"ਭੇਜੋ"</string>
+ <string name="ime_action_next" msgid="3138843904009813834">"ਅਗਲਾ"</string>
+ <string name="ime_action_done" msgid="8971516117910934605">"ਹੋ ਗਿਆ"</string>
+ <string name="ime_action_previous" msgid="1443550039250105948">"ਪਿੱਛੇ"</string>
+ <string name="ime_action_default" msgid="2840921885558045721">"ਐਗਜੀਕਿਊਟ ਕਰੋ"</string>
+ <string name="dial_number_using" msgid="5789176425167573586">"<xliff:g id="NUMBER">%s</xliff:g> ਵਰਤਦੇ ਹੋਏ ਨੰਬਰ\n ਡਾਇਲ ਕਰੋ"</string>
+ <string name="create_contact_using" msgid="4947405226788104538">"<xliff:g id="NUMBER">%s</xliff:g> ਵਰਤਦੇ ਹੋਏ \nਸੰਪਰਕ ਬਣਾਓ"</string>
+ <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"ਇਹ ਇੱਕ ਜਾਂ ਹੋਰ ਐਪਸ ਹੁਣ ਅਤੇ ਭਵਿੱਖ ਵਿੱਚ, ਤੁਹਾਡੇ ਖਾਤੇ ਤੱਕ ਪਹੁੰਚ ਦੀ ਅਨੁਮਤੀ ਦੀ ਬੇਨਤੀ ਕਰਦੇ ਹਨ।"</string>
+ <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"ਕੀ ਤੁਸੀਂ ਇਹ ਬੇਨਤੀ ਮਨਜ਼ੂਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="grant_permissions_header_text" msgid="6874497408201826708">"ਪਹੁੰਚ ਬੇਨਤੀ"</string>
+ <string name="allow" msgid="7225948811296386551">"ਆਗਿਆ ਦਿਓ"</string>
+ <string name="deny" msgid="2081879885755434506">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="permission_request_notification_title" msgid="6486759795926237907">"ਅਨੁਮਤੀ ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"<xliff:g id="ACCOUNT">%s</xliff:g> ਖਾਤੇ ਲਈ ਅਨੁਮਤੀ ਦੀ ਬੇਨਤੀ ਕੀਤੀ\n।"</string>
+ <string name="forward_intent_to_owner" msgid="1207197447013960896">"ਤੁਸੀਂ ਇਹ ਐਪ ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਦੇ ਬਾਹਰ ਵਰਤ ਰਹੇ ਹੋ"</string>
+ <string name="forward_intent_to_work" msgid="621480743856004612">"ਤੁਸੀਂ ਇਹ ਐਪ ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਵਰਤ ਰਹੇ ਹੋ"</string>
+ <string name="input_method_binding_label" msgid="1283557179944992649">"ਇਨਪੁਟ ਵਿਧੀ"</string>
+ <string name="sync_binding_label" msgid="3687969138375092423">"ਸਿੰਕ ਕਰੋ"</string>
+ <string name="accessibility_binding_label" msgid="4148120742096474641">"ਪਹੁੰਚਯੋਗਤਾ"</string>
+ <string name="wallpaper_binding_label" msgid="1240087844304687662">"ਵਾਲਪੇਪਰ"</string>
+ <string name="chooser_wallpaper" msgid="7873476199295190279">"ਵਾਲਪੇਪਰ ਬਦਲੋ"</string>
+ <string name="notification_listener_binding_label" msgid="2014162835481906429">"ਸੂਚਨਾ ਸੁਣਨ ਵਾਲਾ"</string>
+ <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ਸਥਿਤੀ ਪ੍ਰਦਾਤਾ"</string>
+ <string name="vpn_title" msgid="19615213552042827">"VPN ਸਕਿਰਿਆ ਕੀਤਾ"</string>
+ <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> ਰਾਹੀਂ ਸਕਿਰਿਆ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
+ <string name="vpn_text" msgid="3011306607126450322">"ਨੈਟਵਰਕ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="vpn_text_long" msgid="6407351006249174473">"<xliff:g id="SESSION">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ। ਨੈਟਵਰਕ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="vpn_lockdown_connected" msgid="8202679674819213931">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="vpn_lockdown_error" msgid="6009249814034708175">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਅਸ਼ੁੱਧੀ"</string>
+ <string name="vpn_lockdown_config" msgid="6415899150671537970">"ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਛੋਹਵੋ"</string>
+ <string name="upload_file" msgid="2897957172366730416">"ਫਾਈਲ ਚੁਣੋ"</string>
+ <string name="no_file_chosen" msgid="6363648562170759465">"ਕੋਈ ਫਾਈਲ ਨਹੀਂ ਚੁਣੀ ਗਈ"</string>
+ <string name="reset" msgid="2448168080964209908">"ਰੀਸੈਟ ਕਰੋ"</string>
+ <string name="submit" msgid="1602335572089911941">"ਪ੍ਰਸਤੁਤ ਕਰੋ"</string>
+ <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"ਕਾਰ ਮੋਡ ਸਮਰਥਿਤ"</string>
+ <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"ਕਾਰ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਣ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="tethered_notification_title" msgid="3146694234398202601">"ਟੀਥਰਿਗ ਜਾਂ ਹੌਟਸਪੌਟ ਸਕਿਰਿਆ"</string>
+ <string name="tethered_notification_message" msgid="6857031760103062982">"ਸੈਟ ਅਪ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="back_button_label" msgid="2300470004503343439">"ਪਿੱਛੇ"</string>
+ <string name="next_button_label" msgid="1080555104677992408">"ਅਗਲਾ"</string>
+ <string name="skip_button_label" msgid="1275362299471631819">"ਛੱਡੋ"</string>
+ <string name="no_matches" msgid="8129421908915840737">"ਕੋਈ ਮੇਲ ਨਹੀਂ"</string>
+ <string name="find_on_page" msgid="1946799233822820384">"ਸਫ਼ੇ ਤੇ ਲੱਭੋ"</string>
+ <plurals name="matches_found" formatted="false" msgid="1210884353962081884">
+ <item quantity="one"><xliff:g id="INDEX">%d</xliff:g> </item>
+ <item quantity="other"><xliff:g id="INDEX">%d</xliff:g> </item>
+ </plurals>
+ <string name="action_mode_done" msgid="7217581640461922289">"ਹੋ ਗਿਆ"</string>
+ <string name="progress_unmounting" product="nosdcard" msgid="3923810448507612746">"USB ਸਟੋਰੇਜ ਨੂੰ ਅਨਮਾਊਂਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="progress_unmounting" product="default" msgid="1327894998409537190">"SD ਕਾਰਡ ਨੂੰ ਅਨਮਾਊਂਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"USB ਸਟੋਰੇਜ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string>
+ <string name="progress_erasing" product="default" msgid="6596988875507043042">"SD ਕਾਰਡ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string>
+ <string name="format_error" product="nosdcard" msgid="6299769563624776948">"USB ਸਟੋਰੇਜ ਨਹੀਂ ਮਿਟਾ ਸਕਿਆ।"</string>
+ <string name="format_error" product="default" msgid="7315248696644510935">"SD ਕਾਰਡ ਨਹੀਂ ਮਿਟਾ ਸਕਿਆ।"</string>
+ <string name="media_bad_removal" msgid="7960864061016603281">"SD ਕਾਰਡ ਨੂੰ ਅਨਮਾਊਂਟ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਸੀ।"</string>
+ <string name="media_checking" product="nosdcard" msgid="418188720009569693">"ਇਸ ਵੇਲੇ USB ਸਟੋਰੇਜ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।"</string>
+ <string name="media_checking" product="default" msgid="7334762503904827481">"ਇਸ ਵੇਲੇ SD ਕਾਰਡ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।"</string>
+ <string name="media_removed" msgid="7001526905057952097">"SD ਕਾਰਡ ਹਟਾਇਆ ਗਿਆ ਹੈ।"</string>
+ <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"USB ਸਟੋਰੇਜ ਇਸ ਵੇਲੇ ਇੱਕ ਕੰਪਿਊਟਰ ਵੱਲੋਂ ਵਰਤੋਂ ਵਿੱਚ ਨਹੀਂ ਹੈ।"</string>
+ <string name="media_shared" product="default" msgid="5706130568133540435">"SD ਕਾਰਡ ਇਸ ਵੇਲੇ ਇੱਕ ਕੰਪਿਊਟਰ ਵੱਲੋਂ ਵਰਤੋਂ ਵਿੱਚ ਹੈ।"</string>
+ <string name="media_unknown_state" msgid="729192782197290385">"ਅਗਿਆਤ ਸਥਿਤੀ ਵਿੱਚ ਬਾਹਰੀ ਮੀਡੀਆ।"</string>
+ <string name="share" msgid="1778686618230011964">"ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="find" msgid="4808270900322985960">"ਲੱਭੋ"</string>
+ <string name="websearch" msgid="4337157977400211589">"ਵੈਬ ਖੋਜ"</string>
+ <string name="find_next" msgid="5742124618942193978">"ਅਗਲਾ ਲੱਭੋ"</string>
+ <string name="find_previous" msgid="2196723669388360506">"ਪਿਛਲਾ ਲੱਭੋ"</string>
+ <string name="gpsNotifTicker" msgid="5622683912616496172">"<xliff:g id="NAME">%s</xliff:g> ਵੱਲੋਂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਬੇਨਤੀ"</string>
+ <string name="gpsNotifTitle" msgid="5446858717157416839">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਬੇਨਤੀ"</string>
+ <string name="gpsNotifMessage" msgid="1374718023224000702">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ਵੱਲੋਂ ਬੇਨਤੀ ਕੀਤੀ"</string>
+ <string name="gpsVerifYes" msgid="2346566072867213563">"ਹਾਂ"</string>
+ <string name="gpsVerifNo" msgid="1146564937346454865">"ਨਹੀਂ"</string>
+ <string name="sync_too_many_deletes" msgid="5296321850662746890">"ਵਧੀ ਸੀਮਾ ਮਿਟਾਓ"</string>
+ <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, ਖਾਤੇ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ਲਈ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ਆਈਟਮਾਂ ਮਿਟਾਈਆਂ ਗਈਆਂ ਹਨ। ਤੁਸੀਂ ਕੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="sync_really_delete" msgid="2572600103122596243">"ਆਈਟਮਾਂ ਹਟਾਓ"</string>
+ <string name="sync_undo_deletes" msgid="2941317360600338602">"ਮਿਟਾਏ ਗਏ ਅਨਡੂ ਕਰੋ"</string>
+ <string name="sync_do_nothing" msgid="3743764740430821845">"ਹੁਣ ਕੁਝ ਨਾ ਕਰੋ"</string>
+ <string name="choose_account_label" msgid="5655203089746423927">"ਇੱਕ ਖਾਤਾ ਚੁਣੋ"</string>
+ <string name="add_account_label" msgid="2935267344849993553">"ਇੱਕ ਖਾਤਾ ਜੋੜੋ"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"ਖਾਤਾ ਜੋੜੋ"</string>
+ <string name="number_picker_increment_button" msgid="2412072272832284313">"ਵਧਾਓ"</string>
+ <string name="number_picker_decrement_button" msgid="476050778386779067">"ਘਟਾਓ"</string>
+ <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> ਨੂੰ ਛੋਹਵੋ ਅਤੇ ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"ਵਧਾਉਣ ਲਈ ਉੱਪਰ ਅਤੇ ਘਟਾਉਣ ਲਈ ਹੇਠਾਂ ਸਲਾਈਡ ਕਰੋ।"</string>
+ <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"ਮਿੰਟ ਵਧਾਓ"</string>
+ <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"ਮਿੰਟ ਘਟਾਓ"</string>
+ <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"ਘੰਟੇ ਵਧਾਓ"</string>
+ <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"ਘੰਟੇ ਘਟਾਓ"</string>
+ <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"PM ਸੈਟ ਕਰੋ"</string>
+ <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"AM ਸੈਟ ਕਰੋ"</string>
+ <string name="date_picker_increment_month_button" msgid="5369998479067934110">"ਮਹੀਨਾ ਵਧਾਓ"</string>
+ <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"ਮਹੀਨਾ ਘਟਾਓ"</string>
+ <string name="date_picker_increment_day_button" msgid="7130465412308173903">"ਦਿਨ ਵਧਾਓ"</string>
+ <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"ਦਿਨ ਘਟਾਓ"</string>
+ <string name="date_picker_increment_year_button" msgid="6318697384310808899">"ਸਾਲ ਵਧਾਓ"</string>
+ <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"ਸਾਲ ਘਟਾਓ"</string>
+ <string name="date_picker_prev_month_button" msgid="2858244643992056505">"ਪਿਛਲੇ ਮਹੀਨੇ"</string>
+ <string name="date_picker_next_month_button" msgid="5559507736887605055">"ਅਗਲੇ ਮਹੀਨੇ"</string>
+ <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string>
+ <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"ਰੱਦ ਕਰੋ"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ਮਿਟਾਓ"</string>
+ <string name="keyboardview_keycode_done" msgid="1992571118466679775">"ਹੋ ਗਿਆ"</string>
+ <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"ਮੋਡ ਬਦਲੋ"</string>
+ <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"ਸ਼ਿਫ਼ਟ"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਰਜ ਕਰੋ"</string>
+ <string name="activitychooserview_choose_application" msgid="2125168057199941199">"ਇੱਕ ਐਪ ਚੁਣੋ"</string>
+ <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ਨੂੰ ਲੌਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+ <string name="shareactionprovider_share_with" msgid="806688056141131819">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="content_description_sliding_handle" msgid="415975056159262248">"ਹੈਂਡਲ ਸਲਾਈਡ ਕਰ ਰਿਹਾ ਹੈ। ਛੋਹਵੋ & ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਸਵਾਈਪ ਕਰੋ।"</string>
+ <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"ਬੋਲੀਆਂ ਗਈਆਂ ਪਾਸਵਰਡ ਕੁੰਜੀਆਂ ਸੁਣਨ ਲਈ ਇੱਕ ਹੈਡਸੈਟ ਪਲਗ ਇਨ ਕਰੋ।"</string>
+ <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"ਬਿੰਦੀ।"</string>
+ <string name="action_bar_home_description" msgid="5293600496601490216">"ਹੋਮ ਨੈਵੀਗੇਟ ਕਰੋ"</string>
+ <string name="action_bar_up_description" msgid="2237496562952152589">"ਉੱਪਰ ਨੈਵੀਗੇਟ ਕਰੋ"</string>
+ <string name="action_menu_overflow_description" msgid="2295659037509008453">"ਹੋਰ ਚੋਣਾਂ"</string>
+ <string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
+ <string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
+ <string name="storage_internal" msgid="4891916833657929263">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ"</string>
+ <string name="storage_sd_card" msgid="3282948861378286745">"SD ਕਾਰਡ"</string>
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD ਕਾਰਡ"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ਡ੍ਰਾਇਵ"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ਡ੍ਰਾਇਵ"</string>
+ <string name="storage_usb" msgid="3017954059538517278">"USB ਸਟੋਰੇਜ"</string>
+ <string name="extract_edit_menu_button" msgid="8940478730496610137">"ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+ <string name="data_usage_warning_title" msgid="1955638862122232342">"ਡਾਟਾ ਵਰਤੋਂ ਚਿਤਾਵਨੀ"</string>
+ <string name="data_usage_warning_body" msgid="2814673551471969954">"ਵਰਤੋਂ ਅਤੇ ਸੈਟਿੰਗਾਂ ਦੇਖਣ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string>
+ <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋਈ"</string>
+ <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"ਸੈਲਿਊਲਰ ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string>
+ <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"Wi-Fi ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string>
+ <string name="data_usage_limit_body" msgid="291731708279614081">"ਬਾਕੀ ਸਾਇਕਲ ਲਈ ਡਾਟਾ ਰੁਕ ਗਿਆ"</string>
+ <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"2G-3G ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string>
+ <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"4G ਡਾਟਾ ਸੀਮਾ ਵਧੀ"</string>
+ <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"ਸੈਲਿਊਲਰ ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string>
+ <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string>
+ <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> ਤੋਂ ਵੱਧ ਨਿਰਦਿਸ਼ਟ ਸੀਮਾ।"</string>
+ <string name="data_usage_restricted_title" msgid="5965157361036321914">"ਪਿਛੋਕੜ ਡਾਟਾ ਪ੍ਰਤਿਬੰਧਿਤ"</string>
+ <string name="data_usage_restricted_body" msgid="6741521330997452990">"ਪ੍ਰਤਿਬੰਧ ਹਟਾਉਣ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="ssl_certificate" msgid="6510040486049237639">"ਸੁਰੱਖਿਆ ਸਰਟੀਫਿਕੇਟ"</string>
+ <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"ਇਹ ਸਰਟੀਫਿਕੇਟ ਪ੍ਰਮਾਣਿਕ ਹੈ।"</string>
+ <string name="issued_to" msgid="454239480274921032">"ਨੂੰ ਜਾਰੀ ਕੀਤਾ ਗਿਆ:"</string>
+ <string name="common_name" msgid="2233209299434172646">"ਕੌਮਨ ਨਾਮ:"</string>
+ <string name="org_name" msgid="6973561190762085236">"ਕੰਪਨੀ:"</string>
+ <string name="org_unit" msgid="7265981890422070383">"ਕੰਪਨੀ ਯੂਨਿਟ:"</string>
+ <string name="issued_by" msgid="2647584988057481566">"ਵੱਲੋਂ ਜਾਰੀ ਕੀਤਾ ਗਿਆ:"</string>
+ <string name="validity_period" msgid="8818886137545983110">"ਪ੍ਰਮਾਣਿਕਤਾ:"</string>
+ <string name="issued_on" msgid="5895017404361397232">"ਇਸ ਤੇ ਜਾਰੀ ਕੀਤਾ ਗਿਆ:"</string>
+ <string name="expires_on" msgid="3676242949915959821">"ਨੂੰ ਮਿਆਦ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ:"</string>
+ <string name="serial_number" msgid="758814067660862493">"ਕ੍ਰਮ ਸੰਖਿਆ:"</string>
+ <string name="fingerprints" msgid="4516019619850763049">"ਫਿੰਗਰਪ੍ਰਿੰਟਸ:"</string>
+ <string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 ਫਿੰਗਰਪ੍ਰਿੰਟ:"</string>
+ <string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 ਫਿੰਗਰਪ੍ਰਿੰਟ:"</string>
+ <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ਸਭ ਦੇਖੋ"</string>
+ <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"ਗਤੀਵਿਧੀ ਚੁਣੋ"</string>
+ <string name="share_action_provider_share_with" msgid="5247684435979149216">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="list_delimeter" msgid="3975117572185494152">", "</string>
+ <string name="sending" msgid="3245653681008218030">"ਭੇਜ ਰਿਹਾ ਹੈ..."</string>
+ <string name="launchBrowserDefault" msgid="2057951947297614725">"ਕੀ ਬ੍ਰਾਊਜ਼ਰ ਲੌਂਚ ਕਰਨਾ ਹੈ?"</string>
+ <string name="SetupCallDefault" msgid="5834948469253758575">"ਕੀ ਕਾਲ ਸਵੀਕਾਰ ਕਰਨੀ ਹੈ?"</string>
+ <string name="activity_resolver_use_always" msgid="8017770747801494933">"ਹਮੇਸ਼ਾਂ"</string>
+ <string name="activity_resolver_use_once" msgid="2404644797149173758">"ਕੇਵਲ ਇੱਕ ਵਾਰ"</string>
+ <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"ਟੈਬਲੇਟ"</string>
+ <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"TV"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"ਫੋਨ"</string>
+ <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"ਹੈਡਫੋਨ"</string>
+ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"ਡੌਕ ਸਪੀਕਰਸ"</string>
+ <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string>
+ <string name="default_audio_route_category_name" msgid="3722811174003886946">"ਸਿਸਟਮ"</string>
+ <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth ਔਡੀਓ"</string>
+ <string name="wireless_display_route_description" msgid="9070346425023979651">"ਵਾਇਰਲੈਸ ਡਿਸਪਲੇ"</string>
+ <string name="media_route_button_content_description" msgid="591703006349356016">"ਜੋੜੋ"</string>
+ <string name="media_route_chooser_title" msgid="1751618554539087622">"ਡਿਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ਡਿਵਾਈਸ ਨਾਲ ਸਕ੍ਰੀਨ ਜੋੜੋ"</string>
+ <string name="media_route_chooser_searching" msgid="4776236202610828706">"ਡਿਵਾਈਸਾਂ ਦੀ ਖੋਜ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="media_route_controller_disconnect" msgid="8966120286374158649">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="media_route_status_scanning" msgid="7279908761758293783">"ਸਕੈਨ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="media_route_status_connecting" msgid="6422571716007825440">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="media_route_status_available" msgid="6983258067194649391">"ਉਪਲਬਧ"</string>
+ <string name="media_route_status_not_available" msgid="6739899962681886401">"ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
+ <string name="media_route_status_in_use" msgid="4533786031090198063">"ਵਰਤੋਂ ਵਿੱਚ"</string>
+ <string name="display_manager_built_in_display_name" msgid="2583134294292563941">"ਬਿਲਟ-ਇਨ ਸਕ੍ਰੀਨ"</string>
+ <string name="display_manager_hdmi_display_name" msgid="1555264559227470109">"HDMI ਸਕ੍ਰੀਨ"</string>
+ <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"ਓਵਰਲੇ #<xliff:g id="ID">%1$d</xliff:g>"</string>
+ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
+ <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", ਸੁਰੱਖਿਅਤ"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"ਪੈਟਰਨ ਭੁੱਲ ਗਏ"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ਗ਼ਲਤ ਪੈਟਰਨ"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"ਗ਼ਲਤ ਪਾਸਵਰਡ"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"ਗ਼ਲਤ PIN"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%1$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"ਆਪਣਾ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"ਲੁੜੀਂਦੇ PIN ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"ਗ਼ਲਤ PIN ਕੋਡ।"</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਨੰਬਰਾਂ ਦਾ ਹੈ।"</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"PUK ਕੋਡ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਰਜ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN ਕੋਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string>
+ <string name="kg_login_instructions" msgid="1100551261265506448">"ਅਨਲੌਕ ਕਰਨ ਲਈ, ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰੋ।"</string>
+ <string name="kg_login_username_hint" msgid="5718534272070920364">"ਉਪਭੋਗਤਾ ਨਾਮ (ਈਮੇਲ)"</string>
+ <string name="kg_login_password_hint" msgid="9057289103827298549">"ਪਾਸਵਰਡ"</string>
+ <string name="kg_login_submit_button" msgid="5355904582674054702">"ਸਾਈਨ ਇਨ ਕਰੋ"</string>
+ <string name="kg_login_invalid_input" msgid="5754664119319872197">"ਅਪ੍ਰਮਾਣਿਕ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string>
+ <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string>
+ <string name="kg_login_checking_password" msgid="1052685197710252395">"ਖਾਤੇ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"ਤੁਸੀਂ ਆਪਣਾ PIN <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਪਾਸਵਰਡ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ।"</string>
+ <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ TV ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
+ <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"ਹਟਾਓ"</string>
+ <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"ਕੀ ਵੌਲਯੂਮ ਸਿਫਾਰਿਸ਼ ਕੀਤੇ ਪੱਧਰ ਤੋਂ ਵਧਾਉਣੀ ਹੈ?\n\nਲੰਮੇ ਸਮੇਂ ਤੱਕ ਉੱਚ ਵੌਲਯੂਮ ਤੇ ਸੁਣਨ ਨਾਲ ਤੁਹਾਡੀ ਸੁਣਨ ਸ਼ਕਤੀ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚ ਸਕਦਾ ਹੈ।"</string>
+ <string name="continue_to_enable_accessibility" msgid="1626427372316070258">"ਪਹੁੰਚਯੋਗਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨੂੰ ਹੇਠਾਂ ਹੋਲਡ ਕਰਕੇ ਰੱਖੋ।"</string>
+ <string name="accessibility_enabled" msgid="1381972048564547685">"ਪਹੁੰਚਯੋਗਤਾ ਅਸਮਰਥਿਤ।"</string>
+ <string name="enable_accessibility_canceled" msgid="3833923257966635673">"ਪਹੁੰਚਯੋਗਤਾ ਰੱਦ ਕੀਤੀ।"</string>
+ <string name="user_switched" msgid="3768006783166984410">"ਮੌਜੂਦਾ ਉਪਭੋਗਤਾ <xliff:g id="NAME">%1$s</xliff:g>।"</string>
+ <string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g> ਤੇ ਸਵਿਚ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="owner_name" msgid="2716755460376028154">"ਮਾਲਕ"</string>
+ <string name="error_message_title" msgid="4510373083082500195">"ਅਸ਼ੁੱਧੀ"</string>
+ <string name="error_message_change_not_allowed" msgid="1347282344200417578">"ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਇਸ ਬਦਲਾਵ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।"</string>
+ <string name="app_not_found" msgid="3429141853498927379">"ਇਸ ਕਿਰਿਆ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਮਿਲੀ।"</string>
+ <string name="revoke" msgid="5404479185228271586">"ਰੱਦ ਕਰੋ"</string>
+ <string name="mediasize_iso_a0" msgid="1994474252931294172">"ISO A0"</string>
+ <string name="mediasize_iso_a1" msgid="3333060421529791786">"ISO A1"</string>
+ <string name="mediasize_iso_a2" msgid="3097535991925798280">"ISO A2"</string>
+ <string name="mediasize_iso_a3" msgid="3023213259314236123">"ISO A3"</string>
+ <string name="mediasize_iso_a4" msgid="231745325296873764">"ISO A4"</string>
+ <string name="mediasize_iso_a5" msgid="3484327407340865411">"ISO A5"</string>
+ <string name="mediasize_iso_a6" msgid="4861908487129577530">"ISO A6"</string>
+ <string name="mediasize_iso_a7" msgid="5890208588072936130">"ISO A7"</string>
+ <string name="mediasize_iso_a8" msgid="4319425041085816612">"ISO A8"</string>
+ <string name="mediasize_iso_a9" msgid="4882220529506432008">"ISO A9"</string>
+ <string name="mediasize_iso_a10" msgid="2382866026365359391">"ISO A10"</string>
+ <string name="mediasize_iso_b0" msgid="3651827147402009675">"ISO B0"</string>
+ <string name="mediasize_iso_b1" msgid="6072859628278739957">"ISO B1"</string>
+ <string name="mediasize_iso_b2" msgid="1348731852150380378">"ISO B2"</string>
+ <string name="mediasize_iso_b3" msgid="2612510181259261379">"ISO B3"</string>
+ <string name="mediasize_iso_b4" msgid="695151378838115434">"ISO B4"</string>
+ <string name="mediasize_iso_b5" msgid="4863754285582212487">"ISO B5"</string>
+ <string name="mediasize_iso_b6" msgid="5305816292139647241">"ISO B6"</string>
+ <string name="mediasize_iso_b7" msgid="531673542602786624">"ISO B7"</string>
+ <string name="mediasize_iso_b8" msgid="9164474595708850034">"ISO B8"</string>
+ <string name="mediasize_iso_b9" msgid="282102976764774160">"ISO B9"</string>
+ <string name="mediasize_iso_b10" msgid="4517141714407898976">"ISO B10"</string>
+ <string name="mediasize_iso_c0" msgid="3103521357901591100">"ISO C0"</string>
+ <string name="mediasize_iso_c1" msgid="1231954105985048595">"ISO C1"</string>
+ <string name="mediasize_iso_c2" msgid="927702816980087462">"ISO C2"</string>
+ <string name="mediasize_iso_c3" msgid="835154173518304159">"ISO C3"</string>
+ <string name="mediasize_iso_c4" msgid="5095951985108194011">"ISO C4"</string>
+ <string name="mediasize_iso_c5" msgid="1985397450332305739">"ISO C5"</string>
+ <string name="mediasize_iso_c6" msgid="8147421924174693013">"ISO C6"</string>
+ <string name="mediasize_iso_c7" msgid="8993994925276122950">"ISO C7"</string>
+ <string name="mediasize_iso_c8" msgid="6871178104139598957">"ISO C8"</string>
+ <string name="mediasize_iso_c9" msgid="7983532635227561362">"ISO C9"</string>
+ <string name="mediasize_iso_c10" msgid="5040764293406765584">"ISO C10"</string>
+ <string name="mediasize_na_letter" msgid="2841414839888344296">"ਪੱਤਰ"</string>
+ <string name="mediasize_na_gvrnmt_letter" msgid="5295836838862962809">"ਸਰਕਾਰੀ ਪੱਤਰ"</string>
+ <string name="mediasize_na_legal" msgid="8621364037680465666">"ਕਨੂੰਨੀ"</string>
+ <string name="mediasize_na_junior_legal" msgid="3309324162155085904">"ਜੂਨੀਅਰ ਕਨੂੰਨੀ"</string>
+ <string name="mediasize_na_ledger" msgid="5567030340509075333">"ਖਾਤਾ"</string>
+ <string name="mediasize_na_tabloid" msgid="4571735038501661757">"ਪੱਤਰਕਾ"</string>
+ <string name="mediasize_na_index_3x5" msgid="5182901917818625126">"ਇੰਡੈਕਸ ਕਾਰਡ 3x5"</string>
+ <string name="mediasize_na_index_4x6" msgid="7687620625422312396">"ਇੰਡੈਕਸ ਕਾਰਡ 4x6"</string>
+ <string name="mediasize_na_index_5x8" msgid="8834215284646872800">"ਇੰਡੈਕਸ ਕਾਰਡ 5x8"</string>
+ <string name="mediasize_na_monarch" msgid="213639906956550754">"ਸਮਰਾਟ"</string>
+ <string name="mediasize_na_quarto" msgid="835778493593023223">"ਚੁਪੱਤਰੀ"</string>
+ <string name="mediasize_na_foolscap" msgid="1573911237983677138">"Foolscap"</string>
+ <string name="mediasize_chinese_roc_8k" msgid="3626855847189438896">"ROC 8K"</string>
+ <string name="mediasize_chinese_roc_16k" msgid="9182191577022943355">"ROC 16K"</string>
+ <string name="mediasize_chinese_prc_1" msgid="4793232644980170500">"PRC 1"</string>
+ <string name="mediasize_chinese_prc_2" msgid="5404109730975720670">"PRC 2"</string>
+ <string name="mediasize_chinese_prc_3" msgid="1335092253339363526">"PRC 3"</string>
+ <string name="mediasize_chinese_prc_4" msgid="9167997800486569834">"PRC 4"</string>
+ <string name="mediasize_chinese_prc_5" msgid="845875168823541497">"PRC 5"</string>
+ <string name="mediasize_chinese_prc_6" msgid="3220325667692648789">"PRC 6"</string>
+ <string name="mediasize_chinese_prc_7" msgid="1776792138507038527">"PRC 7"</string>
+ <string name="mediasize_chinese_prc_8" msgid="1417176642687456692">"PRC 8"</string>
+ <string name="mediasize_chinese_prc_9" msgid="4785983473123798365">"PRC 9"</string>
+ <string name="mediasize_chinese_prc_10" msgid="7847982299391851899">"PRC 10"</string>
+ <string name="mediasize_chinese_prc_16k" msgid="262793383539980677">"PRC 16K"</string>
+ <string name="mediasize_chinese_om_pa_kai" msgid="5256815579447959814">"Pa Kai"</string>
+ <string name="mediasize_chinese_om_dai_pa_kai" msgid="7336412963441354407">"Dai Pa Kai"</string>
+ <string name="mediasize_chinese_om_jurro_ku_kai" msgid="6324465444100490742">"Jurro Ku Kai"</string>
+ <string name="mediasize_japanese_jis_b10" msgid="1787262845627694376">"JIS B10"</string>
+ <string name="mediasize_japanese_jis_b9" msgid="3336035783663287470">"JIS B9"</string>
+ <string name="mediasize_japanese_jis_b8" msgid="6195398299104345731">"JIS B8"</string>
+ <string name="mediasize_japanese_jis_b7" msgid="1674621886902828884">"JIS B7"</string>
+ <string name="mediasize_japanese_jis_b6" msgid="4170576286062657435">"JIS B6"</string>
+ <string name="mediasize_japanese_jis_b5" msgid="4899297958100032533">"JIS B5"</string>
+ <string name="mediasize_japanese_jis_b4" msgid="4213158129126666847">"JIS B4"</string>
+ <string name="mediasize_japanese_jis_b3" msgid="8513715307410310696">"JIS B3"</string>
+ <string name="mediasize_japanese_jis_b2" msgid="4777690211897131190">"JIS B2"</string>
+ <string name="mediasize_japanese_jis_b1" msgid="4608142385457034603">"JIS B1"</string>
+ <string name="mediasize_japanese_jis_b0" msgid="7587108366572243991">"JIS B0"</string>
+ <string name="mediasize_japanese_jis_exec" msgid="5244075432263649068">"JIS Exec"</string>
+ <string name="mediasize_japanese_chou4" msgid="4941652015032631361">"Chou4"</string>
+ <string name="mediasize_japanese_chou3" msgid="6387319169263957010">"Chou3"</string>
+ <string name="mediasize_japanese_chou2" msgid="1299112025415343982">"Chou2"</string>
+ <string name="mediasize_japanese_hagaki" msgid="8070115620644254565">"Hagaki"</string>
+ <string name="mediasize_japanese_oufuku" msgid="6049065587307896564">"Oufuku"</string>
+ <string name="mediasize_japanese_kahu" msgid="6872696027560065173">"Kahu"</string>
+ <string name="mediasize_japanese_kaku2" msgid="2359077233775455405">"Kaku2"</string>
+ <string name="mediasize_japanese_you4" msgid="2091777168747058008">"You4"</string>
+ <string name="mediasize_unknown_portrait" msgid="3088043641616409762">"ਅਗਿਆਤ ਤਸਵੀਰ"</string>
+ <string name="mediasize_unknown_landscape" msgid="4876995327029361552">"ਅਗਿਆਤ ਲੈਂਡਸਕੇਪ"</string>
+ <string name="write_fail_reason_cancelled" msgid="7091258378121627624">"ਰੱਦ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"ਸਮੱਗਰੀ ਲਿਖਣ ਵਿੱਚ ਅਸ਼ੁੱਧੀ"</string>
+ <string name="reason_unknown" msgid="6048913880184628119">"ਅਗਿਆਤ"</string>
+ <string name="reason_service_unavailable" msgid="7824008732243903268">"ਪ੍ਰਿੰਟ ਸੇਵਾ ਸਮਰਥਿਤ ਨਹੀਂ"</string>
+ <string name="print_service_installed_title" msgid="2246317169444081628">"<xliff:g id="NAME">%s</xliff:g> ਸੇਵਾ ਇੰਸਟੌਲ ਕੀਤੀ"</string>
+ <string name="print_service_installed_message" msgid="5897362931070459152">"ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"ਪ੍ਰਬੰਧਕ PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"ਗ਼ਲਤ"</string>
+ <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"ਮੌਜੂਦਾ PIN"</string>
+ <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"ਨਵਾਂ PIN"</string>
+ <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"ਨਵੇਂ PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="restr_pin_create_pin" msgid="8017600000263450337">"ਪ੍ਰਤਿਬੰਧ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਇੱਕ PIN ਬਣਾਓ"</string>
+ <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ਬਹੁਤ ਜ਼ਿਆਦਾ ਛੋਟਾ ਹੈ। ਘੱਟੋ-ਘੱਟ 4 ਅੰਕ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।"</string>
+ <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688">
+ <item quantity="one"> <xliff:g id="COUNT">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</item>
+ <item quantity="other"> <xliff:g id="COUNT">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</item>
+ </plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="immersive_cling_title" msgid="8394201622932303336">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੇਖ ਰਿਹਾ ਹੈ"</string>
+ <string name="immersive_cling_description" msgid="3482371193207536040">"ਬਾਹਰ ਜਾਣ ਲਈ, ਟੌਪ ਤੋਂ ਹੇਠਾਂ ਸਵਾਈਪ ਕਰੋ।"</string>
+ <string name="immersive_cling_positive" msgid="5016839404568297683">"ਸਮਝ ਗਿਆ"</string>
+ <string name="done_label" msgid="2093726099505892398">"ਹੋ ਗਿਆ"</string>
+ <string name="hour_picker_description" msgid="6698199186859736512">"ਘੰਟੇ ਸਰਕੁਲਰ ਸਲਾਈਡਰ"</string>
+ <string name="minute_picker_description" msgid="8606010966873791190">"ਮਿੰਟ ਸਰਕੁਲਰ ਸਲਾਈਡਰ"</string>
+ <string name="select_hours" msgid="6043079511766008245">"ਘੰਟੇ ਚੁਣੋ"</string>
+ <string name="select_minutes" msgid="3974345615920336087">"ਮਿੰਟ ਚੁਣੋ"</string>
+ <string name="select_day" msgid="7774759604701773332">"ਮਹੀਨਾ ਅਤੇ ਦਿਨ ਚੁਣੋ"</string>
+ <string name="select_year" msgid="7952052866994196170">"ਸਾਲ ਚੁਣੋ"</string>
+ <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> ਹਟਾਇਆ ਗਿਆ"</string>
+ <string name="managed_profile_label_badge" msgid="2355652472854327647">"ਕੰਮ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+ <string name="lock_to_app_toast" msgid="7570091317001980053">"ਇਸ ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਪਿਨ ਕਰਨ ਲਈ, ਪਿੱਛੇ ਅਤੇ ਰੂਪ-ਰੇਖਾ ਨੂੰ ਇੱਕੋ ਵੇਲੇ ਛੋਹਵੋ ਅਤੇ ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ਇਸ ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਪਿਨ ਕਰਨ ਲਈ, ਰੂਪ-ਰੇਖਾ ਨੂੰ ਛੋਹਵੋ ਅਤੇ ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"ਐਪ ਪਿੰਨਡ ਹੈ: ਇਸ ਡਿਵਾਈਸ ਤੇ ਅਨਪਿਨ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।"</string>
+ <string name="lock_to_app_start" msgid="6643342070839862795">"ਸਕ੍ਰੀਨ ਪਿੰਨ ਕੀਤੀ"</string>
+ <string name="lock_to_app_exit" msgid="8598219838213787430">"ਸਕ੍ਰੀਨ ਅਨਪਿਨ ਕੀਤੀ"</string>
+ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ਅਨਪਿਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ PIN ਮੰਗੋ"</string>
+ <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"ਅਨਪਿਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੈਟਰਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਪੁੱਛੋ"</string>
+ <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"ਅਨਪਿਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਾਸਵਰਡ ਮੰਗੋ"</string>
+ <string name="package_installed_device_owner" msgid="8420696545959087545">"ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="package_deleted_device_owner" msgid="7650577387493101353">"ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਮਿਟਾਇਆ ਗਿਆ"</string>
+ <string name="battery_saver_description" msgid="1960431123816253034">"ਬੈਟਰੀ ਸਮਰੱਥਾ ਨੂੰ ਬਿਹਤਰ ਸਹਾਇਤਾ ਕਰਨ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਵਾਈਬ੍ਰੇਸ਼ਨ, ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਪਿਛੋਕੜ ਡਾਟਾ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ। ਈਮੇਲ, ਮੈਸੇਜਿੰਗ ਅਤੇ ਹੋਰ ਐਪਸ, ਜੋ ਸਿੰਕਿੰਗ ਤੇ ਨਿਰਭਰ ਹਨ, ਉਹ ਉਦੋਂ ਤੱਕ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਖੋਲ੍ਹਦੇ ਨਹੀਂ।\n\nਬੈਟਰੀ ਸੇਵਰ ਆਟੋਮੈਟਿਕਲੀ ਬੰਦ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਚਾਰਜ ਹੋ ਰਹੀ ਹੁੰਦੀ ਹੈ।"</string>
+ <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
+ <item quantity="one">%1$d ਮਿੰਟਾਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ) </item>
+ <item quantity="other">%1$d ਮਿੰਟਾਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours_summary" formatted="false" msgid="8152974162096743862">
+ <item quantity="one">%1$d ਘੰਟਿਆਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ)</item>
+ <item quantity="other">%1$d ਘੰਟਿਆਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_minutes" formatted="false" msgid="5127407202506485571">
+ <item quantity="one">%d ਮਿੰਟਾਂ ਤੱਕ</item>
+ <item quantity="other">%d ਮਿੰਟਾਂ ਤੱਕ</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours" formatted="false" msgid="3938821308277433854">
+ <item quantity="one">%d ਘੰਟਿਆਂ ਤੱਕ</item>
+ <item quantity="other">%d ਘੰਟਿਆਂ ਤੱਕ</item>
+ </plurals>
+ <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ਤੱਕ"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇਸਨੂੰ ਬੰਦ ਨਹੀਂ ਕਰਦੇ ਹੋ"</string>
+ <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
+ <string name="toolbar_collapse_description" msgid="2821479483960330739">"ਨਸ਼ਟ ਕਰੋ"</string>
+ <string name="zen_mode_feature_name" msgid="5254089399895895004">"ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"ਡਾਊਨਟਾਈਮ"</string>
+ <string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"ਵੀਕਨਾਈਟਸ"</string>
+ <string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"ਵੀਕੈਂਡ"</string>
+ <string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ਵੱਲੋਂ ਮਿਊਟ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="system_error_wipe_data" msgid="6608165524785354962">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਹੈ ਅਤੇ ਇਹ ਅਸਥਿਰ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਨਹੀਂ ਕਰਦੇ।"</string>
+ <string name="system_error_manufacturer" msgid="8086872414744210668">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਸੀ। ਵੇਰਵਿਆਂ ਲਈ ਆਪਣੇ ਨਿਰਮਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="stk_cc_ussd_to_dial" msgid="5202342984749947872">"USSD ਬੇਨਤੀ DIAL ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="stk_cc_ussd_to_ss" msgid="2345360594181405482">"USSD ਬੇਨਤੀ SS ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="stk_cc_ussd_to_ussd" msgid="7466087659967191653">"USSD ਬੇਨਤੀ ਨਵੀਂ USSD ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="stk_cc_ss_to_dial" msgid="2151304435775557162">"SS ਬੇਨਤੀ DIAL ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"SS ਬੇਨਤੀ USSD ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"SS ਬੇਨਤੀ ਨਵੀਂ SS ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android USB ਪੈਰੀਫੈਰਲ ਪੋਰਟ"</string>
+ <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
+ <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"USB ਪੈਰੀਫੈਰਲ ਪੋਰਟ"</string>
+ <string name="floating_toolbar_open_overflow_description" msgid="4797287862999444631">"ਹੋਰ ਚੋਣਾਂ"</string>
+ <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"ਓਵਰਫਲੋ ਬੰਦ ਕਰੋ"</string>
+</resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index e6c90be..3129007 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Zezwala aplikacji na usuwanie certyfikatów DRM. Nie powinno być nigdy potrzebne w zwykłych aplikacjach."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"powiąż z usługą przesyłania wiadomości przez operatora"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Zezwala posiadaczowi na tworzenie powiązania z interfejsem najwyższego poziomu w usłudze przesyłania wiadomości przez operatora. Nie powinno być nigdy potrzebne dla zwykłych aplikacji."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"powiązanie z usługą konfiguracji operatora"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Umożliwia właścicielowi powiązanie z usługą konfiguracji operatora. Nie powinno być nigdy potrzebne w normalnych aplikacjach."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Określ reguły hasła"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolowanie długości haseł blokady ekranu i kodów PIN oraz dozwolonych w nich znaków."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitoruj próby odblokowania ekranu"</string>
@@ -1223,12 +1221,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Pamięć wewnętrzna"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Karta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Karta SD (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Dysk USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Dysk USB (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
<string name="storage_usb" msgid="3017954059538517278">"Nośnik USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Edytuj"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Ostrzeżenie o transmisji danych"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 0df5239..01c5ab3 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite que uma aplicação remova certificados DRM. Nunca deverá ser necessário para aplicações normais."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ligar ao serviço de mensagens de um operador"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao titular ligar à interface de nível superior do serviço de mensagens de um operador. Nunca deve ser necessário para aplicações normais."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"vincular a um serviço de configuração de operador"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite ao detentor vincular-se a um serviço de configuração de operador. Nunca deve ser necessário nas aplicações normais."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras de palavra-passe"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlar o comprimento e os carateres permitidos nos PINs e nas palavras-passe do bloqueio de ecrã."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizar tentativas de desbloqueio do ecrã"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"memória de armazenamento interno"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Cartão SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Cartão SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unidade USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unidade USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Armazenamento USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Aviso de utilização de dados"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 85edfc5..a56a14c 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite que um app remova certificados de DRM. Não deve ser necessário para apps comuns."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular a um serviço de mensagens de operadora"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite que o proprietário use a interface de nível superior de um serviço de mensagens de operadora. Não deve ser necessária para apps comuns."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"vincular a um serviço de configuração de operadora"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite que o proprietário use um serviço de configuração de operadora. Não deve ser necessário para apps comuns."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras para senha"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla o tamanho e os caracteres permitidos nos PINs e nas senhas do bloqueio de tela."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitorar tentativas de desbloqueio da tela"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Armazenamento interno"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Cartão SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Cartão SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Drive USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Drive USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Armazenamento USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Aviso sobre uso de dados"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 5e35ebc..d704eea 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -500,10 +500,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Permite unei aplicații să elimine certificatele DRM. Nu ar trebui să fie necesară pentru aplicațiile obișnuite."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"se conectează la un serviciu de mesagerie oferit de operator"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite aplicației să se conecteze la interfața de nivel superior a unui serviciu de mesagerie oferit de operator. Nu ar trebui să fie niciodată necesară pentru aplicațiile obișnuite."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"se conectează la un serviciu de configurare a operatorului"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Permite aplicației să se conecteze la un serviciu de configurare a operatorului. Nu ar trebui să fie niciodată necesară pentru aplicațiile obișnuite."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Setaţi reguli pentru parolă"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Stabiliți lungimea și tipul de caractere permise pentru parolele și codurile PIN de blocare a ecranului."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizaţi încercările de deblocare a ecranului"</string>
@@ -1215,12 +1213,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Stocare internă"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Card SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Card SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Unitate USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Unitate USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Dsipozitiv de stocare USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Editaţi"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Avertisment de utiliz. a datelor"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 1da0b36..326173c 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -434,7 +434,7 @@
<string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Сканер недоступен"</string>
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"Чтобы сохранить новый отпечаток, удалите существующий."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"Превышено время ожидания. Повторите попытку."</string>
- <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Операция по отпечатку отменена."</string>
+ <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Операция с отпечатком отменена."</string>
<string name="fingerprint_error_lockout" msgid="5536934748136933450">"Слишком много попыток. Повторите позже."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Повторите попытку."</string>
<string-array name="fingerprint_error_vendor">
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Удаление сертификатов DRM. Большинству приложений это разрешение не требуется."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Подключение к службе обмена сообщениями"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Подключение к базовому интерфейсу службы обмена сообщениями, предоставляемой оператором связи. Это разрешение обычно используется только специальными приложениями."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"подключаться к сервису конфигурации оператора связи"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Разрешает пользователю подключаться к сервису конфигурации оператора связи. Не требуется для стандартных приложений."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Правила выбора паролей"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролировать длину и символы при вводе пароля и PIN-кода."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Отслеживать попытки снятия блокировки экрана"</string>
@@ -1221,14 +1219,11 @@
<string name="action_menu_overflow_description" msgid="2295659037509008453">"Ещё"</string>
<string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
- <string name="storage_internal" msgid="4891916833657929263">"Внутренняя память"</string>
+ <string name="storage_internal" msgid="4891916833657929263">"Внутр. память"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-карта"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-карта <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-накопитель"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-накопитель <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-накопитель"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Изменить"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Осталось мало трафика"</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index b7a5ea2..6f71e81 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"යෙදුමකට DRM සහතික ඉවත් කිරීමට ඉඩ දේ. සාමාන්ය යෙදුම් වලට කිසිදා අවශ්ය නොවේ."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"වාහක පණිවිඩ යැවීමේ සේවාවට බදින්න"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"වාහක සේවාව ඉහල මට්ටමේ අතුරු මුහුණතක් වෙත සම්බන්ධ කිරීමට ධාරකයාට අවසර දෙන්න. සාමාන්ය යෙදුම්වලට කිසි විටෙක අවශ්ය නොවෙයි."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"වාහක වින්යාස සේවාවට බඳින්න"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"වාහක වින්යාස සේවාවක් වෙත සම්බන්ධ කිරීමට ධාරකයාට අවසර දේ. සාමාන්ය යෙදුම් සඳහා කිසිදා අවශ්ය නොවෙයි."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"මුරපද නීති සකස් කිරීම"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"තිර අගුලු මුරපද සහ PIN තුළ ඉඩ දෙන දිග සහ අනුලකුණු පාලනය කිරීම."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"තිරය අගුළු ඇරීමේ උත්සාහයන් නිරීක්ෂණය කරන්න"</string>
@@ -1070,7 +1068,7 @@
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"නව <xliff:g id="NAME">%s</xliff:g> අනාවරණය කරන ලදි"</string>
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"ඡායාරූප සහ මාධ්ය හුවමාරු කිරීම සඳහා"</string>
<string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"හානි වූ <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> හානි වී ඇත; එය නැවත ෆෝමැට් ගැන්වීමට උත්සහ කරන්න."</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> හානි වී ඇත; එය නැවත ෆෝමැට් ගැන්වීමට උත්සහ කරන්න"</string>
<string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> අනපේක්ෂිතව ඉවත් කරන ලදි"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"දත්ත නැතිවීම වැළක්වීමට <xliff:g id="NAME">%s</xliff:g> ආචයනය ඉවත්කිරීමට පෙර ගලවන්න."</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"<xliff:g id="NAME">%s</xliff:g> ඉවත් කරන ලදි"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 281f2f5..f6b1f49 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Umožňuje aplikácii odstraňovať certifikáty DRM. Bežné aplikácie by toto povolenie nemali nikdy potrebovať."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"viazať sa na službu na odosielanie správ SMS a MMS operátora"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania služby na odosielanie správ SMS a MMS operátora. Bežné aplikácie by toto nastavenie nemali nikdy potrebovať."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"viazať na službu konfigurácie operátora"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Umožňuje držiteľovi viazať sa na službu konfigurácie operátora. Normálne aplikácie by toto povolenie nemali nikdy nepotrebovať."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Nastaviť pravidlá pre heslo"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Nastavte dĺžku hesiel na odomknutie obrazovky aj kódov PIN a v nich používané znaky."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Sledovať pokusy o odomknutie obrazovky"</string>
@@ -1223,12 +1221,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Interné úložisko"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Karta SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Karta SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Disk USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Disk USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Ukladací priestor USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Upraviť"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Upozornenie o využití dát"</string>
@@ -1502,7 +1497,7 @@
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"Zbaliť"</string>
<string name="zen_mode_feature_name" msgid="5254089399895895004">"Nerušiť"</string>
- <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Odstávka"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Doba pokoja"</string>
<string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"Noci cez týždeň"</string>
<string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"Víkendy"</string>
<string name="muted_by" msgid="6147073845094180001">"Stlmené aplikáciou <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 61975d2..ec36c2f 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Aplikaciji omogoča odstranjevanje potrdil za upravljanje digitalnih pravic. Tega ni treba nikoli uporabiti za navadne aplikacije."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"povezovanje z operaterjevo sporočilno storitvijo"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Imetniku omogoča povezovanje z vmesnikom operaterjeve sporočilne storitve najvišje ravni. To naj ne bi bilo nikoli potrebno za navadne aplikacije."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"povezovanje z operaterjevo storitvijo konfiguriranja"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Imetniku omogoča povezovanje z operaterjevo storitvijo konfiguriranja. Tega ni treba nikoli uporabiti za navadne operacije."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavitev pravil za geslo"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Nadzor nad dolžino in znaki, ki so dovoljeni v geslih in kodah PIN za odklepanje zaslona."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"nadzor nad poskusi odklepanja zaslona"</string>
diff --git a/core/res/res/values-sq-rAL-watch/strings.xml b/core/res/res/values-sq-rAL-watch/strings.xml
new file mode 100644
index 0000000..d1637ba
--- /dev/null
+++ b/core/res/res/values-sq-rAL-watch/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 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.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="android_upgrading_apk" msgid="1090732262010398759">"Aplikacioni <xliff:g id="NUMBER_0">%1$d</xliff:g> nga <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
+</resources>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..bac34c4
--- /dev/null
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -0,0 +1,1491 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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="byteShort" msgid="8340973892742019101">"bajt"</string>
+ <string name="kilobyteShort" msgid="5973789783504771878">"kilobajt"</string>
+ <string name="megabyteShort" msgid="6355851576770428922">"megabajt"</string>
+ <string name="gigabyteShort" msgid="3259882455212193214">"gigabajt"</string>
+ <string name="terabyteShort" msgid="231613018159186962">"terabajt"</string>
+ <string name="petabyteShort" msgid="5637816680144990219">"petabajt"</string>
+ <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
+ <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> ditë"</string>
+ <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> ditë e <xliff:g id="HOURS">%2$d</xliff:g> orë"</string>
+ <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> ditë e <xliff:g id="HOURS">%2$d</xliff:g> orë"</string>
+ <string name="durationHours" msgid="4266858287167358988">"<xliff:g id="HOURS">%1$d</xliff:g> orë"</string>
+ <string name="durationHourMinutes" msgid="9029176248692041549">"<xliff:g id="HOURS">%1$d</xliff:g> orë e <xliff:g id="MINUTES">%2$d</xliff:g> minuta"</string>
+ <string name="durationHourMinute" msgid="2741677355177402539">"<xliff:g id="HOURS">%1$d</xliff:g> orë e <xliff:g id="MINUTES">%2$d</xliff:g> minuta"</string>
+ <string name="durationMinutes" msgid="3134226679883579347">"<xliff:g id="MINUTES">%1$d</xliff:g> minuta"</string>
+ <string name="durationMinute" msgid="7155301744174623818">"<xliff:g id="MINUTES">%1$d</xliff:g> minuta"</string>
+ <string name="durationMinuteSeconds" msgid="1424656185379003751">"<xliff:g id="MINUTES">%1$d</xliff:g> minuta e <xliff:g id="SECONDS">%2$d</xliff:g> sekonda"</string>
+ <string name="durationMinuteSecond" msgid="3989228718067466680">"<xliff:g id="MINUTES">%1$d</xliff:g> minuta e <xliff:g id="SECONDS">%2$d</xliff:g> sekonda"</string>
+ <string name="durationSeconds" msgid="8050088505238241405">"<xliff:g id="SECONDS">%1$d</xliff:g> sekonda"</string>
+ <string name="durationSecond" msgid="985669622276420331">"<xliff:g id="SECONDS">%1$d</xliff:g> sekonda"</string>
+ <string name="untitled" msgid="4638956954852782576">"<Pa titull>"</string>
+ <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nuk ka numër telefoni)"</string>
+ <string name="unknownName" msgid="6867811765370350269">"E panjohur"</string>
+ <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Posta zanore"</string>
+ <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string>
+ <string name="mmiError" msgid="5154499457739052907">"Problem në lidhje ose kod i pavlefshëm MMI-je."</string>
+ <string name="mmiFdnError" msgid="5224398216385316471">"Operacioni kufizohet vetëm në numrat e telefonisë fikse."</string>
+ <string name="serviceEnabled" msgid="8147278346414714315">"Shërbimi u aktivizua."</string>
+ <string name="serviceEnabledFor" msgid="6856228140453471041">"Shërbimi u aktivizua për:"</string>
+ <string name="serviceDisabled" msgid="1937553226592516411">"Shërbimi është çaktivizuar."</string>
+ <string name="serviceRegistered" msgid="6275019082598102493">"Regjistrimi ishte i suksesshëm."</string>
+ <string name="serviceErased" msgid="1288584695297200972">"Fshirja ishte e suksesshme."</string>
+ <string name="passwordIncorrect" msgid="7612208839450128715">"Fjalëkalimi është i pasaktë."</string>
+ <string name="mmiComplete" msgid="8232527495411698359">"MMI-ja përfundoi."</string>
+ <string name="badPin" msgid="9015277645546710014">"PIN-i i vjetër që shkrove nuk është i saktë."</string>
+ <string name="badPuk" msgid="5487257647081132201">"PUK-u që shkrove nuk është i saktë."</string>
+ <string name="mismatchPin" msgid="609379054496863419">"PIN-et që shkrove nuk përputhen."</string>
+ <string name="invalidPin" msgid="3850018445187475377">"Shkruaj një PIN nga 4 deri në 8 numra."</string>
+ <string name="invalidPuk" msgid="8761456210898036513">"Shkruaj një PUK me 8 numra ose më të gjatë."</string>
+ <string name="needPuk" msgid="919668385956251611">"Karta jote SIM nuk është e kyçur me PUK. Shkruaj kodin PUK për ta shkyçur."</string>
+ <string name="needPuk2" msgid="4526033371987193070">"Shkruaj kodin PUK2 për të shkyçur kartën SIM."</string>
+ <string name="enablePin" msgid="209412020907207950">"Pa sukses! Aktivizo kyçjen e SIM/RUIM."</string>
+ <plurals name="pinpuk_attempts" formatted="false" msgid="1251012001539225582">
+ <item quantity="other">Të kanë mbetur edhe <xliff:g id="NUMBER_1">%d</xliff:g> tentativa para se karta SIM të kyçet.</item>
+ <item quantity="one">Të ka mbetur edhe <xliff:g id="NUMBER_0">%d</xliff:g> tentativë para se karta SIM të kyçet.</item>
+ </plurals>
+ <string name="imei" msgid="2625429890869005782">"IMEI"</string>
+ <string name="meid" msgid="4841221237681254195">"MEID"</string>
+ <string name="ClipMmi" msgid="6952821216480289285">"ID-ja e telefonuesit hyrës"</string>
+ <string name="ClirMmi" msgid="7784673673446833091">"ID-ja e telefonuesit në dalje"</string>
+ <string name="ColpMmi" msgid="3065121483740183974">"ID-ja e linjës së lidhur"</string>
+ <string name="ColrMmi" msgid="4996540314421889589">"Kufizimi i ID-së së linjës së lidhur"</string>
+ <string name="CfMmi" msgid="5123218989141573515">"Transferimi i telefonatave"</string>
+ <string name="CwMmi" msgid="9129678056795016867">"Telefonatë në pritje"</string>
+ <string name="BaMmi" msgid="455193067926770581">"Bllokimi i telefonatave"</string>
+ <string name="PwdMmi" msgid="7043715687905254199">"Ndryshimi i fjalëkalimit"</string>
+ <string name="PinMmi" msgid="3113117780361190304">"Ndryshim PIN-i"</string>
+ <string name="CnipMmi" msgid="3110534680557857162">"Numri i telefonatës është i pranishëm"</string>
+ <string name="CnirMmi" msgid="3062102121430548731">"Numri i telefonatës është i kufizuar"</string>
+ <string name="ThreeWCMmi" msgid="9051047170321190368">"Telefonata me tre drejtime"</string>
+ <string name="RuacMmi" msgid="7827887459138308886">"Refuzimi i telefonatave të padëshirueshme e të bezdisshme"</string>
+ <string name="CndMmi" msgid="3116446237081575808">"Dërgimi i numrit të telefonit"</string>
+ <string name="DndMmi" msgid="1265478932418334331">"Mos shqetëso"</string>
+ <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"ID-ja e telefonuesit kalon me paracaktim në listën e të telefonuesve të kufizuar. Telefonata e radhës: E kufizuar!"</string>
+ <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"ID-ja e telefonuesit kalon me paracaktim në listën e të telefonuesve të kufizuar. Telefonata e radhës: e pakufizuar!"</string>
+ <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"ID-ja e telefonuesit kalon me paracaktim në listën e të telefonuesve të pakufizuar. Telefonata e radhës: e kufizuar!"</string>
+ <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"ID-ja e telefonuesit kalon me paracaktim në listën e të telefonuesve të pakufizuar. Telefonata e radhës: e pakufizuar!"</string>
+ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Shërbimi nuk është përgatitur."</string>
+ <string name="CLIRPermanent" msgid="3377371145926835671">"Nuk mund ta ndryshosh cilësimin e ID-së së telefonuesit."</string>
+ <string name="RestrictedChangedTitle" msgid="5592189398956187498">"Qasja e kufizuar u ndryshua"</string>
+ <string name="RestrictedOnData" msgid="8653794784690065540">"Shërbimi i të dhënave është i bllokuar."</string>
+ <string name="RestrictedOnEmergency" msgid="6581163779072833665">"Shërbimi i urgjencës është i bllokuar."</string>
+ <string name="RestrictedOnNormal" msgid="4953867011389750673">"Shërbimi me zë është bllokuar."</string>
+ <string name="RestrictedOnAllVoice" msgid="3396963652108151260">"Të gjitha shërbimet me zë janë të bllokuara."</string>
+ <string name="RestrictedOnSms" msgid="8314352327461638897">"Shërbimi SMS është i bllokuar."</string>
+ <string name="RestrictedOnVoiceData" msgid="996636487106171320">"Shërbimet zanore/të të dhënave janë bllokuar."</string>
+ <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"Shërbimet me zë/SMS-të janë të bllokuara."</string>
+ <string name="RestrictedOnAll" msgid="5643028264466092821">"Të gjitha shërbimet me zë/të të dhënave/SMS-të janë bllokuar."</string>
+ <string name="peerTtyModeFull" msgid="6165351790010341421">"Homologu yt kërkoi modalitet \"TTY\" të plotë"</string>
+ <string name="peerTtyModeHco" msgid="5728602160669216784">"Homologu kërkoi modalitet \"TTY\" të llojit \"HCO\""</string>
+ <string name="peerTtyModeVco" msgid="1742404978686538049">"Homologu yt kërkoi modalitet \"TTY\" të llojit \"VCO\""</string>
+ <string name="peerTtyModeOff" msgid="3280819717850602205">"Homologu kërkoi modalitet \"TTY\" të çaktivizuar"</string>
+ <string name="serviceClassVoice" msgid="1258393812335258019">"Zëri"</string>
+ <string name="serviceClassData" msgid="872456782077937893">"Të dhëna"</string>
+ <string name="serviceClassFAX" msgid="5566624998840486475">"Faks"</string>
+ <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string>
+ <string name="serviceClassDataAsync" msgid="4523454783498551468">"jo-sinkronizim"</string>
+ <string name="serviceClassDataSync" msgid="7530000519646054776">"Sinkronizo"</string>
+ <string name="serviceClassPacket" msgid="6991006557993423453">"Paketë"</string>
+ <string name="serviceClassPAD" msgid="3235259085648271037">"PAD"</string>
+ <string name="roamingText0" msgid="7170335472198694945">"Treguesi i roaming-ut është aktivizuar"</string>
+ <string name="roamingText1" msgid="5314861519752538922">"Treguesi i roaming-ut është çaktivizuar"</string>
+ <string name="roamingText2" msgid="8969929049081268115">"Treguesi i roaming-ut po pulson"</string>
+ <string name="roamingText3" msgid="5148255027043943317">"Larg periferisë"</string>
+ <string name="roamingText4" msgid="8808456682550796530">"Jashtë ndërtesës"</string>
+ <string name="roamingText5" msgid="7604063252850354350">"Roaming - Sistemi i preferuar"</string>
+ <string name="roamingText6" msgid="2059440825782871513">"Roaming - Sistemi i mundësuar"</string>
+ <string name="roamingText7" msgid="7112078724097233605">"Roaming - \"Partner Aleance\""</string>
+ <string name="roamingText8" msgid="5989569778604089291">"Roaming - \"Premium Partner\""</string>
+ <string name="roamingText9" msgid="7969296811355152491">"Roaming - Funksionalitet i plotë shërbimi"</string>
+ <string name="roamingText10" msgid="3992906999815316417">"Roaming - Funksionalitet i pjesshëm shërbimi"</string>
+ <string name="roamingText11" msgid="4154476854426920970">"Lajmëruesi i roaming-ut është i aktivizuar"</string>
+ <string name="roamingText12" msgid="1189071119992726320">"Lajmëruesi i roaming-ut është i çaktivizuar"</string>
+ <string name="roamingTextSearching" msgid="8360141885972279963">"Po kërkon për shërbim"</string>
+ <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Telefonatë me Wi-Fi"</string>
+ <string-array name="wfcOperatorErrorAlertMessages">
+ </string-array>
+ <string-array name="wfcOperatorErrorNotificationMessages">
+ </string-array>
+ <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
+ <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Joaktiv"</string>
+ <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferohet Wi-Fi"</string>
+ <string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"Preferohet rrjeti celular"</string>
+ <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"Vetëm Wi-Fi"</string>
+ <string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: Nuk u transferua"</string>
+ <string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string>
+ <string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g> pas <xliff:g id="TIME_DELAY">{2}</xliff:g> sekondash"</string>
+ <string name="cfTemplateRegistered" msgid="5073237827620166285">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: Nuk u transferua"</string>
+ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: Nuk u transferua"</string>
+ <string name="fcComplete" msgid="3118848230966886575">"Kodi i funksionit është i plotë."</string>
+ <string name="fcError" msgid="3327560126588500777">"Problem me lidhjen ose kod është i pavlefshëm."</string>
+ <string name="httpErrorOk" msgid="1191919378083472204">"Në rregull!"</string>
+ <string name="httpError" msgid="7956392511146698522">"Pati një gabim në rrjet."</string>
+ <string name="httpErrorLookup" msgid="4711687456111963163">"Nuk mundi ta gjente URL-në."</string>
+ <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"Skema e vërtetimit nuk mbështetet."</string>
+ <string name="httpErrorAuth" msgid="1435065629438044534">"Nuk mundi ta vërtetonte."</string>
+ <string name="httpErrorProxyAuth" msgid="1788207010559081331">"Vërtetimi përmes serverit të autorizuar ishte i pasuksesshëm."</string>
+ <string name="httpErrorConnect" msgid="8714273236364640549">"Nuk mundi të lidhej me serverin."</string>
+ <string name="httpErrorIO" msgid="2340558197489302188">"Nuk mund të komunikohej me serverin. Provo sërish."</string>
+ <string name="httpErrorTimeout" msgid="4743403703762883954">"Lidhjes me serverin i përfundoi koha."</string>
+ <string name="httpErrorRedirectLoop" msgid="8679596090392779516">"Faqja përmban shumë ri-drejtime të serverit."</string>
+ <string name="httpErrorUnsupportedScheme" msgid="5015730812906192208">"Protokolli nuk mbështetet."</string>
+ <string name="httpErrorFailedSslHandshake" msgid="96549606000658641">"Nuk mund të vendosej një lidhje e sigurt."</string>
+ <string name="httpErrorBadUrl" msgid="3636929722728881972">"Nuk mundi ta hapte faqen sepse URL-ja është e pavlefshme."</string>
+ <string name="httpErrorFile" msgid="2170788515052558676">"Nuk mundi të qasej te skedari."</string>
+ <string name="httpErrorFileNotFound" msgid="6203856612042655084">"Nuk mundi ta gjente skedarin e kërkuar."</string>
+ <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"Po përpunohen shumë kërkesa. Provo sërish më vonë."</string>
+ <string name="notification_title" msgid="8967710025036163822">"Gabim identifikimi për <xliff:g id="ACCOUNT">%1$s</xliff:g>"</string>
+ <string name="contentServiceSync" msgid="8353523060269335667">"Sinkronizo"</string>
+ <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"Sinkronizo"</string>
+ <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Shumë fshirje <xliff:g id="CONTENT_TYPE">%s</xliff:g>."</string>
+ <string name="low_memory" product="tablet" msgid="6494019234102154896">"Hapësira ruajtëse e tabletit është plot. Fshi disa skedarë për të liruar hapësirë."</string>
+ <string name="low_memory" product="watch" msgid="4415914910770005166">"Hapësira ruajtëse e orës është plot. Fshi disa skedarë për të liruar hapësirë."</string>
+ <string name="low_memory" product="tv" msgid="516619861191025923">"Hapësira ruajtëse e televizorit është plot. Fshi disa skedarë për të liruar hapësirë."</string>
+ <string name="low_memory" product="default" msgid="3475999286680000541">"Hapësira ruajtëse e telefonit është plot. Fshi disa skedarë për të liruar hapësirë."</string>
+ <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"Rrjeti mund të monitorohet"</string>
+ <string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"Nga një palë e tretë e panjohur"</string>
+ <string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"Nga administratori i profilit tënd të punës"</string>
+ <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"Nga <xliff:g id="MANAGING_DOMAIN">%s</xliff:g>"</string>
+ <string name="work_profile_deleted" msgid="5005572078641980632">"Profili i punës u fshi"</string>
+ <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profili i punës u fshi për shkak të mungesës së aplikacionit të administratorit."</string>
+ <string name="work_profile_deleted_details" msgid="226615743462361248">"Aplikacioni i administratorit të profilit të punës mungon ose është dëmtuar. Si rezultat i kësaj, profili yt i punës dhe të dhënat përkatëse janë fshirë. Kontakto administratorin tënd për ndihmë."</string>
+ <string name="factory_reset_warning" msgid="5423253125642394387">"Pajisja do të spastrohet"</string>
+ <string name="factory_reset_message" msgid="4905025204141900666">"Aplikacionit të administratorit i mungojnë përbërësit ose është dëmtuar dhe nuk mund të përdoret. Pajisja jote tani do të fshihet. Kontakto administratorin tënd për ndihmë."</string>
+ <string name="me" msgid="6545696007631404292">"Unë"</string>
+ <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Opsionet e tabletit"</string>
+ <string name="power_dialog" product="tv" msgid="6153888706430556356">"Opsionet e televizorit"</string>
+ <string name="power_dialog" product="default" msgid="1319919075463988638">"Opsionet e telefonit"</string>
+ <string name="silent_mode" msgid="7167703389802618663">"Modaliteti \"në heshtje\""</string>
+ <string name="turn_on_radio" msgid="3912793092339962371">"Aktivizo radion"</string>
+ <string name="turn_off_radio" msgid="8198784949987062346">"Çaktivizo radion"</string>
+ <string name="screen_lock" msgid="799094655496098153">"Kyçja e ekranit"</string>
+ <string name="power_off" msgid="4266614107412865048">"Fik"</string>
+ <string name="silent_mode_silent" msgid="319298163018473078">"Zilja është çaktivizuar"</string>
+ <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zile me dridhje"</string>
+ <string name="silent_mode_ring" msgid="8592241816194074353">"Zilja u aktivizua"</string>
+ <string name="shutdown_progress" msgid="2281079257329981203">"Po fiket…"</string>
+ <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tableti yt do të fiket."</string>
+ <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizori yt do të fiket."</string>
+ <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"Ora jote do të fiket."</string>
+ <string name="shutdown_confirm" product="default" msgid="649792175242821353">"Telefoni yt do të fiket."</string>
+ <string name="shutdown_confirm_question" msgid="2906544768881136183">"Dëshiron ta fikësh?"</string>
+ <string name="reboot_safemode_title" msgid="7054509914500140361">"Rifillo në \"modalitetin e sigurisë\""</string>
+ <string name="reboot_safemode_confirm" msgid="55293944502784668">"Dëshiron ta rinisësh në modalitetin e sigurt? Kjo do të çaktivizojë të gjitha aplikacionet e palëve të treta që ke instaluar. Ato do të rivendosen kur ta nisësh sërish."</string>
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Të fundit"</string>
+ <string name="no_recent_tasks" msgid="8794906658732193473">"Nuk ka aplikacione të fundit."</string>
+ <string name="global_actions" product="tablet" msgid="408477140088053665">"Opsionet e tabletit"</string>
+ <string name="global_actions" product="tv" msgid="7240386462508182976">"Opsionet e televizorit"</string>
+ <string name="global_actions" product="default" msgid="2406416831541615258">"Opsionet e telefonit"</string>
+ <string name="global_action_lock" msgid="2844945191792119712">"Kyçja e ekranit"</string>
+ <string name="global_action_power_off" msgid="4471879440839879722">"Fik"</string>
+ <string name="global_action_bug_report" msgid="7934010578922304799">"Raporti i defekteve në kod"</string>
+ <string name="bugreport_title" msgid="2667494803742548533">"Merr raportin e defekteve në kod"</string>
+ <string name="bugreport_message" msgid="398447048750350456">"Kjo do të mbledhë informacione rreth gjendjes aktuale të pajisjes për ta dërguar si mesazh mail-i. Do të duhet pak kohë nga nisja e raportit të defektit në kod. Faleminderit për durimin."</string>
+ <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"Modaliteti \"në heshtje\""</string>
+ <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"Zëri është çaktivizuar"</string>
+ <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"Zëri është i aktivizuar"</string>
+ <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"modaliteti \"në aeroplan\""</string>
+ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Modaliteti \"në aeroplan\" është i aktivizuar."</string>
+ <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Modaliteti \"në aeroplan\" është i çaktivizuar."</string>
+ <string name="global_action_settings" msgid="1756531602592545966">"Cilësimet"</string>
+ <string name="global_action_assist" msgid="3892832961594295030">"Ndihma"</string>
+ <string name="global_action_voice_assist" msgid="7751191495200504480">"Ndihma zanore"</string>
+ <string name="global_action_lockdown" msgid="8751542514724332873">"Kyç tani"</string>
+ <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string>
+ <string name="safeMode" msgid="2788228061547930246">"Modaliteti i sigurisë"</string>
+ <string name="android_system_label" msgid="6577375335728551336">"Sistemi \"android\""</string>
+ <string name="user_owner_label" msgid="6465364741001216388">"Aplikacione personale"</string>
+ <string name="managed_profile_label" msgid="6260850669674791528">"Puna"</string>
+ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktet"</string>
+ <string name="permgroupdesc_contacts" msgid="1437393511338346185">"të qaset dhe të modifikojë kontaktet e tua"</string>
+ <string name="permgrouplab_location" msgid="7275582855722310164">"Vendndodhja"</string>
+ <string name="permgroupdesc_location" msgid="536889867433972794">"të qaset te vendondodhja jote"</string>
+ <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informacionet e tua sociale"</string>
+ <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Qasje e drejtpërdrejtë në informacionin e kontakteve të tua dhe lidhjeve sociale."</string>
+ <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendari"</string>
+ <string name="permgroupdesc_calendar" msgid="2116049656685591803">"të qaset dhe të modifikojë kalendarin tënd"</string>
+ <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
+ <string name="permgroupdesc_sms" msgid="3695085582674524761">"të qaset dhe të modifikojë mesazhet SMS"</string>
+ <string name="permgrouplab_dictionary" msgid="8114410334955871144">"Fjalori i përdoruesit"</string>
+ <string name="permgroupdesc_dictionary" msgid="7586787746354378335">"Të lexojë ose të shkruajë fjalë në fjalorin e përdoruesit."</string>
+ <string name="permgrouplab_bookmarks" msgid="1949519673103968229">"Faqeshënuesit dhe historiku"</string>
+ <string name="permgroupdesc_bookmarks" msgid="4169771606257963028">"Qasje të drejtpërdrejtë në faqet e ruajtura si dhe historinë e shfletuesit."</string>
+ <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikrofoni"</string>
+ <string name="permgroupdesc_microphone" msgid="1296196977187629181">"të përdorë mikrofonin e pajisjes"</string>
+ <string name="permgrouplab_camera" msgid="4820372495894586615">"Kamera"</string>
+ <string name="permgroupdesc_camera" msgid="2429930670410559293">"të përdorë kamerën e pajisjes"</string>
+ <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefoni"</string>
+ <string name="permgroupdesc_phone" msgid="2016641188146068700">"të përdorë telefoninë e pajisjes"</string>
+ <string name="permgrouplab_sensors" msgid="7416703484233940260">"Sensorët"</string>
+ <string name="permgroupdesc_sensors" msgid="2987451839455524494">"të qaset te sensorët dhe pajisjet që vishen"</string>
+ <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Gjej përmbajtjen e dritares"</string>
+ <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspekto përmbajtjen e dritares me të cilën po bashkëvepron."</string>
+ <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Aktivizo \"Eksploro me prekje\""</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Artikujt e prekur do të lexohen me zë të lartë dhe ekrani mund të eksplorohet duke përdorur gjeste."</string>
+ <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"Aktivizo qasjen e zgjeruar në ueb"</string>
+ <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"Skriptet mund të instalohen për ta bërë përmbajtjen e aplikacionit më të qasshme."</string>
+ <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"Vëzhgo tekstin që shkruan"</string>
+ <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"Përfshin të dhëna personale si numra kartash krediti dhe fjalëkalime."</string>
+ <string name="permlab_statusBar" msgid="7417192629601890791">"çaktivizo ose modifiko shiritin e statusit"</string>
+ <string name="permdesc_statusBar" msgid="8434669549504290975">"Lejon aplikacionin të çaktivizojë shiritin e statusit dhe të heqë ikonat e sistemit."</string>
+ <string name="permlab_statusBarService" msgid="7247281911387931485">"shiriti i statusit"</string>
+ <string name="permdesc_statusBarService" msgid="716113660795976060">"Lejon aplikacionin të bëhet shiriti i statusit."</string>
+ <string name="permlab_expandStatusBar" msgid="1148198785937489264">"zgjero ose shpalos shiritin e statusit"</string>
+ <string name="permdesc_expandStatusBar" msgid="6917549437129401132">"Lejon aplikacionin të zgjerojë ose shpalosë shiritin e statusit."</string>
+ <string name="permlab_install_shortcut" msgid="4279070216371564234">"instalo shkurtore"</string>
+ <string name="permdesc_install_shortcut" msgid="8341295916286736996">"Lejon një aplikacion për të shtuar shkurtore në ekranin bazë pa ndërhyrjen e përdoruesit."</string>
+ <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"çinstalo shkurtore"</string>
+ <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"Lejon aplikacionin të heqë shkurtore në ekranin bazë, pa ndërhyrjen e përdoruesit."</string>
+ <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"ridrejto telefonatat dalëse"</string>
+ <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"Lejon aplikacionin të shohë numrin që telefonohet gjatë një telefonate dalëse me opsionin për ta ri-orientuar telefonatën drejt një numri tjetër ose për ta ndërprerë plotësisht telefonatën."</string>
+ <string name="permlab_receiveSms" msgid="8673471768947895082">"merr mesazhe me tekst (SMS)"</string>
+ <string name="permdesc_receiveSms" msgid="6424387754228766939">"Lejon aplikacionin të marrë dhe përpunojë mesazhe SMS. Kjo do të thotë se aplikacioni mund të monitorojë ose fshijë mesazhe të dërguara në pajisjen tënde, pa t\'i treguar ato."</string>
+ <string name="permlab_receiveMms" msgid="1821317344668257098">"prano mesazhe në tekst (MMS)"</string>
+ <string name="permdesc_receiveMms" msgid="533019437263212260">"Lejon aplikacionin të marrë dhe përpunojë mesazhe MMS. Kjo do të thotë se aplikacioni mund të monitorojë ose fshijë mesazhe të dërguara në pajisjen tënde, pa t\'i treguar ato."</string>
+ <string name="permlab_sendSms" msgid="5600830612147671529">"dërgo mesazhe SMS"</string>
+ <string name="permdesc_sendSms" msgid="7094729298204937667">"Lejon aplikacionin të dërgojë mesazhe SMS. Kjo mund të rezultojë me tarifa të papritura. Aplikacionet keqdashëse mund të të kushtojnë të holla duke dërguar mesazhe pa konfirmimin tënd."</string>
+ <string name="permlab_readSms" msgid="8745086572213270480">"lexo mesazhet e tua në tekst (SMS ose MMS)"</string>
+ <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Lejon aplikacionin të lexojë mesazhet SMS të ruajtura në tablet ose kartën SIM. Kjo i mundëson aplikacionit të lexojë të gjitha mesazhet SMS, pavarësisht përmbajtjes apo privatësisë."</string>
+ <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Lejon aplikacionin të lexojë mesazhet SMS të ruajtura në televizor ose kartën SIM. Kjo i mundëson aplikacionit të lexojë të gjitha mesazhet SMS, pavarësisht përmbajtjes apo privatësisë."</string>
+ <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Lejon aplikacionin të lexojë mesazhe SMS të ruajtur në telefonin tënd apo në kartën SIM. Kjo e lejon aplikacionin të lexojë të gjitha mesazhet SMS, pavarësisht përmbajtjes ose privatësisë së tyre."</string>
+ <string name="permlab_receiveWapPush" msgid="5991398711936590410">"merr mesazhe me tekst (WAP)"</string>
+ <string name="permdesc_receiveWapPush" msgid="748232190220583385">"Lejon aplikacionin të marrë dhe përpunojë mesazhe WAP. Kjo do të thotë se aplikacioni mund të monitorojë ose fshijë mesazhe të dërguara në pajisjen tënde, pa t\'i treguar ato."</string>
+ <string name="permlab_getTasks" msgid="6466095396623933906">"gjej aplikacionet në punë"</string>
+ <string name="permdesc_getTasks" msgid="7454215995847658102">"Lejon aplikacionin të gjejë informacione mbi detyrat aktuale dhe të fundit në punë. Kjo mund të lejojë aplikacionin të zbulojë informacione rreth aplikacioneve të përdorura në pajisje."</string>
+ <string name="permlab_reorderTasks" msgid="2018575526934422779">"ri-poziciono aplikacionet në punë"</string>
+ <string name="permdesc_reorderTasks" msgid="7734217754877439351">"Lejon aplikacionin të zhvendosë detyra në plan të parë dhe në sfond. Aplikacioni mund ta bëjë këtë pa hyrjen tënde."</string>
+ <string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivizo modalitetin \"në makinë\""</string>
+ <string name="permdesc_enableCarMode" msgid="4853187425751419467">"Lejon aplikacionin të aktivizojë modalitetin e makinës."</string>
+ <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"mbylli aplikacionet e tjera"</string>
+ <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"Lejon aplikacionin t\'u japë fund proceseve në sfond të aplikacioneve të tjera. Kjo mund të shkaktojë mosfunksionimin e aplikacioneve të tjera."</string>
+ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"mbulo aplikacionet e tjera"</string>
+ <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"Lejon aplikacionin të dalë mbi aplikacionet e tjera ose pjesët e ndërfaqes përdoruese. Ato mund të ndërhyjnë në përdorimin tënd të ndërfaqes së çdo aplikacioni, ose të ndryshojnë atë që mendon se po sheh në aplikacionet e tjera."</string>
+ <string name="permlab_persistentActivity" msgid="8841113627955563938">"bëje aplikacionin të qëndrojë gjithmonë në punë"</string>
+ <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Lejon aplikacionin të zaptojë një pjesë të qëndrueshme në kujtesë. Kjo mund të kufizojë kujtesën e disponueshme për aplikacionet e tjera duke e ngadalësuar tabletin."</string>
+ <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"Lejon aplikacionin të zaptojë një pjesë të qëndrueshme në kujtesë. Kjo mund të kufizojë kujtesën e disponueshme për aplikacionet e tjera duke e ngadalësuar televizorin."</string>
+ <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Lejon aplikacionin të zaptojë një pjesë të qëndrueshme në kujtesë. Kjo mund të kufizojë kujtesën e disponueshme për aplikacionet e tjera duke e ngadalësuar telefonin."</string>
+ <string name="permlab_getPackageSize" msgid="7472921768357981986">"mat hapësirën ruajtëse të aplikacionit"</string>
+ <string name="permdesc_getPackageSize" msgid="3921068154420738296">"Lejon aplikacionin të gjejë kodin e tij, të dhënat dhe madhësitë e memorieve të përkohshme."</string>
+ <string name="permlab_writeSettings" msgid="2226195290955224730">"modifiko cilësimet e sistemit"</string>
+ <string name="permdesc_writeSettings" msgid="7775723441558907181">"Lejon aplikacionin të modifikojë të dhënat e cilësimeve të sistemit. Aplikacionet keqdashëse mund të prishin konfigurimin e sistemit."</string>
+ <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"nise në fillim"</string>
+ <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Lejon aplikacionin të fillojë vetë sapo sistemi ka mbaruar nisjen. Kjo mund të zgjasë kohën e ngritjes së tabletit dhe të lejojë aplikacionin të ngadalësojë veprimtarinë në përgjithësi, duke qenë gjithmonë në punë."</string>
+ <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Lejon aplikacionin të fillojë vetë sapo sistemi ka mbaruar nisjen. Kjo mund të zgjasë kohën e ngritjes së televizorit dhe të lejojë aplikacionin të ngadalësojë veprimtarinë në përgjithësi, duke qenë gjithmonë në punë."</string>
+ <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"Lejon aplikacionin të fillojë vetë sapo sistemi të ketë mbaruar nisjen. Kjo mund të zgjasë kohën e ngritjes së telefonit dhe të lejojë aplikacionin të ngadalësojë përgjithësisht telefonin duke qëndruar gjithnjë në punë."</string>
+ <string name="permlab_broadcastSticky" msgid="7919126372606881614">"dërgo transmetim të ngjitur"</string>
+ <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Lejon aplikacionin të dërgojë transmetime ngjitëse që qëndrojnë derisa të përfundojë transmetimi. Përdorimi i tepruar mund ta bëjë tabletin të ngadaltë ose të paqëndrueshëm duke e detyruar atë të përdorë shumë kujtesë."</string>
+ <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Lejon aplikacionin të dërgojë transmetime ngjitëse të cilat ngelen pas mbarimit të transmetimit. Përdorimi i tepërt mund ta bëjë televizorin të ngadaltë ose të paqëndrueshëm, duke e detyruar atë të përdorë më shumë kujtesë."</string>
+ <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Lejon aplikacionin të dërgojë transmetime ngjitëse që qëndrojnë derisa të përfundojë transmetimi. Përdorimi i tepruar mund ta bëjë telefonin të ngadaltë ose të paqëndrueshëm duke e detyruar atë të përdorë shumë kujtesë."</string>
+ <string name="permlab_readContacts" msgid="8348481131899886131">"lexo kontaktet e tua"</string>
+ <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Lejon aplikacionin të lexojë të dhëna rreth kontakteve të ruajtura në tabletin tënd, përfshirë shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a ose komunikuar në mënyra të tjera me individë të caktuar. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e tua të kontakteve, ndaj aplikacionet keqdashëse mund të ndajnë të dhëna të kontakteve pa dijeninë tënde."</string>
+ <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Lejon aplikacionin të lexojë të dhëna rreth kontakteve të ruajtura në televizorin tënd, përfshirë shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a ose komunikuar në mënyra të tjera me individë të caktuar. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e tua të kontakteve, ndaj aplikacionet keqdashëse mund të ndajnë të dhëna të kontakteve pa dijeninë tënde."</string>
+ <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Lejon aplikacionin të lexojë të dhëna rreth kontakteve të ruajtura në telefonin tënd, përfshirë shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a ose komunikuar në mënyra të tjera me individë të caktuar. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e tua të kontakteve, ndaj aplikacionet keqdashëse mund të ndajnë të dhëna të kontakteve pa dijeninë tënde."</string>
+ <string name="permlab_writeContacts" msgid="5107492086416793544">"modifiko kontaktet"</string>
+ <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Lejon aplikacionin të modifikojë të dhënat rreth kontakteve të tua të ruajtura në tabletin tënd, përfshi shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a apo ke komunikuar në rrugë të tjera me kontakte të veçanta. Kjo leje u mundëson aplikacioneve të fshijnë të dhënat e kontaktit."</string>
+ <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Lejon aplikacionin të modifikojë të dhënat rreth kontakteve të tua të ruajtura në televizorin tënd, përfshi shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a apo komunikuar në rrugë të tjera me kontakte të veçanta. Kjo leje u mundëson aplikacioneve të fshijnë të dhënat e kontaktit."</string>
+ <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Lejon aplikacionin të modifikojë të dhënat e kontakteve të tua të ruajtura në telefon, përfshirë shpeshtësinë me të cilën ke telefonuar, ke dërguar mail-a apo ke komunikuar në rrugë të tjera me kontakte të veçanta. Kjo leje iu mundëson aplikacioneve të fshijnë të dhënat e kontakteve."</string>
+ <string name="permlab_readCallLog" msgid="3478133184624102739">"lexo ditarin e telefonatave"</string>
+ <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Lejon aplikacionin të lexojë ditarin e telefonatave të kryera nga tableti yt, përfshirë të dhëna rreth telefonatave hyrëse dhe dalëse. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e ditarit tënd të telefonatave ndërkohë që aplikacionet keqdashëse mund të ndajnë të dhënat e ditarit të telefonatave pa dijeninë tënde."</string>
+ <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Lejon aplikacionin të lexojë ditarin e telefonatave të kryera nga televizori yt, përfshirë të dhëna rreth telefonatave hyrëse dhe dalëse. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e ditarit tënd të telefonatave ndërkohë që aplikacionet keqdashëse mund të ndajnë të dhënat e ditarit të telefonatave pa dijeninë tënde."</string>
+ <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Lejon aplikacionin të lexojë ditarin e telefonatave të telefonit tënd, përfshirë të dhëna rreth telefonatave hyrëse dhe dalëse. Kjo leje u mundëson aplikacioneve të ruajnë të dhënat e ditarit tënd të telefonatave ndërkohë që aplikacionet keqdashëse mund të ndajnë të dhënat e ditarit të telefonatave pa dijeninë tënde."</string>
+ <string name="permlab_writeCallLog" msgid="8552045664743499354">"shkruaj ditarin e telefonatave"</string>
+ <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Lejon aplikacionin të modifikojë ditarin e telefonatave të tabletit tënd, përfshirë të dhëna rreth telefonatave hyrëse dhe dalëse. Aplikacione keqdashëse mund ta përdorin këtë leje për të fshirë ose modifikuar ditarin tënd të telefonatave."</string>
+ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Lejon aplikacionin të modifikojë ditarin e telefonatave të televizorit tënd, përfshirë të dhëna rreth telefonatave hyrëse dhe dalëse. Aplikacione keqdashëse mund ta përdorin këtë leje për të fshirë ose modifikuar ditarin tënd të telefonatave."</string>
+ <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Lejon aplikacionin të modifikojë ditarin e telefonatave të telefonit tënd, përfshirë të dhënat rreth telefonatave hyrëse dhe dalëse. Aplikacionet keqdashëse mund ta përdorin këtë për të fshirë ose modifikuar ditarin tënd të telefonatave."</string>
+ <string name="permlab_readProfile" msgid="4701889852612716678">"lexo kartën tënde të kontakteve"</string>
+ <string name="permdesc_readProfile" product="default" msgid="5462475151849888848">"Lejon aplikacionin të lexojë informacionin personal të profilit të ruajtur në pajisjen tënde, siç është emri yt dhe informacioni i kontaktit. Kjo do të thotë se aplikacioni mund të të identifikojë dhe t\'u dërgojë të tjerëve informacionin e profilit tënd."</string>
+ <string name="permlab_writeProfile" msgid="907793628777397643">"modifiko kartën tënde të kontaktit"</string>
+ <string name="permdesc_writeProfile" product="default" msgid="5552084294598465899">"Lejon aplikacionin të ndryshojë ose shtojë informacionin personal të profilit të ruajtur në pajisjen tënde, siç është emri yt dhe informacioni i kontaktit. Kjo do të thotë se aplikacioni mund të të identifikojë dhe t\'u dërgojë të tjerëve informacionin e profilit tënd."</string>
+ <string name="permlab_bodySensors" msgid="4871091374767171066">"ndjesorët e trupit (si monitorimet e rrahjeve të zemrës)"</string>
+ <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Lejon aplikacionin të ketë qasje në të dhënat nga ndjesorë që monitorojnë gjendjen tënde fizike, siç janë rrahjet e zemrës."</string>
+ <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lexo transmetimin tënd social"</string>
+ <string name="permdesc_readSocialStream" product="default" msgid="4255706027172050872">"Lejon aplikacionin të ketë qasje dhe të sinkronizojë përditësime shoqërore nga ty dhe miqtë e tu. Ki kujdes kur ndan informacione - kjo e lejon aplikacionin të lexojë komunikime mes teje dhe miqve të tu në rrjetet sociale, pavarësisht privatësisë. Shënim. Kjo leje nuk mund të zbatohet në të gjitha rrjetet sociale."</string>
+ <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"shkruaj në transmetimin tënd social"</string>
+ <string name="permdesc_writeSocialStream" product="default" msgid="3086557552204114849">"Lejon aplikacionin të shfaqë përditësime shoqërore nga miqtë. Ki kujdes kur ndan informacione - kjo e lejon aplikacionin të prodhojë mesazhe që mund të duken se vijnë nga një mik. Shënim. Kjo leje mund të mos zbatohet në të gjithë rrjetet sociale."</string>
+ <string name="permlab_readCalendar" msgid="5972727560257612398">"lexo ngjarjet kalendarike si dhe informacionin e privatësisë së tyre"</string>
+ <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Lejon aplikacionin të lexojë të gjitha ngjarjet kalendarike të ruajtura në tabletin tënd, përfshirë ato të miqve ose kolegëve. Kjo mund ta lejojë aplikacionin të ndajë ose ruajë të dhënat e tua të kalendarit, pavarësisht privatësisë ose ndjeshmërisë së tyre."</string>
+ <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Lejon aplikacionin të lexojë të gjitha ngjarjet kalendarike të ruajtura në televizorin tënd, përfshi ato të miqve apo kolegëve të tu. Kjo mund ta lejojë aplikacionin të ndajë ose ruajë të dhënat kalendarike, pavarësisht privatësisë ose ndjeshmërisë së tyre."</string>
+ <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Lejon aplikacionin të lexojë të gjitha ngjarjet kalendarike të ruajtura në telefonin tënd, përfshi ato të miqve apo kolegëve të tu. Kjo mund ta lejojë aplikacionin të ndajë ose ruajë të dhënat kalendarike, pavarësisht privatësisë ose ndjeshmërisë së tyre."</string>
+ <string name="permlab_writeCalendar" msgid="8438874755193825647">"shto ose modifiko ngjarjet e kalendarit dhe dërgoju mail të ftuarve, pa dijeninë e zotëruesve"</string>
+ <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Lejon aplikacionin të shtojë, të heqë ose të ndryshojë ngjarje që mund t\'i modifikosh në tabletin tënd, përfshirë ato të miqve apo kolegëve të punës. Kjo mund ta lejojë aplikacionin të dërgojë mesazhe që duket se vijnë nga zotëruesit e kalendarëve, ose të modifikojë ngjarje pa dijeninë e zotëruesve."</string>
+ <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"Lejon aplikacionin të shtojë, të heqë ose të ndryshojë ngjarje që mund t\'i modifikosh në televizorin tënd, përfshirë ato të miqve apo kolegëve të punës. Kjo mund ta lejojë aplikacionin të dërgojë mesazhe që duket se vijnë nga zotëruesit e kalendarëve, ose të modifikojë ngjarje pa dijeninë e zotëruesve."</string>
+ <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"Lejon aplikacionin të shtojë, heqë, ndryshojë ngjarje që mund t\'i modifikosh në telefonin tënd, përfshi ato të miqve ose kolegëve. Kjo mund ta lejojë aplikacionin të dërgojë mesazhe që duken se vijnë nga zotëruesit e kalendarëve, ose të modifikojë ngjarje pa dijeninë e zotëruesve."</string>
+ <string name="permlab_accessMockLocation" msgid="8688334974036823330">"imito burimet e vendndodhjes për testim"</string>
+ <string name="permdesc_accessMockLocation" msgid="5808711039482051824">"Krijo burime imituese të vendndodhjes për testim ose instalo një ofrues të ri për vendndodhjen. Kjo lejon aplikacionin të mos refuzojë vendndodhjen dhe/ose statusin e rezultuar nga burime të tjera të vendndodhjes si GPS-ja ose ofruesit të saj."</string>
+ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"qasje në komandat shtesë të ofruesit të vendndodhjes"</string>
+ <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"Lejon aplikacionin të ketë qasje në komandat shtesë të ofruesit për vendndodhjen. Kjo mund ta lejojë aplikacionin të ndërhyjë në operacionin e GPS-së apo të burimeve të tjera për vendndodhjen."</string>
+ <string name="permlab_accessFineLocation" msgid="1191898061965273372">"vendndodhja e përpiktë (në bazë të GPS-së dhe rrjetit)"</string>
+ <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Lejon aplikacionin të gjejë vendndodhjen tënde të saktë duke përdorur \"Sistemin global të pozicionimit\" (GPS) ose burime të vendndodhjes së rrjetit sikurse antena të operatorëve celularë apo lidhje Wi-Fi. Këto shërbime vendndodhjeje duhet të aktivizohen dhe të ofrohen për pajisjen tënde, në mënyrë që të përdoren nga aplikacioni. Aplikacionet mund ta përdorin këtë për të përcaktuar vendndodhjen momentale, edhe pse ky funksion mund të kërkojë energji shtesë të baterisë."</string>
+ <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"vendndodhja e përafërt (bazuar në rrjet)"</string>
+ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Lejon aplikacionin të gjejë vendndodhjen tënde të përafërt. Përcaktimi i saj rrjedh nga shërbimet që përdorin burimet e vendndodhjes së rrjetit siç janë antenat e operatorëve celularë apo lidhje Wi-Fi. Këto shërbime vendndodhjeje duhet të aktivizohen dhe të ofrohen për pajisjen tënde, në mënyrë që të përdoren nga aplikacioni. Aplikacionet mund ta përdorin këtë për të përcaktuar afërsisht se ku ndodhesh."</string>
+ <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"ndrysho cilësimet e audios"</string>
+ <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Lejon aplikacionin të modifikojë cilësimet globale të audios siç është volumi dhe se cili altoparlant përdoret për daljen."</string>
+ <string name="permlab_recordAudio" msgid="3876049771427466323">"regjistro audio"</string>
+ <string name="permdesc_recordAudio" msgid="4906839301087980680">"Lejon aplikacionin të regjistrojë klipe audio me mikrofon. Kjo leje i mundëson aplikacionit të regjistrojë në çdo kohë pa konfirmimin tënd."</string>
+ <string name="permlab_sim_communication" msgid="1180265879464893029">"komunikimi i kartës SIM"</string>
+ <string name="permdesc_sim_communication" msgid="5725159654279639498">"Lejon aplikacionin t\'i dërgojë komanda kartës SIM. Kjo është shumë e rrezikshme."</string>
+ <string name="permlab_camera" msgid="3616391919559751192">"bëj fotografi dhe video"</string>
+ <string name="permdesc_camera" msgid="8497216524735535009">"Lejon aplikacion të krijojë fotografi dhe video me kamerën. Kjo leje mundëson përdorimin e kamerës në çdo kohë pa konfirmimin tënd."</string>
+ <string name="permlab_vibrate" msgid="7696427026057705834">"kontrollo dridhjen"</string>
+ <string name="permdesc_vibrate" msgid="6284989245902300945">"Lejon aplikacionin të kontrollojë dridhësin."</string>
+ <string name="permlab_flashlight" msgid="2155920810121984215">"kontrollo elektrikun"</string>
+ <string name="permdesc_flashlight" msgid="6522284794568368310">"Lejon aplikacionin të kontrollojë elektrikun."</string>
+ <string name="permlab_callPhone" msgid="3925836347681847954">"telefono drejtpërdrejt numrat e telefonit"</string>
+ <string name="permdesc_callPhone" msgid="3740797576113760827">"Lejon aplikacionin të telefonojë numra pa ndërhyrjen tënde. Kjo mund të rezultojë në tarifa ose telefonata të papritura. Ki parasysh se kjo nuk e lejon aplikacionin të telefonojë numra urgjence. Aplikacione keqdashëse mund të të kushtojnë para duke kryer telefonata pa konfirmimin tënd."</string>
+ <string name="permlab_readPhoneState" msgid="9178228524507610486">"lexo statusin e telefonit dhe identitetin"</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Lejon aplikacionin të hyjë në funksionet telefonike të pajisjes. Kjo leje i mundëson aplikacionit të përcaktojë numrin e telefonit dhe ID-të e pajisjes, nëse një telefonatë është aktive apo nëse numri në distancë është i lidhur me një telefonatë."</string>
+ <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"parandalo kalimin e tabletit në fjetje"</string>
+ <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"parandalo kalimin e televizorit në fjetje"</string>
+ <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"parandalo kalimin e telefonit në fjetje"</string>
+ <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Lejon aplikacionin të parandalojë tabletin nga fjetja."</string>
+ <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"Lejon aplikacionin të parandalojë televizorin nga fjetja."</string>
+ <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"Lejon aplikacionin të parandalojë telefonin nga fjetja."</string>
+ <string name="permlab_transmitIr" msgid="7545858504238530105">"transmeto rreze infra të kuqe"</string>
+ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Lejon aplikacionin të përdorë transmetuesin e rrezeve infra të kuqe të tabletit."</string>
+ <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Lejon aplikacionin të përdorë transmetuesin e rrezeve infra të kuqe të sistemit."</string>
+ <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Lejon aplikacionin të përdorë transmetuesin e rrezeve infra të kuqe të telefonit."</string>
+ <string name="permlab_setWallpaper" msgid="6627192333373465143">"cakto imazhin e sfondit"</string>
+ <string name="permdesc_setWallpaper" msgid="7373447920977624745">"Lejon aplikacionin të caktojë imazhin e sfondit të sistemit."</string>
+ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"përshtat madhësinë e imazhit të sfondit"</string>
+ <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Lejon aplikacionin të caktojë treguesit e imazheve të sfondit në sistem."</string>
+ <string name="permlab_setTimeZone" msgid="2945079801013077340">"cakto brezin orar"</string>
+ <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Lejon aplikacionin të ndryshojë brezin orar të tabletit."</string>
+ <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Lejon aplikacionin të ndryshojë brezin orar të televizorit."</string>
+ <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Lejon aplikacionin të ndryshojë brezin orar të telefonit."</string>
+ <string name="permlab_getAccounts" msgid="1086795467760122114">"gjej llogari në pajisje"</string>
+ <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Lejon aplikacionin të marrë listën e llogarive të njohura nga tableti. Kjo mund të përfshijë çdo llogari të krijuar nga aplikacionet që ke instaluar."</string>
+ <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Lejon aplikacionin të marrë listën e llogarive të njohura nga televizori. Kjo mund të përfshijë çdo llogari të krijuar nga aplikacionet që ke instaluar."</string>
+ <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Lejon aplikacionin të marrë listën e llogarive të njohura nga telefoni. Kjo mund të përfshijë çdo llogari të krijuar nga aplikacionet që ke instaluar."</string>
+ <string name="permlab_authenticateAccounts" msgid="5265908481172736933">"krijo llogari dhe cakto fjalëkalime"</string>
+ <string name="permdesc_authenticateAccounts" msgid="5472124296908977260">"Lejon aplikacionin të përdorë privilegjet e vërtetuesit të llogarisë të \"Menaxherit të llogarisë\", përfshirë krijimin e llogarive, marrjen dhe caktimin e fjalëkalimeve të tyre."</string>
+ <string name="permlab_manageAccounts" msgid="4983126304757177305">"shto ose hiq llogari"</string>
+ <string name="permdesc_manageAccounts" msgid="8698295625488292506">"Lejon aplikacionin të kryejë operacione si shtimin dhe heqjen e llogarive, si dhe fshirjen e fjalëkalimit të tyre."</string>
+ <string name="permlab_useCredentials" msgid="235481396163877642">"përdor llogaritë në pajisje"</string>
+ <string name="permdesc_useCredentials" msgid="7984227147403346422">"Lejon aplikacionin të kërkojë kodet e vërtetimit."</string>
+ <string name="permlab_accessNetworkState" msgid="4951027964348974773">"shiko lidhjet e rrjetit"</string>
+ <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Lejon aplikacionin të shohë informacionin rreth lidhjeve të rrjetit, se çfarë rrjetesh ekzistojnë dhe janë të lidhur."</string>
+ <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"qasje e plotë në rrjet"</string>
+ <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Lejon aplikacionin të krijojë fole rrjeti dhe të përdorë protokolle të personalizuara në të. Shfletuesi dhe aplikacionet e tjera sigurojnë mënyra për të dërguar të dhëna në internet, prandaj kjo leje nuk kërkohet për të dërguar të dhëna në internet."</string>
+ <string name="permlab_changeNetworkState" msgid="958884291454327309">"ndrysho lidhjen e rrjetit"</string>
+ <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"Lejon aplikacionin të ndryshojë gjendjen e lidhjes së rrjetit."</string>
+ <string name="permlab_changeTetherState" msgid="5952584964373017960">"ndrysho lidhjen e kufizuar"</string>
+ <string name="permdesc_changeTetherState" msgid="1524441344412319780">"Lejon aplikacionin të ndryshojë gjendjen e lidhjes së rrjetit."</string>
+ <string name="permlab_accessWifiState" msgid="5202012949247040011">"shiko lidhjet Wi-Fi"</string>
+ <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Lejon aplikacionin të shohë informacionin rreth rrjetit Wi-Fi, nëse Wi-Fi është i aktivizuar dhe emrin e pajisjeve të lidhura me Wi-Fi."</string>
+ <string name="permlab_changeWifiState" msgid="6550641188749128035">"lidhu ose shkëputu nga Wi-Fi"</string>
+ <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Lejon aplikacionin të lidhet me pikat e qasjes Wi-Fi, të shkëputet prej tyre dhe të bëjë ndryshime në konfigurimin e pajisjes për rrjetet Wi-Fi."</string>
+ <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"lejo marrjen e transmetimit të shumëfishtë Wi-Fi"</string>
+ <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Lejon aplikacionin të marrë paketa të dërguara në të gjitha pajisjet brenda një rrjeti Wi-Fi duke përdorur adresa me transferim të shumëfishtë, jo vetëm me tabletin tënd. Përdor më shumë energji se modaliteti \"jo me transferim të shumëfishtë\"."</string>
+ <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Lejon aplikacionin të marrë paketa të dërguara në të gjitha pajisjet brenda një rrjeti Wi-Fi duke përdorur adresa me transferim të shumëfishtë, jo vetëm me televizorin tënd. Përdor më shumë energji se modaliteti \"jo me transferim të shumëfishtë\"."</string>
+ <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"Lejon aplikacionin të marrë paketa, të dërguara ndaj gjithë pajisjeve në një rrjet Wi-Fi duke përdorur adresa me transmetim të shumëfishtë, jo vetëm të telefonit tënd. Ai konsumon më tepër energji se modaliteti \"jo me transmetim të shumëfishtë\"."</string>
+ <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"qasu në cilësimet e \"bluetooth-it\""</string>
+ <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Lejon aplikacionin të konfigurojë tabletin lokal me \"bluetooth\" dhe të zbulojë e çiftohet me pajisjet në distancë."</string>
+ <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Lejon aplikacionin të konfigurojë televizorin lokal përmes \"bluetooth-it\" dhe të zbulojë e të çiftohet me pajisje në distancë."</string>
+ <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Lejon aplikacionin të konfigurojë telefonin lokal \"bluetooth\" dhe të zbulojë e çiftohet me pajisjet në distancë."</string>
+ <string name="permlab_accessWimaxState" msgid="4195907010610205703">"lidhu dhe shkëputu nga WiMAX"</string>
+ <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"Lejon aplikacionin të përcaktojë nëse WiMAX është i aktivizuar si dhe të mësojë informacion rreth ndonjë rrjeti të lidhur WiMAX."</string>
+ <string name="permlab_changeWimaxState" msgid="2405042267131496579">"Ndrysho gjendjen WiMAX"</string>
+ <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Lejon aplikacionin ta lidhë tabletin dhe ta shkëpusë atë nga rrjetet WiMAX."</string>
+ <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"Lejon aplikacionin të lidhet me televizorin dhe ta shkëpusë atë nga rrjetet WiMAX."</string>
+ <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Lejon aplikacionin të lidhet me telefonin dhe ta shkëpusë atë nga rrjetet WiMAX."</string>
+ <string name="permlab_bluetooth" msgid="6127769336339276828">"çifto me pajisjet me \"bluetooth\""</string>
+ <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Lejon aplikacionin të shikojë konfigurimin e \"bluetooth-it\" në tablet, të kryejë dhe të pranojë lidhje me pajisjet e çiftuara."</string>
+ <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Lejon aplikacionin të shikojë konfigurimin e \"bluetooth-it\" në televizor, të kryejë dhe pranojë lidhje me pajisje të çiftuara."</string>
+ <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Lejon aplikacionin të shohë konfigurimin e \"bluetooth-it\" në telefon dhe të kryejë e pranojë lidhje me pajisjet e çiftuara."</string>
+ <string name="permlab_nfc" msgid="4423351274757876953">"kontrollo \"Komunikimin e fushës në afërsi\" NFC"</string>
+ <string name="permdesc_nfc" msgid="7120611819401789907">"Lejon aplikacionin të komunikojë me etiketimet e \"Komunikimit të fushës së afërt (NFC)\", kartat dhe lexuesit."</string>
+ <string name="permlab_disableKeyguard" msgid="3598496301486439258">"çaktivizo kyçjen e ekranit"</string>
+ <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Lejon aplikacionin të çaktivizojë kyçjen e tasteve dhe çdo mbrojtje të lidhur me fjalëkalimin. Për shembull, telefoni çaktivizon kyçjen e tasteve kur merr një telefonatë hyrëse, pastaj riaktivizon kyçjen e tasteve kur mbaron telefonata."</string>
+ <string name="permlab_manageFingerprint" msgid="5640858826254575638">"të qaset te hardueri i gjurmës së gishtit"</string>
+ <string name="permdesc_manageFingerprint" msgid="178208705828055464">"E lejon aplikacionin që të aktivizojë metoda për të shtuar dhe për të fshirë shabllonet e gjurmës së gishtit për përdorim."</string>
+ <string name="permlab_useFingerprint" msgid="3150478619915124905">"të përdorë harduerin e gjurmës së gishtit"</string>
+ <string name="permdesc_useFingerprint" msgid="9165097460730684114">"E lejon aplikacinin që të përdorë harduerin e gjurmës së gishtit për verifikimin"</string>
+ <string name="fingerprint_acquired_partial" msgid="735082772341716043">"U zbulua një gjurmë gishti e pjesshme. Provo përsëri."</string>
+ <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"Gjurma e gishtit nuk mund të përpunohej. Provo përsëri."</string>
+ <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"Sensori i gjurmës së gishtit nuk është i pastër. Pastroje dhe provo përsëri."</string>
+ <string name="fingerprint_acquired_too_fast" msgid="6470642383109155969">"Gishti lëvizi shumë shpejt. Provo përsëri."</string>
+ <string name="fingerprint_acquired_too_slow" msgid="7381891107120721078">"Gishti lëvizi shumë ngadalë. Provo përsëri."</string>
+ <string-array name="fingerprint_acquired_vendor">
+ </string-array>
+ <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardueri i gjurmës së gishtit nuk mundësohet."</string>
+ <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Gjurma e gishtit nuk mund të ruhet. Hiq një gjurmë gishti ekzistuese."</string>
+ <string name="fingerprint_error_timeout" msgid="3927186043737732875">"U arrit vonesa e skadimit për gjurmën e gishtit. Provo përsëri."</string>
+ <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Operacioni i gjurmës së gishtit u anulua."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Keni bërë shumë tentativa. Provo përsëri më vonë."</string>
+ <string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Provo përsëri."</string>
+ <string-array name="fingerprint_error_vendor">
+ </string-array>
+ <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lexo cilësimet e sinkronizimit"</string>
+ <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Lejon aplikacionin të lexojë cilësimet e sinkronizimit për një llogari. Për shembull, kjo mund të përcaktojë nëse aplikacioni \"Kontaktet\" është i sinkronizuar me një llogari."</string>
+ <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ndiz ose fik sinkronizimin"</string>
+ <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Lejon një aplikacion të modifikojë cilësimet e sinkronizimit për një llogari. Për shembull, kjo mund të përdoret për të mundësuar sinkronizimin e aplikacionit \"Kontaktet\" me një llogari."</string>
+ <string name="permlab_readSyncStats" msgid="7396577451360202448">"lexo statistikat e sinkronizimit"</string>
+ <string name="permdesc_readSyncStats" msgid="1510143761757606156">"Lejon një aplikacion të lexojë statistikat e sinkronizimit për një llogari, përfshirë historikun e ngjarjeve të sinkronizimit dhe se sa të dhëna janë sinkronizuar."</string>
+ <string name="permlab_subscribedFeedsWrite" msgid="9015246325408209296">"shkruaj informacione të abonuara"</string>
+ <string name="permdesc_subscribedFeedsWrite" msgid="6928930188826089413">"Lejon aplikacionin të modifikojë furnizimet aktuale të sinkronizuara. Aplikacionet keqdashëse mund të ndryshojnë furnizimet e tua të sinkronizuara."</string>
+ <string name="permlab_readDictionary" msgid="4107101525746035718">"lexo termat që ke shtuar në fjalor"</string>
+ <string name="permdesc_readDictionary" msgid="659614600338904243">"Lejon aplikacionin të lexojë të gjitha fjalët, emrat dhe frazat që përdoruesi mund të ketë ruajtur në fjalorin e përdoruesit."</string>
+ <string name="permlab_writeDictionary" msgid="2183110402314441106">"shto fjalë në fjalorin e përcaktuar nga përdoruesi"</string>
+ <string name="permdesc_writeDictionary" msgid="8185385716255065291">"Lejon aplikacionin të shkruajë fjalë të reja në fjalorin e përdoruesit."</string>
+ <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"lexo përmbajtjet e USB-së"</string>
+ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"lexo përmbajtjet e kartës tënde SD"</string>
+ <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"Lejon aplikacionin të lexojë përmbajtjet e USB-së tënde."</string>
+ <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"Lejon aplikacionin të lexojë përmbajtjet e kartës SD."</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"modifiko ose fshi përmbajtjet e USB-së"</string>
+ <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"modifiko ose fshi përmbajtjet e kartës SD"</string>
+ <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Lejon aplikacionin të shkruajë në hapësirën ruajtëse të USB-së."</string>
+ <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Lejon aplikacionin të shkruajë në kartën SD."</string>
+ <string name="permlab_use_sip" msgid="2052499390128979920">"bëj/merr telefonata SIP"</string>
+ <string name="permdesc_use_sip" msgid="2297804849860225257">"Lejon aplikacionin të kryejë dhe të marrë telefonata SIP."</string>
+ <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"regjistro lidhje të reja telekomunikimi të kartës SIM"</string>
+ <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"Lejon aplikacionin të regjistrojë lidhje të reja telekomunikimi të kartës SIM."</string>
+ <string name="permlab_register_call_provider" msgid="108102120289029841">"regjistro lidhjet e reja të telekomunikimit"</string>
+ <string name="permdesc_register_call_provider" msgid="7034310263521081388">"Lejon aplikacionin të regjistrojë lidhje të reja telekomunikimi."</string>
+ <string name="permlab_connection_manager" msgid="1116193254522105375">"menaxho lidhjet e telekomunikimit"</string>
+ <string name="permdesc_connection_manager" msgid="5925480810356483565">"Lejon aplikacionin të menaxhojë lidhjet e telekomunikimit."</string>
+ <string name="permlab_bind_incall_service" msgid="6773648341975287125">"bashkëvepro me ekranin gjatë telefonatës"</string>
+ <string name="permdesc_bind_incall_service" msgid="8343471381323215005">"Lejon aplikacionin të kontrollojë kur dhe si përdoruesi e shikon ekranin e telefonatës."</string>
+ <string name="permlab_bind_connection_service" msgid="3557341439297014940">"bashkëvepro me shërbimet telefonike"</string>
+ <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"Lejon aplikacionin të bashkëveprojë me shërbimet telefonike për të kryer/marrë telefonata."</string>
+ <string name="permlab_control_incall_experience" msgid="9061024437607777619">"ofro një përvojë përdoruesi mbi telefonatat"</string>
+ <string name="permdesc_control_incall_experience" msgid="915159066039828124">"Lejon aplikacionin të ofrojë përvojë përdoruesi mbi telefonatat."</string>
+ <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"lexo përdorimin kronologjik të rrjetit"</string>
+ <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"Lejon aplikacionin të lexojë përdorimin historik të rrjetit, për rrjete dhe aplikacione të veçantë."</string>
+ <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"menaxho politikën e rrjetit"</string>
+ <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"Lejon aplikacionin të menaxhojë politikat e rrjetit dhe të përcaktojë rregullat të veçanta aplikacioni."</string>
+ <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"modifiko llogaritjen e përdorimit të rrjetit"</string>
+ <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"Lejon aplikacionin të modifikojë si llogaritet përdorimi i rrjetit përkundrejt aplikacioneve. Nuk përdoret nga aplikacionet normale."</string>
+ <string name="permlab_accessNotifications" msgid="7673416487873432268">"qasju njoftimeve"</string>
+ <string name="permdesc_accessNotifications" msgid="458457742683431387">"Lejon aplikacionin të gjejë, ekzaminojë dhe pastrojë njoftimet, përfshi edhe ato të postuara nga aplikacionet e tjera."</string>
+ <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"lidhu me një shërbim dëgjues të njoftimeve"</string>
+ <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Lejon zotëruesin të lidhet me ndërfaqen e nivelit të lartë të një shërbimi për dëgjimin e njoftimeve. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"lidhu me një shërbim për ofrim kushtesh"</string>
+ <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Lejon zotëruesin të lidhet me ndërfaqen e nivelit të lartë të një ofruesi shërbimi me kusht. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_bindDreamService" msgid="4153646965978563462">"lidhu me një shërbim mbrojtësi ekrani \"dream\""</string>
+ <string name="permdesc_bindDreamService" msgid="7325825272223347863">"Lejon zotëruesin të lidhet me ndërfaqen e nivelit më të lartë të një shërbimi \"dream\" (mbrojtësi ekrani). Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"kërko aplikacionin e konfigurimit të dhënë nga operatori"</string>
+ <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"Lejon zotëruesin të aktivizojë aplikacionin e konfiguracionit të siguruar nga operatori. Nuk nevojitet nga aplikacionet normale."</string>
+ <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"dëgjo për vërejtje në kushtet e rrjetit"</string>
+ <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"Lejon një aplikacion të dëgjojë vërejtjet mbi kushtet e rrjetit. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ndrysho kalibrimin e hyrjeve të pajisjes"</string>
+ <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"Lejon aplikacionin të modifikojë parametrat e kalibrimit të ekranit me prekje. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"qasje në certifikatat DRM"</string>
+ <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"Lejon një aplikacion të përgatisë dhe përdorë certifikatat DRM. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_handoverStatus" msgid="1159132046126626731">"Merr statusin e transferimit të \"rrezes android\""</string>
+ <string name="permdesc_handoverStatus" msgid="4788144087245714948">"Lejon këtë aplikacion të marrë informacion rreth transferimeve aktuale \"Rrezja android\" (Android Beam)"</string>
+ <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"hiq certifikatat DRM"</string>
+ <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Lejon një aplikacion të heqë certifikatat DRM. Nuk nevojitet për aplikacionet normale."</string>
+ <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"lidhu me një shërbim mesazhesh të operatorit"</string>
+ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lejon zotëruesin të lidhet me ndërfaqen e nivelit të lartë të shërbimit të mesazheve të operatorit. Nuk nevojitet për aplikacione normale."</string>
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"lidhu me një shërbim konfigurimi të operatorit celular"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Lejon zotëruesin të lidhet me një shërbim konfigurimi të operatorit celular. Nuk nevojitet asnjëherë për aplikacionet normale."</string>
+ <string name="policylab_limitPassword" msgid="4497420728857585791">"Cakto rregullat e fjalëkalimit"</string>
+ <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollo gjatësinë dhe karakteret e lejuara në fjalëkalimet dhe kodet PIN të kyçjes së ekranit."</string>
+ <string name="policylab_watchLogin" msgid="914130646942199503">"Monitoro tentativat e shkyçjes së ekranit"</string>
+ <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitoro numrin e fjalëkalimeve të shkruar gabim kur shkyç ekranin. Kyç tabletin ose fshi të gjitha të dhënat e tij, nëse shkruhen shumë fjalëkalime të pasakta."</string>
+ <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitoro numrin e fjalëkalimeve të shkruara gabim kur shkyç ekranin. Kyç televizorin ose fshi të gjitha të dhënat e tij, nëse shkruhen shumë fjalëkalime të pasakta."</string>
+ <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitoro numrin e fjalëkalimeve të shkruar gabim kur shkyç ekranin. Kyç telefonin ose fshi të gjitha të dhënat e tij, nëse shkruhen shumë fjalëkalime të pasakta."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitoro numrin e fjalëkalimeve të shkruara gabim kur shkyç ekranin. Kyçe tabletin ose spastro të gjitha të dhënat e këtij përdoruesi nëse shkruhen shumë fjalëkalime të gabuara."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitoro numrin e fjalëkalimeve të shkruara gabim kur shkyç ekranin. Kyçe televizorin ose spastro të gjitha të dhënat e këtij përdoruesi nëse shkruhen shumë fjalëkalime të gabuara."</string>
+ <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitoro numrin e fjalëkalimeve të shkruara gabim kur shkyç ekranin. Kyçe telefonin ose spastro të gjitha të dhënat e këtij përdoruesi nëse shkruhen shumë fjalëkalime të gabuara."</string>
+ <string name="policylab_resetPassword" msgid="4934707632423915395">"Ndrysho kyçjen e ekranit"</string>
+ <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ndrysho kyçjen e ekranit."</string>
+ <string name="policylab_forceLock" msgid="2274085384704248431">"Kyç ekranin"</string>
+ <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrollo si dhe kur të kyçet ekrani."</string>
+ <string name="policylab_wipeData" msgid="3910545446758639713">"Fshiji të gjitha të dhënat"</string>
+ <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Fshi të dhënat e tabletit pa paralajmërim duke kryer një rivendosje të të dhënave në gjendje fabrike."</string>
+ <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Fshi të dhënat e televizorit pa paralajmërim duke kryer një rivendosje të të dhënave në gjendje fabrike."</string>
+ <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Fshi të dhënat e telefonit pa paralajmërim duke kryer një rivendosje të të dhënave në gjendje fabrike."</string>
+ <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Spatro të dhënat e përdoruesit"</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Spastroji të dhënat e këtij përdoruesi në këtë tablet pa paralajmërim."</string>
+ <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Spastroji të dhënat e këtij përdoruesi në këtë televizor pa paralajmërim."</string>
+ <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Spastroji të dhënat e këtij përdoruesi në këtë telefon pa paralajmërim."</string>
+ <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Cakto përfaqësuesin global të pajisjes"</string>
+ <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Cakto përfaqësuesin global të pajisjes që të përdoret kur të aktivizohet politika. Vetëm pronari i pajisjes mund ta caktojë përfaqësuesin global."</string>
+ <string name="policylab_expirePassword" msgid="5610055012328825874">"Cakto skadimin e fjalëkalimit të kyçjes së ekranit"</string>
+ <string name="policydesc_expirePassword" msgid="5367525762204416046">"Ndrysho se sa shpesh duhet të ndërrohet fjalëkalimi, kodi PIN ose modeli i kyçjes së ekranit."</string>
+ <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Cakto enkriptimin e hapësirës ruajtëse"</string>
+ <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Kërko që të dhënat e ruajtura të aplikacionit të enkriptohen."</string>
+ <string name="policylab_disableCamera" msgid="6395301023152297826">"Çaktivizo kamerat"</string>
+ <string name="policydesc_disableCamera" msgid="2306349042834754597">"Parandalo përdorimin e të gjitha kamerave të pajisjes."</string>
+ <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Çakt. funks. kyçjes së ekranit"</string>
+ <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Parandalo përdorimin e disa funksioneve të kyçjes së ekranit."</string>
+ <string-array name="phoneTypes">
+ <item msgid="8901098336658710359">"Shtëpia"</item>
+ <item msgid="869923650527136615">"Celulari"</item>
+ <item msgid="7897544654242874543">"Puna"</item>
+ <item msgid="1103601433382158155">"Faks pune"</item>
+ <item msgid="1735177144948329370">"Faks shtëpie"</item>
+ <item msgid="603878674477207394">"Biper"</item>
+ <item msgid="1650824275177931637">"Tjetër"</item>
+ <item msgid="9192514806975898961">"E personalizuar"</item>
+ </string-array>
+ <string-array name="emailAddressTypes">
+ <item msgid="8073994352956129127">"Faqja e parë"</item>
+ <item msgid="7084237356602625604">"Puna"</item>
+ <item msgid="1112044410659011023">"Tjetër"</item>
+ <item msgid="2374913952870110618">"E personalizuar"</item>
+ </string-array>
+ <string-array name="postalAddressTypes">
+ <item msgid="6880257626740047286">"Shtëpia"</item>
+ <item msgid="5629153956045109251">"Puna"</item>
+ <item msgid="4966604264500343469">"Tjetër"</item>
+ <item msgid="4932682847595299369">"E personalizuar"</item>
+ </string-array>
+ <string-array name="imAddressTypes">
+ <item msgid="1738585194601476694">"Shtëpia"</item>
+ <item msgid="1359644565647383708">"Puna"</item>
+ <item msgid="7868549401053615677">"Tjetër"</item>
+ <item msgid="3145118944639869809">"I personalizuar"</item>
+ </string-array>
+ <string-array name="organizationTypes">
+ <item msgid="7546335612189115615">"Puna"</item>
+ <item msgid="4378074129049520373">"Tjetër"</item>
+ <item msgid="3455047468583965104">"E personalizuar"</item>
+ </string-array>
+ <string-array name="imProtocols">
+ <item msgid="8595261363518459565">"AIM"</item>
+ <item msgid="7390473628275490700">"\"Windows Live\""</item>
+ <item msgid="7882877134931458217">"Yahoo"</item>
+ <item msgid="5035376313200585242">"Skype"</item>
+ <item msgid="7532363178459444943">"QQ"</item>
+ <item msgid="3713441034299660749">"Bisedo me Google"</item>
+ <item msgid="2506857312718630823">"ICQ"</item>
+ <item msgid="1648797903785279353">"Jabber"</item>
+ </string-array>
+ <string name="phoneTypeCustom" msgid="1644738059053355820">"E personalizuar"</string>
+ <string name="phoneTypeHome" msgid="2570923463033985887">"Shtëpia"</string>
+ <string name="phoneTypeMobile" msgid="6501463557754751037">"Celular"</string>
+ <string name="phoneTypeWork" msgid="8863939667059911633">"Puna"</string>
+ <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Faks pune"</string>
+ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Faks shtëpie"</string>
+ <string name="phoneTypePager" msgid="7582359955394921732">"Biper"</string>
+ <string name="phoneTypeOther" msgid="1544425847868765990">"Tjetër"</string>
+ <string name="phoneTypeCallback" msgid="2712175203065678206">"Ri-telefono"</string>
+ <string name="phoneTypeCar" msgid="8738360689616716982">"Numri i telefonit të makinës"</string>
+ <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Numri kryesor i telefonit të kompanisë"</string>
+ <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
+ <string name="phoneTypeMain" msgid="6766137010628326916">"Kryesor"</string>
+ <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Faks tjetër"</string>
+ <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string>
+ <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string>
+ <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
+ <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Celulari i punës"</string>
+ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Biperi i punës"</string>
+ <string name="phoneTypeAssistant" msgid="5596772636128562884">"Ndihmësi"</string>
+ <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
+ <string name="eventTypeCustom" msgid="7837586198458073404">"E personalizuar"</string>
+ <string name="eventTypeBirthday" msgid="2813379844211390740">"Ditëlindje"</string>
+ <string name="eventTypeAnniversary" msgid="3876779744518284000">"Përvjetor"</string>
+ <string name="eventTypeOther" msgid="7388178939010143077">"Tjetër"</string>
+ <string name="emailTypeCustom" msgid="8525960257804213846">"I personalizuar"</string>
+ <string name="emailTypeHome" msgid="449227236140433919">"Shtëpia"</string>
+ <string name="emailTypeWork" msgid="3548058059601149973">"Puna"</string>
+ <string name="emailTypeOther" msgid="2923008695272639549">"Tjetër"</string>
+ <string name="emailTypeMobile" msgid="119919005321166205">"Celulari"</string>
+ <string name="postalTypeCustom" msgid="8903206903060479902">"E personalizuar"</string>
+ <string name="postalTypeHome" msgid="8165756977184483097">"Shtëpia"</string>
+ <string name="postalTypeWork" msgid="5268172772387694495">"Puna"</string>
+ <string name="postalTypeOther" msgid="2726111966623584341">"Tjetër"</string>
+ <string name="imTypeCustom" msgid="2074028755527826046">"E personalizuar"</string>
+ <string name="imTypeHome" msgid="6241181032954263892">"Faqja e parë"</string>
+ <string name="imTypeWork" msgid="1371489290242433090">"Puna"</string>
+ <string name="imTypeOther" msgid="5377007495735915478">"Tjetër"</string>
+ <string name="imProtocolCustom" msgid="6919453836618749992">"I personalizuar"</string>
+ <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string>
+ <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string>
+ <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string>
+ <string name="imProtocolSkype" msgid="9019296744622832951">"Skype"</string>
+ <string name="imProtocolQq" msgid="8887484379494111884">"QQ"</string>
+ <string name="imProtocolGoogleTalk" msgid="493902321140277304">"Hangouts"</string>
+ <string name="imProtocolIcq" msgid="1574870433606517315">"ICQ"</string>
+ <string name="imProtocolJabber" msgid="2279917630875771722">"Jabber"</string>
+ <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string>
+ <string name="orgTypeWork" msgid="29268870505363872">"Puna"</string>
+ <string name="orgTypeOther" msgid="3951781131570124082">"Tjetër"</string>
+ <string name="orgTypeCustom" msgid="225523415372088322">"E personalizuar"</string>
+ <string name="relationTypeCustom" msgid="3542403679827297300">"E personalizuar"</string>
+ <string name="relationTypeAssistant" msgid="6274334825195379076">"Ndihmës"</string>
+ <string name="relationTypeBrother" msgid="8757913506784067713">"Vëlla"</string>
+ <string name="relationTypeChild" msgid="1890746277276881626">"Fëmijë"</string>
+ <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Partner bashkëjetues"</string>
+ <string name="relationTypeFather" msgid="5228034687082050725">"Baba"</string>
+ <string name="relationTypeFriend" msgid="7313106762483391262">"Shok"</string>
+ <string name="relationTypeManager" msgid="6365677861610137895">"Menaxher"</string>
+ <string name="relationTypeMother" msgid="4578571352962758304">"Nënë"</string>
+ <string name="relationTypeParent" msgid="4755635567562925226">"Prind"</string>
+ <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string>
+ <string name="relationTypeReferredBy" msgid="101573059844135524">"Referuar nga"</string>
+ <string name="relationTypeRelative" msgid="1799819930085610271">"I afërm"</string>
+ <string name="relationTypeSister" msgid="1735983554479076481">"Motër"</string>
+ <string name="relationTypeSpouse" msgid="394136939428698117">"Bashkëshort"</string>
+ <string name="sipAddressTypeCustom" msgid="2473580593111590945">"E personalizuar"</string>
+ <string name="sipAddressTypeHome" msgid="6093598181069359295">"Shtëpia"</string>
+ <string name="sipAddressTypeWork" msgid="6920725730797099047">"Puna"</string>
+ <string name="sipAddressTypeOther" msgid="4408436162950119849">"Tjetër"</string>
+ <string name="quick_contacts_not_available" msgid="746098007828579688">"Nuk u gjet asnjë aplikacion për të parë këtë kontakt."</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Shkruaj kodin PIN"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Shkruaj PUK-un dhe PIN-in e ri"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"Kodi PUK"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Kod i ri PIN"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Prek për të shkruar fjalëkalimin"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Shkruaj fjalëkalimin për të shkyçur"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Shkruaj PIN-in për ta shkyçur"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Kodi PIN është i pasaktë."</string>
+ <string name="keyguard_label_text" msgid="861796461028298424">"Për të shkyçur, shtyp \"Meny\" pastaj 0."</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="696192103195090970">"Numri i urgjencës"</string>
+ <string name="lockscreen_carrier_default" msgid="8963839242565653192">"Nuk ka shërbim."</string>
+ <string name="lockscreen_screen_locked" msgid="7288443074806832904">"Ekrani është i kyçur."</string>
+ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Shtyp \"Meny\" për të shkyçur ose për të kryer telefonatë urgjence."</string>
+ <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Shtyp \"Meny\" për të shkyçur."</string>
+ <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Vizato modelin për ta shkyçur"</string>
+ <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Urgjenca"</string>
+ <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Kthehu për të telefonuar"</string>
+ <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Saktë!"</string>
+ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Provo sërish"</string>
+ <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Provo sërish"</string>
+ <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Tentativat maksimale të \"Shkyçjes me fytyrë\" u tejkaluan"</string>
+ <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Nuk ka kartë SIM"</string>
+ <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Nuk ka kartë SIM në tablet."</string>
+ <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Nuk ka kartë SIM në televizor."</string>
+ <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Nuk ka kartë SIM në telefon."</string>
+ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Fut një kartë SIM."</string>
+ <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"Karta SIM mungon ose është e palexueshme. Fut një kartë të re SIM."</string>
+ <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Karta SIM është e papërdorshme."</string>
+ <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Karta jote SIM është çaktivizuar përgjithnjë.\n Kontakto ofruesin e shërbimit valor për një tjetër kartë SIM."</string>
+ <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Kënga e mëparshme"</string>
+ <string name="lockscreen_transport_next_description" msgid="573285210424377338">"Kënga tjetër"</string>
+ <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"Pauzë"</string>
+ <string name="lockscreen_transport_play_description" msgid="1901258823643886401">"Luaj"</string>
+ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"Ndalo"</string>
+ <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"Kthehu pas"</string>
+ <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"Përparo me shpejtësi"</string>
+ <string name="emergency_calls_only" msgid="6733978304386365407">"Vetëm telefonata urgjente"</string>
+ <string name="lockscreen_network_locked_message" msgid="143389224986028501">"Rrjeti është i kyçur"</string>
+ <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"Karta SIM është e kyçur me PUK."</string>
+ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Shiko \"Manualin e përdorimit\" ose kontakto \"Kujdesin ndaj klientit\"."</string>
+ <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"Karta SIM është e kyçur."</string>
+ <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"Po shkyç kartën SIM…"</string>
+ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për të vizatuar motivin tënd.\n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"E ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabim fjalëkalimin. \n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"E ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht PIN-in tënd.\n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht motivin tënd të shkyçjes. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, do të të kërkohet ta shkyçësh tabletin duke përdorur identifikimin në Google.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"E ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht motivin tënd të shkyçjes. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme do të të kërkohet ta shkyçësh televizorin duke përdorur identifikimin në Google.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht motivin tënd të shkyçjes. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, do të të kërkohet ta shkyçësh telefonin duke përdorur identifikimin në Google.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur tabletin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, tableti do të rivendoset në gjendjen e fabrikës dhe të gjitha të dhënat e përdoruesit do të humben."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur televizorin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, televizori do të rivendoset në gjendjen e fabrikës dhe të gjitha të dhënat e përdoruesit do të humben."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, telefoni do të rivendoset në gjendjen e fabrikës dhe të gjitha të dhënat e përdoruesit do të humben."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur tabletin tënd. Tableti tani do të rivendoset në gjendje fabrike."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë ta shkyçësh pa sukses televizorin tënd. Televizori do të rivendoset tani si në gjendjen e fabrikës."</string>
+ <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë ta shkyçësh pa sukses telefonin tënd. Telefoni do të rivendoset tani si në gjendjen e fabrikës."</string>
+ <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Provo sërish për <xliff:g id="NUMBER">%d</xliff:g> sekonda."</string>
+ <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Harrove motivin?"</string>
+ <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"Shkyçja e llogarisë"</string>
+ <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"Shumë tentativa për motivin"</string>
+ <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"Për ta shkyçur, identifikohu me llogarinë tënde të Google."</string>
+ <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"Emri i përdoruesit (mail-i)"</string>
+ <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"Fjalëkalimi"</string>
+ <string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"Identifikohu"</string>
+ <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"Emër përdoruesi ose fjalëkalim i pavlefshëm."</string>
+ <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"Harrove emrin e përdoruesit apo fjalëkalimin?\nVizito "<b>"google.com/accounts/recovery"</b>"."</string>
+ <string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"Po kontrollon..."</string>
+ <string name="lockscreen_unlock_label" msgid="737440483220667054">"Shkyç"</string>
+ <string name="lockscreen_sound_on_label" msgid="9068877576513425970">"Zëri u aktivizua"</string>
+ <string name="lockscreen_sound_off_label" msgid="996822825154319026">"Zëri është çaktivizuar"</string>
+ <string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"Motivi filloi"</string>
+ <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"Modeli u pastrua"</string>
+ <string name="lockscreen_access_pattern_cell_added" msgid="6756031208359292487">"Qeliza u shtua"</string>
+ <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"Modeli përfundoi"</string>
+ <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. Miniaplikacioni %2$d nga %3$d."</string>
+ <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"Shto miniaplikacion."</string>
+ <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"Bosh"</string>
+ <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"Zona e shkyçjes u zgjerua."</string>
+ <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"Zona e shkyçjes u shpalos."</string>
+ <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> i miniaplikacionit."</string>
+ <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"Përzgjedhësi i përdoruesit"</string>
+ <string name="keyguard_accessibility_status" msgid="8008264603935930611">"Statusi"</string>
+ <string name="keyguard_accessibility_camera" msgid="8904231194181114603">"Kamera"</string>
+ <string name="keygaurd_accessibility_media_controls" msgid="262209654292161806">"Kontrollet e klipeve \"media\""</string>
+ <string name="keyguard_accessibility_widget_reorder_start" msgid="8736853615588828197">"Filloi rirenditja e miniaplikacioneve."</string>
+ <string name="keyguard_accessibility_widget_reorder_end" msgid="7170190950870468320">"Ri-renditja e miniaplikacioneve mbaroi."</string>
+ <string name="keyguard_accessibility_widget_deleted" msgid="4426204263929224434">"Miniaplikacioni <xliff:g id="WIDGET_INDEX">%1$s</xliff:g> u fshi."</string>
+ <string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Zgjero zonën e shkyçjes."</string>
+ <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Rrëshqit shkyçjen."</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Shkyçje me motiv."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Shkyçje me fytyrë."</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Shkyçje me PIN."</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Shkyçja e fjalëkalimit."</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Zona e motivit."</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Zonën e rrëshqitjes."</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="granularity_label_character" msgid="7336470535385009523">"karakter"</string>
+ <string name="granularity_label_word" msgid="7075570328374918660">"fjalë"</string>
+ <string name="granularity_label_link" msgid="5815508880782488267">"lidhje"</string>
+ <string name="granularity_label_line" msgid="5764267235026120888">"linjë"</string>
+ <string name="hour_ampm" msgid="4584338083529355982">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%P</xliff:g>"</string>
+ <string name="hour_cap_ampm" msgid="2083465992940444366">"<xliff:g id="HOUR">%-l</xliff:g><xliff:g id="AMPM">%p</xliff:g>"</string>
+ <string name="factorytest_failed" msgid="5410270329114212041">"Testimi i fabrikës dështoi"</string>
+ <string name="factorytest_not_system" msgid="4435201656767276723">"Veprimi i TESTIT_TË_FABRIKËS mbështetet vetëm për paketat e instaluara në /sistem/apl."</string>
+ <string name="factorytest_no_action" msgid="872991874799998561">"Nuk u gjet asnjë paketë që siguron veprimin e TESTIT_TË_FABRIKËS."</string>
+ <string name="factorytest_reboot" msgid="6320168203050791643">"Rifillo"</string>
+ <string name="js_dialog_title" msgid="1987483977834603872">"Faqja në \"<xliff:g id="TITLE">%s</xliff:g>\" shkruan:"</string>
+ <string name="js_dialog_title_default" msgid="6961903213729667573">"JavaScript"</string>
+ <string name="js_dialog_before_unload_title" msgid="2619376555525116593">"Konfirmo orientimin"</string>
+ <string name="js_dialog_before_unload_positive_button" msgid="3112752010600484130">"Largohu nga kjo faqe"</string>
+ <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"Qëndro në këtë faqe"</string>
+ <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nJe i sigurt që do të largohesh nga kjo faqe?"</string>
+ <string name="save_password_label" msgid="6860261758665825069">"Konfirmo"</string>
+ <string name="double_tap_toast" msgid="4595046515400268881">"Këshillë! Trokit dy herë për të zmadhuar dhe zvogëluar."</string>
+ <string name="autofill_this_form" msgid="4616758841157816676">"Plotësim automatik"</string>
+ <string name="setup_autofill" msgid="7103495070180590814">"Konfiguro plotësuesin automatik"</string>
+ <string name="autofill_address_name_separator" msgid="6350145154779706772">" "</string>
+ <string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
+ <string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
+ <string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
+ <string name="autofill_province" msgid="2231806553863422300">"Krahina"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Kodi postar"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Shteti"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Kodi postar"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Qarku"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ishulli"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Rrethi"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departamenti"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Famullia"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Zona"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirati"</string>
+ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"lexo faqeshënuesit dhe historikun tënd në ueb"</string>
+ <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"Lejon aplikacionin të lexojë historikun e të gjitha URL-ve që ka vizituar shfletuesi dhe të gjitha faqet e ruajtura në shfletues. Shënim. Kjo leje nuk mund të zbatohet nga shfletues të palëve të treta ose aplikacione të tjera me aftësi për shfletim faqesh."</string>
+ <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"shkruaj faqeshënuesit dhe historikun në ueb"</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"Lejon aplikacionin të modifikojë historikun e shfletuesit ose faqeve të ruajtur në tabletin tënd. Kjo mund ta lejojë aplikacionin të fshijë ose modifikojë të dhënat e shfletuesit. Shënim. Kjo leje mund të zbatohet nga shfletues të palëve të treta ose aplikacione me aftësi shfletimi faqesh."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"Lejon aplikacionin të modifikojë historikun e shfletuesit ose faqeve të ruajtur në televizorin tënd. Kjo mund ta lejojë aplikacionin të fshijë ose modifikojë të dhënat e shfletuesit. Shënim. Kjo leje mund të zbatohet nga shfletues të palëve të treta ose aplikacione me aftësi shfletimi faqesh."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"Lejon aplikacionin të modifikojë historikun e shfletuesit ose faqeve të ruajtur në telefonin tënd. Kjo mund ta lejojë aplikacionin të fshijë ose modifikojë të dhënat e shfletuesit. Shënim. Kjo leje mund të zbatohet nga shfletues të palëve të treta ose aplikacione me aftësi shfletimi faqesh."</string>
+ <string name="permlab_setAlarm" msgid="1379294556362091814">"vendos alarm"</string>
+ <string name="permdesc_setAlarm" msgid="316392039157473848">"Lejon aplikacionin të vendosë një alarm në një aplikacion ore me alarm, i instaluar në pajisje. Disa aplikacione ore me alarm mund të mos e ekzekutojnë këtë funksion."</string>
+ <string name="permlab_addVoicemail" msgid="5525660026090959044">"shto postë zanore"</string>
+ <string name="permdesc_addVoicemail" msgid="6604508651428252437">"Lejon aplikacionin të shtojë mesazhe në kutinë e postës zanore."</string>
+ <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"modifiko lejet e shfletuesit për vendndodhjen gjeografike"</string>
+ <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Lejon aplikacionin të modifikojë lejet e shfletuesit për vendndodhjen gjeografike. Aplikacionet keqdashëse mund ta përdorin këtë për të lejuar dërgimin e informacionit të vendndodhjes në faqe arbitrare uebi."</string>
+ <string name="save_password_message" msgid="767344687139195790">"Dëshiron që shfletuesi ta kujtojë këtë fjalëkalim?"</string>
+ <string name="save_password_notnow" msgid="6389675316706699758">"Jo tani!"</string>
+ <string name="save_password_remember" msgid="6491879678996749466">"Kujto"</string>
+ <string name="save_password_never" msgid="8274330296785855105">"Asnjëherë"</string>
+ <string name="open_permission_deny" msgid="7374036708316629800">"Nuk ke leje për ta hapur këtë faqe."</string>
+ <string name="text_copied" msgid="4985729524670131385">"Teksti u kopjua në kujtesën e fragmenteve."</string>
+ <string name="more_item_label" msgid="4650918923083320495">"Më shumë"</string>
+ <string name="prepend_shortcut_label" msgid="2572214461676015642">"Menyja+"</string>
+ <string name="menu_space_shortcut_label" msgid="2410328639272162537">"hapësirë"</string>
+ <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"enter"</string>
+ <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"fshi"</string>
+ <string name="search_go" msgid="8298016669822141719">"Kërko"</string>
+ <string name="search_hint" msgid="1733947260773056054">"Kërko..."</string>
+ <string name="searchview_description_search" msgid="6749826639098512120">"Kërko"</string>
+ <string name="searchview_description_query" msgid="5911778593125355124">"Kërko pyetjen"</string>
+ <string name="searchview_description_clear" msgid="1330281990951833033">"Pastro pyetjen"</string>
+ <string name="searchview_description_submit" msgid="2688450133297983542">"Dërgo pyetjen"</string>
+ <string name="searchview_description_voice" msgid="2453203695674994440">"Kërkim me zë"</string>
+ <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"Të aktivizohet opsioni \"Eksploro me prekje\"?"</string>
+ <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> kërkon të aktivizojë funksionin \"Eksploro me prekje\". Kur aktivizohet \"Eksploro me prekje\", mund të dëgjosh ose të shohësh përshkrime se çfarë ka nën gishtin tënd ose të kryesh gjeste për të bashkëvepruar me tabletin."</string>
+ <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> kërkon të aktivizojë funksionin \"Eksploro me prekje\". Kur aktivizohet \"Eksploro me prekje\", mund të dëgjosh ose të shohësh përshkrime se çfarë ka nën gishtin tënd ose të kryesh gjeste për të bashkëvepruar me telefonin."</string>
+ <string name="oneMonthDurationPast" msgid="7396384508953779925">"1 muaj më parë"</string>
+ <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"Para 1 muaji"</string>
+ <plurals name="last_num_days" formatted="false" msgid="5104533550723932025">
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ditët e fundit</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ditën e fundit</item>
+ </plurals>
+ <string name="last_month" msgid="3959346739979055432">"Muajin e fundit"</string>
+ <string name="older" msgid="5211975022815554840">"Më të vjetra"</string>
+ <string name="preposition_for_date" msgid="9093949757757445117">"në <xliff:g id="DATE">%s</xliff:g>"</string>
+ <string name="preposition_for_time" msgid="5506831244263083793">"në <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="preposition_for_year" msgid="5040395640711867177">"në <xliff:g id="YEAR">%s</xliff:g>"</string>
+ <string name="day" msgid="8144195776058119424">"ditë"</string>
+ <string name="days" msgid="4774547661021344602">"ditë"</string>
+ <string name="hour" msgid="2126771916426189481">"orë"</string>
+ <string name="hours" msgid="894424005266852993">"orë"</string>
+ <string name="minute" msgid="9148878657703769868">"minutë"</string>
+ <string name="minutes" msgid="5646001005827034509">"minuta"</string>
+ <string name="second" msgid="3184235808021478">"sekondë"</string>
+ <string name="seconds" msgid="3161515347216589235">"sekonda"</string>
+ <string name="week" msgid="5617961537173061583">"javë"</string>
+ <string name="weeks" msgid="6509623834583944518">"javë"</string>
+ <string name="year" msgid="4001118221013892076">"vit"</string>
+ <string name="years" msgid="6881577717993213522">"vite"</string>
+ <plurals name="duration_seconds" formatted="false" msgid="4527986939729687805">
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> sekonda</item>
+ <item quantity="one">1 sekondë</item>
+ </plurals>
+ <plurals name="duration_minutes" formatted="false" msgid="643786953939956125">
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> minuta</item>
+ <item quantity="one">1 minutë</item>
+ </plurals>
+ <plurals name="duration_hours" formatted="false" msgid="6826233369186668274">
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> orë</item>
+ <item quantity="one">1 orë</item>
+ </plurals>
+ <string name="VideoView_error_title" msgid="3534509135438353077">"Problem me videon"</string>
+ <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"Kjo video nuk ofrohet për transmetim në këtë pajisje."</string>
+ <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"Videoja nuk mund të luhet."</string>
+ <string name="VideoView_error_button" msgid="2822238215100679592">"Në rregull!"</string>
+ <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
+ <string name="noon" msgid="7245353528818587908">"mesditë"</string>
+ <string name="Noon" msgid="3342127745230013127">"Mesditë"</string>
+ <string name="midnight" msgid="7166259508850457595">"mesnatë"</string>
+ <string name="Midnight" msgid="5630806906897892201">"Mesnatë"</string>
+ <string name="elapsed_time_short_format_mm_ss" msgid="4431555943828711473">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
+ <string name="elapsed_time_short_format_h_mm_ss" msgid="1846071997616654124">"<xliff:g id="HOURS">%1$d</xliff:g>:<xliff:g id="MINUTES">%2$02d</xliff:g>:<xliff:g id="SECONDS">%3$02d</xliff:g>"</string>
+ <string name="selectAll" msgid="6876518925844129331">"Përzgjidhi të gjitha"</string>
+ <string name="cut" msgid="3092569408438626261">"Pri"</string>
+ <string name="copy" msgid="2681946229533511987">"Kopjo"</string>
+ <string name="paste" msgid="5629880836805036433">"Ngjit"</string>
+ <string name="replace" msgid="5781686059063148930">"Zëvendëso…"</string>
+ <string name="delete" msgid="6098684844021697789">"Fshi"</string>
+ <string name="copyUrl" msgid="2538211579596067402">"Kopjo URL-në"</string>
+ <string name="selectTextMode" msgid="1018691815143165326">"Përzgjidh tekstin"</string>
+ <string name="textSelectionCABTitle" msgid="5236850394370820357">"Përzgjedhja e tekstit"</string>
+ <string name="addToDictionary" msgid="4352161534510057874">"Shto në fjalor"</string>
+ <string name="deleteText" msgid="6979668428458199034">"Fshi"</string>
+ <string name="inputMethod" msgid="1653630062304567879">"Metoda e hyrjes"</string>
+ <string name="editTextMenuTitle" msgid="4909135564941815494">"Veprimet e tekstit"</string>
+ <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Hapësira ruajtëse po mbaron"</string>
+ <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Disa funksione të sistemit mund të mos punojnë"</string>
+ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Nuk ka hapësirë të mjaftueshme ruajtjeje për sistemin. Sigurohu që ke 250 megabajt hapësirë të lirë dhe rifillo."</string>
+ <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> është në punë."</string>
+ <string name="app_running_notification_text" msgid="4653586947747330058">"Prek për më shumë informacion ose për të ndaluar aplikacionin."</string>
+ <string name="ok" msgid="5970060430562524910">"Në rregull!"</string>
+ <string name="cancel" msgid="6442560571259935130">"Anulo"</string>
+ <string name="yes" msgid="5362982303337969312">"Në rregull!"</string>
+ <string name="no" msgid="5141531044935541497">"Anulo"</string>
+ <string name="dialog_alert_title" msgid="2049658708609043103">"Kujdes!"</string>
+ <string name="loading" msgid="7933681260296021180">"Po ngarkohet..."</string>
+ <string name="capital_on" msgid="1544682755514494298">"Aktivizuar"</string>
+ <string name="capital_off" msgid="6815870386972805832">"Çaktivizuar"</string>
+ <string name="whichApplication" msgid="4533185947064773386">"Përfundo veprimin duke përdorur"</string>
+ <string name="whichApplicationNamed" msgid="8260158865936942783">"Përfundo veprimin duke përdorur %1$s"</string>
+ <string name="whichViewApplication" msgid="3272778576700572102">"Hap me"</string>
+ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Hap me %1$s"</string>
+ <string name="whichEditApplication" msgid="144727838241402655">"Redakto me"</string>
+ <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Redakto me %1$s"</string>
+ <string name="whichSendApplication" msgid="6902512414057341668">"Shpërnda publikisht me"</string>
+ <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Shpërnda publikisht me %1$s"</string>
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Përzgjidh një aplikacion nga ekrani bazë"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Përdore %1$s si faqe bazë"</string>
+ <string name="alwaysUse" msgid="4583018368000610438">"Përdore si parametër të paracaktuar për këtë veprim."</string>
+ <string name="use_a_different_app" msgid="8134926230585710243">"Përdor një aplikacion tjetër"</string>
+ <string name="clearDefaultHintMsg" msgid="3252584689512077257">"Pastro zgjedhjet e paracaktuara në \"Cilësimet e sistemit\" > \"Aplikacionet\" > \"Të shkarkuara\"."</string>
+ <string name="chooseActivity" msgid="7486876147751803333">"Zgjidh një veprim"</string>
+ <string name="chooseUsbActivity" msgid="6894748416073583509">"Zgjidh një aplikacion për pajisjen \"USB\""</string>
+ <string name="noApplications" msgid="2991814273936504689">"Asnjë aplikacion nuk mund ta kryejë këtë veprim."</string>
+ <string name="aerr_title" msgid="1905800560317137752"></string>
+ <string name="aerr_application" msgid="932628488013092776">"Fatkeqësisht, <xliff:g id="APPLICATION">%1$s</xliff:g> ka ndaluar."</string>
+ <string name="aerr_process" msgid="4507058997035697579">"Fatkeqësisht, procesi <xliff:g id="PROCESS">%1$s</xliff:g> ka ndaluar."</string>
+ <string name="anr_title" msgid="4351948481459135709"></string>
+ <string name="anr_activity_application" msgid="1904477189057199066">"<xliff:g id="APPLICATION">%2$s</xliff:g> nuk po përgjigjet.\n\nDëshiron ta mbyllësh?"</string>
+ <string name="anr_activity_process" msgid="5776209883299089767">"Aktiviteti <xliff:g id="ACTIVITY">%1$s</xliff:g> nuk përgjigjet.\n\nDëshiron ta mbyllësh?"</string>
+ <string name="anr_application_process" msgid="8941757607340481057">"<xliff:g id="APPLICATION">%1$s</xliff:g> nuk po përgjigjet. Dëshiron ta mbyllësh?"</string>
+ <string name="anr_process" msgid="6513209874880517125">"Procesi <xliff:g id="PROCESS">%1$s</xliff:g> nuk po përgjigjet.\n\nDëshiron ta mbyllësh?"</string>
+ <string name="force_close" msgid="8346072094521265605">"Në rregull!"</string>
+ <string name="report" msgid="4060218260984795706">"Raporto"</string>
+ <string name="wait" msgid="7147118217226317732">"Prit!"</string>
+ <string name="webpage_unresponsive" msgid="3272758351138122503">"Faqja nuk reagon.\n\nDëshiron ta mbyllësh?"</string>
+ <string name="launch_warning_title" msgid="1547997780506713581">"Aplikacioni u ridrejtua"</string>
+ <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> është tani në punë."</string>
+ <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> ishte hapur fillimisht."</string>
+ <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Shkalla"</string>
+ <string name="screen_compat_mode_show" msgid="4013878876486655892">"Shfaq gjithnjë"</string>
+ <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Aktivizoje sërish këtë te \"Cilësimet e sistemit\" > \"Aplikacionet\" > \"Të shkarkuara\"."</string>
+ <string name="smv_application" msgid="3307209192155442829">"Aplikacioni <xliff:g id="APPLICATION">%1$s</xliff:g> (procesi <xliff:g id="PROCESS">%2$s</xliff:g>) ka shkelur politikën e tij të vetë-imponuar \"Modaliteti i ashpër\" (StrictMode)."</string>
+ <string name="smv_process" msgid="5120397012047462446">"Procesi <xliff:g id="PROCESS">%1$s</xliff:g> ka shkelur politikën e tij të vetë-imponuar \"Modaliteti i rreptë\" (StrictMode)"</string>
+ <string name="android_upgrading_title" msgid="1584192285441405746">"\"Androidi\" po përditësohet…"</string>
+ <string name="android_start_title" msgid="8418054686415318207">"\"Androidi\" po fillon…"</string>
+ <string name="android_upgrading_fstrim" msgid="8036718871534640010">"Po përshtat ruajtjen."</string>
+ <string name="android_upgrading_apk" msgid="7904042682111526169">"Po përshtat aplikacionin <xliff:g id="NUMBER_0">%1$d</xliff:g> nga gjithsej <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
+ <string name="android_preparing_apk" msgid="8162599310274079154">"Po përgatit <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
+ <string name="android_upgrading_starting_apps" msgid="451464516346926713">"Aplikacionet e fillimit."</string>
+ <string name="android_upgrading_complete" msgid="1405954754112999229">"Po përfundon nisjen."</string>
+ <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> është në punë"</string>
+ <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"Prek për të kaluar tek aplikacioni"</string>
+ <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Të ndryshohen aplikacionet?"</string>
+ <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"Një tjetër aplikacion është në punë dhe duhet ndaluar përpara se të nisësh një tjetër."</string>
+ <string name="old_app_action" msgid="493129172238566282">"Kthehu në <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
+ <string name="old_app_description" msgid="2082094275580358049">"Mos e fillo aplikacion të ri."</string>
+ <string name="new_app_action" msgid="5472756926945440706">"Fillo <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
+ <string name="new_app_description" msgid="1932143598371537340">"Ndalo aplikacionin e vjetër pa e ruajtur."</string>
+ <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> e ka kaluar kufirin e memories"</string>
+ <string name="dump_heap_notification_detail" msgid="2075673362317481664">"Hedhja e dëmtimit të grumbullimit është marrë; prek për ta ndarë"</string>
+ <string name="dump_heap_title" msgid="5864292264307651673">"Të ndahet hedhja e dëmtimit të grumbullimit?"</string>
+ <string name="dump_heap_text" msgid="4809417337240334941">"Procesi <xliff:g id="PROC">%1$s</xliff:g> ka kaluar kufirin e tij të memories së procesit me <xliff:g id="SIZE">%2$s</xliff:g>. Ofrohet një hedhje e dëmtimit të grumbullimit që ta ndani me zhvilluesit e tij. Trego kujdes: kjo hedhje e dëmtimit të grumbullimit mund të përmbajë çdo informacion tëndin personal ku ka qasje ky aplikacion."</string>
+ <string name="sendText" msgid="5209874571959469142">"Zgjidh një veprim për tekstin"</string>
+ <string name="volume_ringtone" msgid="6885421406845734650">"Volumi i ziles"</string>
+ <string name="volume_music" msgid="5421651157138628171">"Volumi i klipeve \"media\""</string>
+ <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Luajtje përmes \"bluetooth-it\""</string>
+ <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"Zilja \"në heshjte\" u caktua"</string>
+ <string name="volume_call" msgid="3941680041282788711">"Volumi i telefonatës"</string>
+ <string name="volume_bluetooth_call" msgid="2002891926351151534">"Volumi i telefonatës përmes \"bluetooth-it\""</string>
+ <string name="volume_alarm" msgid="1985191616042689100">"Volumi i alarmit"</string>
+ <string name="volume_notification" msgid="2422265656744276715">"Volumi i njoftimit"</string>
+ <string name="volume_unknown" msgid="1400219669770445902">"Volumi"</string>
+ <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Volumi i \"bluetooth-it\""</string>
+ <string name="volume_icon_description_ringer" msgid="3326003847006162496">"Volumi i ziles"</string>
+ <string name="volume_icon_description_incall" msgid="8890073218154543397">"Volumi i telefonatës"</string>
+ <string name="volume_icon_description_media" msgid="4217311719665194215">"Volumi i klipeve \"media\""</string>
+ <string name="volume_icon_description_notification" msgid="7044986546477282274">"Volumi i njoftimeve"</string>
+ <string name="ringtone_default" msgid="3789758980357696936">"Zile e paracaktuar."</string>
+ <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Zilja e paracaktuar (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_silent" msgid="7937634392408977062">"Asnjë"</string>
+ <string name="ringtone_picker_title" msgid="3515143939175119094">"Zilet"</string>
+ <string name="ringtone_unknown" msgid="5477919988701784788">"Zile e panjohur"</string>
+ <plurals name="wifi_available" formatted="false" msgid="7900333017752027322">
+ <item quantity="other">Rrjete Wi-Fi ofrohen për përdorim</item>
+ <item quantity="one">Një rrjet Wi-Fi ofrohet për përdorim</item>
+ </plurals>
+ <plurals name="wifi_available_detailed" formatted="false" msgid="1140699367193975606">
+ <item quantity="other">Rrjete të hapura Wi-Fi në përdorim</item>
+ <item quantity="one">Rrjet i hapur Wi-Fi në përdorim</item>
+ </plurals>
+ <string name="wifi_available_sign_in" msgid="9157196203958866662">"Identifikohu në rrjetin Wi-Fi"</string>
+ <string name="network_available_sign_in" msgid="1848877297365446605">"Identifikohu në rrjet"</string>
+ <!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
+ <skip />
+ <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Nuk mund të lidhej me Wi-Fi"</string>
+ <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" ka një lidhje të dobët interneti."</string>
+ <string name="wifi_connect_alert_title" msgid="8455846016001810172">"Të lejohet lidhja?"</string>
+ <string name="wifi_connect_alert_message" msgid="6451273376815958922">"Aplikacioni %1$s do të lidhet me rrjetin Wi-Fi %2$s"</string>
+ <string name="wifi_connect_default_application" msgid="7143109390475484319">"Një aplikacion"</string>
+ <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direkt"</string>
+ <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Fillo \"Wi-Fi Direkt\". Kjo do ta çaktivizojë klientin ose zonën e qasjes Wi-Fi."</string>
+ <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Nuk mundi të fillonte \"Wi-Fi Direkt\"."</string>
+ <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"\"Wi-Fi Direkt\" është aktiv"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"Prek për \"cilësimet\""</string>
+ <string name="accept" msgid="1645267259272829559">"Prano"</string>
+ <string name="decline" msgid="2112225451706137894">"Refuzo"</string>
+ <string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"Ftesa u dërgua"</string>
+ <string name="wifi_p2p_invitation_to_connect_title" msgid="4958803948658533637">"Ftesë për t\'u lidhur"</string>
+ <string name="wifi_p2p_from_message" msgid="570389174731951769">"Nga:"</string>
+ <string name="wifi_p2p_to_message" msgid="248968974522044099">"Për:"</string>
+ <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Shkruaj PIN-in e kërkuar:"</string>
+ <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN-i:"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"Tableti do të shkëputet përkohësisht nga Wi-Fi gjatë kohës së lidhjes me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"Televizori do të shkëputet përkohësisht nga Wi-Fi gjatë kohës së lidhjes me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"Telefoni do të shkëputet përkohësisht nga Wi-Fi gjatë kohës së lidhjes me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="select_character" msgid="3365550120617701745">"Fut karakterin"</string>
+ <string name="sms_control_title" msgid="7296612781128917719">"Po dërgon mesazhe SMS"</string>
+ <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> po dërgon një numër të lartë mesazhesh SMS. Do ta lejosh aplikacionin të vazhdojë të dërgojë mesazhe?"</string>
+ <string name="sms_control_yes" msgid="3663725993855816807">"Lejo"</string>
+ <string name="sms_control_no" msgid="625438561395534982">"Moho"</string>
+ <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dëshiron të dërgojë një mesazh në <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b>."</string>
+ <string name="sms_short_code_details" msgid="5873295990846059400">"Kjo "<b>"mund të shkaktojë tarifa shtesë"</b>" në llogarinë tënde celulare."</string>
+ <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"Kjo do të shkaktojë tarifa shtesë në llogarinë tënde celulare."</b></string>
+ <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"Dërgo"</string>
+ <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Anulo"</string>
+ <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Kujto zgjedhjen time"</string>
+ <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Këtë mund ta ndryshosh më vonë te \"Cilësimet\" > \"Aplikacionet\""</string>
+ <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Lejo gjithmonë"</string>
+ <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"Mos lejo asnjëherë"</string>
+ <string name="sim_removed_title" msgid="6227712319223226185">"Karta SIM u hoq"</string>
+ <string name="sim_removed_message" msgid="5450336489923274918">"Rrjeti celular nuk do të mundësohet derisa ta rinisësh pajisjen me një kartë të vlefshme SIM në të."</string>
+ <string name="sim_done_button" msgid="827949989369963775">"U krye!"</string>
+ <string name="sim_added_title" msgid="3719670512889674693">"Karta SIM u shtua"</string>
+ <string name="sim_added_message" msgid="7797975656153714319">"Rinise pajisjen për të pasur qasje në rrjetin celular."</string>
+ <string name="sim_restart_button" msgid="4722407842815232347">"Rifillo"</string>
+ <string name="time_picker_dialog_title" msgid="8349362623068819295">"Cakto kohën"</string>
+ <string name="date_picker_dialog_title" msgid="5879450659453782278">"Cakto datën"</string>
+ <string name="date_time_set" msgid="5777075614321087758">"Cakto"</string>
+ <string name="date_time_done" msgid="2507683751759308828">"U krye!"</string>
+ <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"E RE: "</font></string>
+ <string name="perms_description_app" msgid="5139836143293299417">"Ofruar nga <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="no_permissions" msgid="7283357728219338112">"Nuk kërkohen leje"</string>
+ <string name="perm_costs_money" msgid="4902470324142151116">"kjo mund të të kushtojë para"</string>
+ <string name="usb_storage_activity_title" msgid="4465055157209648641">"Hapësira ruajtëse masive e USB-së"</string>
+ <string name="usb_storage_title" msgid="5901459041398751495">"USB-ja u lidh"</string>
+ <string name="usb_storage_message" product="nosdcard" msgid="3308538094316477839">"Je lidhur me kompjuterin përmes USB-së. Prek butonin më poshtë nëse dëshiron të kopjosh skedarët mes kompjuterit dhe hapësirës ruajtëse të USB-së në \"androidin\" tënd."</string>
+ <string name="usb_storage_message" product="default" msgid="805351000446037811">"Je lidhur në kompjuter përmes USB-së. Prek butonin më poshtë nëse dëshiron të kopjosh skedarët mes kompjuterit dhe kartës \"SD\" të pajisjes \"android\"."</string>
+ <string name="usb_storage_button_mount" msgid="1052259930369508235">"Aktivizo USB-në"</string>
+ <string name="usb_storage_error_message" product="nosdcard" msgid="3017045217365540658">"Ka një problem me përdorimin e USB-së për hapësirë masive ruajtëse USB-je."</string>
+ <string name="usb_storage_error_message" product="default" msgid="2876018512716970313">"Ka një problem me përdorimin e kartës SD për hapësirë masive ruajtëse USB-je."</string>
+ <string name="usb_storage_notification_title" msgid="8175892554757216525">"USB-ja u lidh"</string>
+ <string name="usb_storage_notification_message" msgid="939822783828183763">"Prek për të kopjuar skedarë në/nga kompjuteri yt."</string>
+ <string name="usb_storage_stop_notification_title" msgid="2336058396663516017">"Çaktivizo USB-në"</string>
+ <string name="usb_storage_stop_notification_message" msgid="1656852098555623822">"Prek për të çaktivizuar USB-në."</string>
+ <string name="usb_storage_stop_title" msgid="660129851708775853">"USB-ja është në përdorim"</string>
+ <string name="usb_storage_stop_message" product="nosdcard" msgid="4264025280777219521">"Para se të çaktivizosh USB-në, shkëput (\"nxirr\") USB-në e androidit nga kompjuteri."</string>
+ <string name="usb_storage_stop_message" product="default" msgid="8043969782460613114">"Para se të çaktivizosh USB-në, shkëput (\"nxirr\") kartën SD të pajisjes \"android\" nga kompjuteri yt."</string>
+ <string name="usb_storage_stop_button_mount" msgid="7060218034900696029">"Çaktivizo USB-në"</string>
+ <string name="usb_storage_stop_error_message" msgid="1970374898263063836">"Kishte një problem me çaktivizimin e USB-së. Kontrollo nëse e ke shkëputur pritësin e USB-së dhe pastaj provo sërish."</string>
+ <string name="dlg_confirm_kill_storage_users_title" msgid="963039033470478697">"Aktivizo USB-në."</string>
+ <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"Nëse aktivizon USB-në, disa aplikacione që po përdor do të ndalojnë. Ata mund të jenë të papërdorshëm derisa ta çaktivizosh sërish USB-në."</string>
+ <string name="dlg_error_title" msgid="7323658469626514207">"Operacioni i USB-së nuk pati sukses"</string>
+ <string name="dlg_ok" msgid="7376953167039865701">"Në rregull!"</string>
+ <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Lidhur si pajisje e jashtme"</string>
+ <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Lidhur si kamerë"</string>
+ <string name="usb_midi_notification_title" msgid="1399152904227676460">"U lidh si një pajisje MIDI"</string>
+ <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"I lidhur si instalues"</string>
+ <string name="usb_accessory_notification_title" msgid="7848236974087653666">"U lidh me një ndihmës USB-je"</string>
+ <string name="usb_notification_message" msgid="2290859399983720271">"Prek për opsione të tjera të USB-së."</string>
+ <string name="extmedia_format_title" product="nosdcard" msgid="9020092196061007262">"Të formatohet USB-ja?"</string>
+ <string name="extmedia_format_title" product="default" msgid="3648415921526526069">"Të formatohet karta SD?"</string>
+ <string name="extmedia_format_message" product="nosdcard" msgid="3934016853425761078">"Të gjithë skedarët e ruajtur në USB do të fshihen. Ky veprim nuk mund të kthehet mbrapsht!"</string>
+ <string name="extmedia_format_message" product="default" msgid="14131895027543830">"Të gjitha të dhënat e kartës do të humbasin."</string>
+ <string name="extmedia_format_button_format" msgid="4131064560127478695">"Formato"</string>
+ <string name="adb_active_notification_title" msgid="6729044778949189918">"Korrigjuesi i USB-së u lidh"</string>
+ <string name="adb_active_notification_message" msgid="1016654627626476142">"Prek për të çaktivizuar korrigjimin e gabimeve të USB-së."</string>
+ <string name="select_input_method" msgid="8547250819326693584">"Ndërro tastierë"</string>
+ <string name="configure_input_methods" msgid="4769971288371946846">"Zgjidh tastierat"</string>
+ <string name="show_ime" msgid="9157568568695230830">"Shfaq metodën e hyrjes"</string>
+ <string name="hardware" msgid="7517821086888990278">"Harduer"</string>
+ <string name="select_keyboard_layout_notification_title" msgid="1407367017263030773">"Përzgjidh planin e tastierës"</string>
+ <string name="select_keyboard_layout_notification_message" msgid="4465907700449257063">"Prek për të përzgjedhur tastierën."</string>
+ <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
+ <string name="candidates_style" msgid="4333913089637062257"><u>"kandidatë"</u></string>
+ <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Po përgatit <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Po kontrollon për gabime"</string>
+ <string name="ext_media_new_notification_message" msgid="7589986898808506239">"U zbulua karta e re <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Për transferimin e fotografive dhe skedarëve \"media\""</string>
+ <string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"<xliff:g id="NAME">%s</xliff:g> e dëmtuar"</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> është e dëmtuar; provo ta riformatosh"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> u hoq papritur"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Shkëput <xliff:g id="NAME">%s</xliff:g> para se ta heqësh për të shmangur humbjen e të dhënave"</string>
+ <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"Është hequr <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> është hequr; fut një të re"</string>
+ <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"Ende duke nxjerrë <xliff:g id="NAME">%s</xliff:g>..."</string>
+ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Mos e hiq"</string>
+ <string name="ext_media_init_action" msgid="8317198948634872507">"Konfigurimi"</string>
+ <string name="ext_media_unmount_action" msgid="1121883233103278199">"Nxirr"</string>
+ <string name="ext_media_browse_action" msgid="8322172381028546087">"Eksploro"</string>
+ <string name="activity_list_empty" msgid="1675388330786841066">"Nuk u gjet asnjë aktivitet që përputhet."</string>
+ <string name="permlab_route_media_output" msgid="1642024455750414694">"Kalo daljet e medias"</string>
+ <string name="permdesc_route_media_output" msgid="4932818749547244346">"Lejon një aplikacion të kalojë daljet mediatike në pajisje të tjera të jashtme."</string>
+ <string name="permlab_readInstallSessions" msgid="6165432407628065939">"Lexo sesionet e instalimit"</string>
+ <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Lejon një aplikacion të lexojë sesionet e instalimit. Kjo e lejon atë të shohë detaje rreth instalimeve të paketave aktive."</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"Prek dy herë për të kontrolluar zmadhimin"</string>
+ <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Nuk mundi të shtonte miniaplikacion."</string>
+ <string name="ime_action_go" msgid="8320845651737369027">"Shko"</string>
+ <string name="ime_action_search" msgid="658110271822807811">"Kërko"</string>
+ <string name="ime_action_send" msgid="2316166556349314424">"Dërgo"</string>
+ <string name="ime_action_next" msgid="3138843904009813834">"Tjetër"</string>
+ <string name="ime_action_done" msgid="8971516117910934605">"U krye!"</string>
+ <string name="ime_action_previous" msgid="1443550039250105948">"I mëparshëm"</string>
+ <string name="ime_action_default" msgid="2840921885558045721">"Ekzekuto"</string>
+ <string name="dial_number_using" msgid="5789176425167573586">"Telefono numrin\nduke përdorur <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <string name="create_contact_using" msgid="4947405226788104538">"Krijo kontakt\nduke përdorur <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"Aplikacioni i mëposhtëm ose aplikacione të tjera kërkojnë leje për qasje në llogarinë tënde, tani dhe në të ardhmen."</string>
+ <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"Dëshiron ta lejosh këtë kërkesë?"</string>
+ <string name="grant_permissions_header_text" msgid="6874497408201826708">"Kërkesë për qasje"</string>
+ <string name="allow" msgid="7225948811296386551">"Lejo"</string>
+ <string name="deny" msgid="2081879885755434506">"Moho"</string>
+ <string name="permission_request_notification_title" msgid="6486759795926237907">"Kërkohet leje"</string>
+ <string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"Kërkohet leje\npër llogarinë <xliff:g id="ACCOUNT">%s</xliff:g>."</string>
+ <string name="forward_intent_to_owner" msgid="1207197447013960896">"Po e përdor këtë aplikacion jashtë profilit tënd të punës"</string>
+ <string name="forward_intent_to_work" msgid="621480743856004612">"Këtë aplikacion po e përdor në profilin tënd të punës"</string>
+ <string name="input_method_binding_label" msgid="1283557179944992649">"Metoda e hyrjeve"</string>
+ <string name="sync_binding_label" msgid="3687969138375092423">"Sinkronizo"</string>
+ <string name="accessibility_binding_label" msgid="4148120742096474641">"Qasja"</string>
+ <string name="wallpaper_binding_label" msgid="1240087844304687662">"Imazhi i sfondit"</string>
+ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ndrysho imazhin e sfondit"</string>
+ <string name="notification_listener_binding_label" msgid="2014162835481906429">"Dëgjues njoftimesh"</string>
+ <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ofrues kushtesh"</string>
+ <string name="vpn_title" msgid="19615213552042827">"VPN-ja u aktivizua"</string>
+ <string name="vpn_title_long" msgid="6400714798049252294">"VPN-ja është aktivizuar nga <xliff:g id="APP">%s</xliff:g>"</string>
+ <string name="vpn_text" msgid="3011306607126450322">"Prek për të menaxhuar rrjetin."</string>
+ <string name="vpn_text_long" msgid="6407351006249174473">"Lidhur me <xliff:g id="SESSION">%s</xliff:g>. Prek për të menaxhuar rrjetin."</string>
+ <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Po lidh VPN-në për aktivizim të përhershëm…"</string>
+ <string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN e lidhur në mënyrë të përhershme"</string>
+ <string name="vpn_lockdown_error" msgid="6009249814034708175">"Gabimi VPN-je për aktivizimin e përhershëm"</string>
+ <string name="vpn_lockdown_config" msgid="6415899150671537970">"Prek për të konfiguruar"</string>
+ <string name="upload_file" msgid="2897957172366730416">"Zgjidh skedarin"</string>
+ <string name="no_file_chosen" msgid="6363648562170759465">"Nuk u zgjodh asnjë skedar"</string>
+ <string name="reset" msgid="2448168080964209908">"Rivendos"</string>
+ <string name="submit" msgid="1602335572089911941">"Dërgo"</string>
+ <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Modaliteti \"në makinë\" është i aktivizuar"</string>
+ <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Prek për të dalë nga modaliteti \"në makinë\"."</string>
+ <string name="tethered_notification_title" msgid="3146694234398202601">"Lidhja e çiftimit ose ajo e qasjes në zona publike interneti është aktive"</string>
+ <string name="tethered_notification_message" msgid="6857031760103062982">"Prek për të konfiguruar."</string>
+ <string name="back_button_label" msgid="2300470004503343439">"Prapa"</string>
+ <string name="next_button_label" msgid="1080555104677992408">"Tjetër"</string>
+ <string name="skip_button_label" msgid="1275362299471631819">"Kapërce"</string>
+ <string name="no_matches" msgid="8129421908915840737">"Asnjë përputhje"</string>
+ <string name="find_on_page" msgid="1946799233822820384">"Gjej brenda faqes"</string>
+ <plurals name="matches_found" formatted="false" msgid="1210884353962081884">
+ <item quantity="other"><xliff:g id="INDEX">%d</xliff:g> nga gjithsej <xliff:g id="TOTAL">%d</xliff:g></item>
+ <item quantity="one">1 përputhje</item>
+ </plurals>
+ <string name="action_mode_done" msgid="7217581640461922289">"U krye!"</string>
+ <string name="progress_unmounting" product="nosdcard" msgid="3923810448507612746">"Po çmonton USB-në…"</string>
+ <string name="progress_unmounting" product="default" msgid="1327894998409537190">"Po çmonton kartën SD…"</string>
+ <string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"Po fshin USB-në..."</string>
+ <string name="progress_erasing" product="default" msgid="6596988875507043042">"Po fshin kartën SD…"</string>
+ <string name="format_error" product="nosdcard" msgid="6299769563624776948">"Nuk mundi ta spastronte USB-në."</string>
+ <string name="format_error" product="default" msgid="7315248696644510935">"Nuk mundi të fshinte kartën SD."</string>
+ <string name="media_bad_removal" msgid="7960864061016603281">"Karta SD u hoq para shkëputjes."</string>
+ <string name="media_checking" product="nosdcard" msgid="418188720009569693">"USB-ja po kontrollohet aktualisht."</string>
+ <string name="media_checking" product="default" msgid="7334762503904827481">"Aktualisht karta SD po kontrollohet."</string>
+ <string name="media_removed" msgid="7001526905057952097">"Karta SD është hequr."</string>
+ <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"USB-ja është aktualisht në përdorim në kompjuter."</string>
+ <string name="media_shared" product="default" msgid="5706130568133540435">"Karta SD është aktualisht në përdorim në kompjuter."</string>
+ <string name="media_unknown_state" msgid="729192782197290385">"Pajisja ruajtëse e jashtme është në gjendje të panjohshme."</string>
+ <string name="share" msgid="1778686618230011964">"Shpërnda"</string>
+ <string name="find" msgid="4808270900322985960">"Gjej"</string>
+ <string name="websearch" msgid="4337157977400211589">"Kërkim në internet"</string>
+ <string name="find_next" msgid="5742124618942193978">"Gjej tjetrën"</string>
+ <string name="find_previous" msgid="2196723669388360506">"Gjej të mëparshmin"</string>
+ <string name="gpsNotifTicker" msgid="5622683912616496172">"Kërkesë për vendndodhje nga <xliff:g id="NAME">%s</xliff:g>"</string>
+ <string name="gpsNotifTitle" msgid="5446858717157416839">"Kërkesë për vendndodhje"</string>
+ <string name="gpsNotifMessage" msgid="1374718023224000702">"Kërkuar nga <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
+ <string name="gpsVerifYes" msgid="2346566072867213563">"Po"</string>
+ <string name="gpsVerifNo" msgid="1146564937346454865">"Jo"</string>
+ <string name="sync_too_many_deletes" msgid="5296321850662746890">"Kufiri i fshirjes u tejkalua"</string>
+ <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"Ka <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> artikuj të fshirë për <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> nga llogaria <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Çfarë dëshiron të bësh?"</string>
+ <string name="sync_really_delete" msgid="2572600103122596243">"Fshiji artikujt"</string>
+ <string name="sync_undo_deletes" msgid="2941317360600338602">"Zhbëj fshirjet"</string>
+ <string name="sync_do_nothing" msgid="3743764740430821845">"Mos bëj asgjë për momentin"</string>
+ <string name="choose_account_label" msgid="5655203089746423927">"Zgjidh një llogari"</string>
+ <string name="add_account_label" msgid="2935267344849993553">"Shto një llogari"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"Shto llogari"</string>
+ <string name="number_picker_increment_button" msgid="2412072272832284313">"Rrit"</string>
+ <string name="number_picker_decrement_button" msgid="476050778386779067">"Pakëso"</string>
+ <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Prek dhe mbaj shtypur <xliff:g id="VALUE">%s</xliff:g>"</string>
+ <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Rrëshqit lart për të rritur dhe poshtë për të pakësuar."</string>
+ <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Rrit vlerat për minutë"</string>
+ <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Pakëso vlerat për minutë"</string>
+ <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Rrit vlerat për orë"</string>
+ <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Pakëso vlerat për orë"</string>
+ <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Cakto vlerat PM"</string>
+ <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Cakto vlerat AM"</string>
+ <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Rrit vlerën mujore"</string>
+ <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Pakëso vlerën mujore"</string>
+ <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Rrit vlerën ditore"</string>
+ <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Pakëso vlerën ditore"</string>
+ <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Rrit vlerën vjetore"</string>
+ <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Pakëso vlerën vjetore"</string>
+ <string name="date_picker_prev_month_button" msgid="2858244643992056505">"Muaji i mëparshëm"</string>
+ <string name="date_picker_next_month_button" msgid="5559507736887605055">"Muaji i ardhshëm"</string>
+ <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string>
+ <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Anulo"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Fshi"</string>
+ <string name="keyboardview_keycode_done" msgid="1992571118466679775">"U krye!"</string>
+ <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Ndryshim modaliteti"</string>
+ <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string>
+ <string name="activitychooserview_choose_application" msgid="2125168057199941199">"Zgjidh një aplikacion"</string>
+ <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"Nuk mundi ta hapte <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
+ <string name="shareactionprovider_share_with" msgid="806688056141131819">"Shpërnda publikisht me"</string>
+ <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Shpërnda me <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
+ <string name="content_description_sliding_handle" msgid="415975056159262248">"Dorezë me rrëshqitje. Preke dhe mbaje të shtypur."</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Rrëshqit për të shkyçur."</string>
+ <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Vendos kufjet për të dëgjuar fjalëkalimin"</string>
+ <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Pikë."</string>
+ <string name="action_bar_home_description" msgid="5293600496601490216">"Orientohu për në shtëpi"</string>
+ <string name="action_bar_up_description" msgid="2237496562952152589">"Ngjitu lart"</string>
+ <string name="action_menu_overflow_description" msgid="2295659037509008453">"Opsione të tjera"</string>
+ <string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
+ <string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
+ <string name="storage_internal" msgid="4891916833657929263">"Hapësira e brendshme ruajtëse"</string>
+ <string name="storage_sd_card" msgid="3282948861378286745">"Karta SD"</string>
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Karta SD nga <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-ja"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-ja nga <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb" msgid="3017954059538517278">"Hapësira ruajtëse e USB-së"</string>
+ <string name="extract_edit_menu_button" msgid="8940478730496610137">"Redakto"</string>
+ <string name="data_usage_warning_title" msgid="1955638862122232342">"Paralajmërim për përdorimin e të dhënave"</string>
+ <string name="data_usage_warning_body" msgid="2814673551471969954">"Prek për të parë përdorimin dhe cilësimet."</string>
+ <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Kufiri i të dhënave 2G-3G u arrit"</string>
+ <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Kufiri i të dhënave 4G u arrit"</string>
+ <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Kufiri i të dhënave celulare u arrit"</string>
+ <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"U arrit kufiri i të dhënave Wi-Fi"</string>
+ <string name="data_usage_limit_body" msgid="291731708279614081">"Të dhënat u ndaluan për pjesën e mbetur të ciklit"</string>
+ <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"Kufiri i të dhënave 2G-3G u tejkalua"</string>
+ <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"Kufiri i të dhënave 4G u tejkalua"</string>
+ <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"Kufiri i të dhënave celulare u tejkalua"</string>
+ <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Kufiri i të dhënave Wi-Fi u tejkalua"</string>
+ <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> mbi kufirin e përcaktuar."</string>
+ <string name="data_usage_restricted_title" msgid="5965157361036321914">"Të dhënat e sfondit janë të kufizuara"</string>
+ <string name="data_usage_restricted_body" msgid="6741521330997452990">"Prek për të hequr kufizimin."</string>
+ <string name="ssl_certificate" msgid="6510040486049237639">"Certifikatë sigurie"</string>
+ <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Certifikata është e vlefshme."</string>
+ <string name="issued_to" msgid="454239480274921032">"Lëshuar për:"</string>
+ <string name="common_name" msgid="2233209299434172646">"Emri i zakonshëm:"</string>
+ <string name="org_name" msgid="6973561190762085236">"Organizata:"</string>
+ <string name="org_unit" msgid="7265981890422070383">"Njësia organizative:"</string>
+ <string name="issued_by" msgid="2647584988057481566">"Lëshuar nga:"</string>
+ <string name="validity_period" msgid="8818886137545983110">"Vlefshmëria:"</string>
+ <string name="issued_on" msgid="5895017404361397232">"Hedhur në qarkullim më:"</string>
+ <string name="expires_on" msgid="3676242949915959821">"Skadon më:"</string>
+ <string name="serial_number" msgid="758814067660862493">"Numri serik:"</string>
+ <string name="fingerprints" msgid="4516019619850763049">"Shenjat e gishtave:"</string>
+ <string name="sha256_fingerprint" msgid="4391271286477279263">"Shenja e gishtit SHA-256:"</string>
+ <string name="sha1_fingerprint" msgid="7930330235269404581">"Shenjë gishti SHA-1:"</string>
+ <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Shikoji të gjitha"</string>
+ <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Zgjidh aktivitetin"</string>
+ <string name="share_action_provider_share_with" msgid="5247684435979149216">"Shpërnda publikisht me"</string>
+ <string name="list_delimeter" msgid="3975117572185494152">", "</string>
+ <string name="sending" msgid="3245653681008218030">"Po dërgon…"</string>
+ <string name="launchBrowserDefault" msgid="2057951947297614725">"Të hapet shfletuesi?"</string>
+ <string name="SetupCallDefault" msgid="5834948469253758575">"Dëshiron ta pranosh telefonatën?"</string>
+ <string name="activity_resolver_use_always" msgid="8017770747801494933">"Gjithmonë"</string>
+ <string name="activity_resolver_use_once" msgid="2404644797149173758">"Vetëm një herë"</string>
+ <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s nuk e mbështet profilin e punës"</string>
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"Televizori"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
+ <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Kufjet"</string>
+ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Altoparlantët e stacionit"</string>
+ <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string>
+ <string name="default_audio_route_category_name" msgid="3722811174003886946">"Sistemi"</string>
+ <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Audioja e \"bluetooth-it\""</string>
+ <string name="wireless_display_route_description" msgid="9070346425023979651">"Ekran pa tel"</string>
+ <string name="media_route_button_content_description" msgid="591703006349356016">"Transmeto"</string>
+ <string name="media_route_chooser_title" msgid="1751618554539087622">"Lidhu me pajisjen"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"Transmeto ekranin në pajisje"</string>
+ <string name="media_route_chooser_searching" msgid="4776236202610828706">"Po kërkon për pajisje…"</string>
+ <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"Cilësimet"</string>
+ <string name="media_route_controller_disconnect" msgid="8966120286374158649">"Shkëput"</string>
+ <string name="media_route_status_scanning" msgid="7279908761758293783">"Po skanon..."</string>
+ <string name="media_route_status_connecting" msgid="6422571716007825440">"Po lidhet..."</string>
+ <string name="media_route_status_available" msgid="6983258067194649391">"Mundësohet"</string>
+ <string name="media_route_status_not_available" msgid="6739899962681886401">"Nuk mundësohet"</string>
+ <string name="media_route_status_in_use" msgid="4533786031090198063">"Në përdorim"</string>
+ <string name="display_manager_built_in_display_name" msgid="2583134294292563941">"Ekran i integruar"</string>
+ <string name="display_manager_hdmi_display_name" msgid="1555264559227470109">"Ekran HDMI"</string>
+ <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"Mbivendosja #<xliff:g id="ID">%1$d</xliff:g>"</string>
+ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> ppi"</string>
+ <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", i sigurt"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Harrova motivin"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"Motivi është i gabuar"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"Fjalëkalim i gabuar"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-i është i gabuar"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Provo sërish për <xliff:g id="NUMBER">%1$d</xliff:g> sekonda."</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"Vizato motivin tënd"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Fut PIN-in e kartës SIM"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"Fut PIN-in"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"Fut fjalëkalimin"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"Karta SIM tani është e çaktivizuar. Fut kodin PUK për të vazhduar. Kontakto operatorin për detaje."</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Fut kodin e dëshiruar të PIN-it"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Konfirmo kodin e dëshiruar PIN"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"Po shkyç kartën SIM…"</string>
+ <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"Kodi PIN është i pasaktë."</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Shkruaj një PIN me 4 deri në 8 numra."</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"Kodi PUK duhet të jetë me 8 numra."</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"Fut kodin e saktë PUK. Provat e përsëritura do ta çaktivizojnë përgjithmonë kartën SIM."</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"Kodet PIN nuk përputhen"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Shumë tentativa për motivin"</string>
+ <string name="kg_login_instructions" msgid="1100551261265506448">"Për të shkyçur, identifikohu me llogarinë tënde të Google."</string>
+ <string name="kg_login_username_hint" msgid="5718534272070920364">"Emri i përdoruesit (mail-i)"</string>
+ <string name="kg_login_password_hint" msgid="9057289103827298549">"Fjalëkalimi"</string>
+ <string name="kg_login_submit_button" msgid="5355904582674054702">"Identifikohu"</string>
+ <string name="kg_login_invalid_input" msgid="5754664119319872197">"Emër përdoruesi ose fjalëkalim i pavlefshëm."</string>
+ <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"Harrove emrin e përdoruesit apo fjalëkalimin?\nVizito "<b>"google.com/accounts/recovery"</b>"."</string>
+ <string name="kg_login_checking_password" msgid="1052685197710252395">"Po kontrollon llogarinë…"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"E ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht PIN-in tënd.\n\n Provo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht fjalëkalimin.\n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për të vizatuar motivin tënd. \n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur tabletin tënd. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, tableti do të rivendoset në gjendje fabrike dhe të gjitha të dhënat e përdoruesit do të humbasin."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur televizorin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, televizori do të rivendoset në gjendjen e fabrikës dhe të gjitha të dhënat e përdoruesit do të humben."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur telefonin tënd. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, telefoni do të rivendoset në gjendje fabrike dhe të gjitha të dhënat e përdoruesit do të humbasin."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur tabletin tënd. Tableti tani do të rivendoset në gjendje fabrike."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë ta shkyçësh pa sukses televizorin tënd. Televizori do të rivendoset tani si në gjendjen e fabrikës."</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë ta shkyçësh pa sukses telefonin tënd. Telefoni do të rivendoset tani si në gjendjen e fabrikës."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"E ke vizatuar gabimisht motivin tënd të shkyçjes <xliff:g id="NUMBER_0">%d</xliff:g> herë. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme do të të kërkohet ta shkyçësh tabletin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses motivin tënd. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh televizorin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses motivin tënd. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh telefonin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" - "</string>
+ <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Hiq"</string>
+ <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"Të ngrihet volumi mbi nivelin e rekomanduar?\n\nDëgjimi me volum të lartë për periudha të gjata mund të dëmtojë dëgjimin."</string>
+ <string name="continue_to_enable_accessibility" msgid="1626427372316070258">"Mbaji shtypur dy gishtat për të aktivizuar qasjen."</string>
+ <string name="accessibility_enabled" msgid="1381972048564547685">"Qasja u aktivizua."</string>
+ <string name="enable_accessibility_canceled" msgid="3833923257966635673">"Qasja u anulua."</string>
+ <string name="user_switched" msgid="3768006783166984410">"Emri i përdoruesit aktual: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="user_switching_message" msgid="2871009331809089783">"Po kalon në <xliff:g id="NAME">%1$s</xliff:g>…"</string>
+ <string name="owner_name" msgid="2716755460376028154">"Zotëruesi"</string>
+ <string name="error_message_title" msgid="4510373083082500195">"Gabim"</string>
+ <string name="error_message_change_not_allowed" msgid="1347282344200417578">"Ky ndryshim nuk lejohet nga administratori yt"</string>
+ <string name="app_not_found" msgid="3429141853498927379">"Nuk u gjet asnjë aplikacion për të menaxhuar këtë veprim"</string>
+ <string name="revoke" msgid="5404479185228271586">"Anulo"</string>
+ <string name="mediasize_iso_a0" msgid="1994474252931294172">"ISO A0"</string>
+ <string name="mediasize_iso_a1" msgid="3333060421529791786">"ISO A1"</string>
+ <string name="mediasize_iso_a2" msgid="3097535991925798280">"ISO A2"</string>
+ <string name="mediasize_iso_a3" msgid="3023213259314236123">"ISO A3"</string>
+ <string name="mediasize_iso_a4" msgid="231745325296873764">"ISO A4"</string>
+ <string name="mediasize_iso_a5" msgid="3484327407340865411">"ISO A5"</string>
+ <string name="mediasize_iso_a6" msgid="4861908487129577530">"ISO A6"</string>
+ <string name="mediasize_iso_a7" msgid="5890208588072936130">"ISO A7"</string>
+ <string name="mediasize_iso_a8" msgid="4319425041085816612">"ISO A8"</string>
+ <string name="mediasize_iso_a9" msgid="4882220529506432008">"ISO A9"</string>
+ <string name="mediasize_iso_a10" msgid="2382866026365359391">"ISO A10"</string>
+ <string name="mediasize_iso_b0" msgid="3651827147402009675">"ISO B0"</string>
+ <string name="mediasize_iso_b1" msgid="6072859628278739957">"ISO B1"</string>
+ <string name="mediasize_iso_b2" msgid="1348731852150380378">"ISO B2"</string>
+ <string name="mediasize_iso_b3" msgid="2612510181259261379">"ISO B3"</string>
+ <string name="mediasize_iso_b4" msgid="695151378838115434">"ISO B4"</string>
+ <string name="mediasize_iso_b5" msgid="4863754285582212487">"ISO B5"</string>
+ <string name="mediasize_iso_b6" msgid="5305816292139647241">"ISO B6"</string>
+ <string name="mediasize_iso_b7" msgid="531673542602786624">"ISO B7"</string>
+ <string name="mediasize_iso_b8" msgid="9164474595708850034">"ISO B8"</string>
+ <string name="mediasize_iso_b9" msgid="282102976764774160">"ISO B9"</string>
+ <string name="mediasize_iso_b10" msgid="4517141714407898976">"ISO B10"</string>
+ <string name="mediasize_iso_c0" msgid="3103521357901591100">"ISO C0"</string>
+ <string name="mediasize_iso_c1" msgid="1231954105985048595">"ISO C1"</string>
+ <string name="mediasize_iso_c2" msgid="927702816980087462">"ISO C2"</string>
+ <string name="mediasize_iso_c3" msgid="835154173518304159">"ISO C3"</string>
+ <string name="mediasize_iso_c4" msgid="5095951985108194011">"ISO C4"</string>
+ <string name="mediasize_iso_c5" msgid="1985397450332305739">"ISO C5"</string>
+ <string name="mediasize_iso_c6" msgid="8147421924174693013">"ISO C6"</string>
+ <string name="mediasize_iso_c7" msgid="8993994925276122950">"ISO C7"</string>
+ <string name="mediasize_iso_c8" msgid="6871178104139598957">"ISO C8"</string>
+ <string name="mediasize_iso_c9" msgid="7983532635227561362">"ISO C9"</string>
+ <string name="mediasize_iso_c10" msgid="5040764293406765584">"ISO C10"</string>
+ <string name="mediasize_na_letter" msgid="2841414839888344296">"Letër"</string>
+ <string name="mediasize_na_gvrnmt_letter" msgid="5295836838862962809">"Letër qeveritare"</string>
+ <string name="mediasize_na_legal" msgid="8621364037680465666">"Ligjor"</string>
+ <string name="mediasize_na_junior_legal" msgid="3309324162155085904">"Ligjor i ri"</string>
+ <string name="mediasize_na_ledger" msgid="5567030340509075333">"Libër llogarish"</string>
+ <string name="mediasize_na_tabloid" msgid="4571735038501661757">"Tabloid"</string>
+ <string name="mediasize_na_index_3x5" msgid="5182901917818625126">"Kartë indeksi 3x5"</string>
+ <string name="mediasize_na_index_4x6" msgid="7687620625422312396">"Karta e indeksit 4x6"</string>
+ <string name="mediasize_na_index_5x8" msgid="8834215284646872800">"Kartë indeksi 5x8"</string>
+ <string name="mediasize_na_monarch" msgid="213639906956550754">"\"Monarch\""</string>
+ <string name="mediasize_na_quarto" msgid="835778493593023223">"\"Quatro\""</string>
+ <string name="mediasize_na_foolscap" msgid="1573911237983677138">"Foolscap"</string>
+ <string name="mediasize_chinese_roc_8k" msgid="3626855847189438896">"ROC 8K"</string>
+ <string name="mediasize_chinese_roc_16k" msgid="9182191577022943355">"ROC 16K"</string>
+ <string name="mediasize_chinese_prc_1" msgid="4793232644980170500">"PRC 1"</string>
+ <string name="mediasize_chinese_prc_2" msgid="5404109730975720670">"PRC 2"</string>
+ <string name="mediasize_chinese_prc_3" msgid="1335092253339363526">"PRC 3"</string>
+ <string name="mediasize_chinese_prc_4" msgid="9167997800486569834">"PRC 4"</string>
+ <string name="mediasize_chinese_prc_5" msgid="845875168823541497">"PRC 5"</string>
+ <string name="mediasize_chinese_prc_6" msgid="3220325667692648789">"PRC 6"</string>
+ <string name="mediasize_chinese_prc_7" msgid="1776792138507038527">"PRC 7"</string>
+ <string name="mediasize_chinese_prc_8" msgid="1417176642687456692">"PRC 8"</string>
+ <string name="mediasize_chinese_prc_9" msgid="4785983473123798365">"PRC 9"</string>
+ <string name="mediasize_chinese_prc_10" msgid="7847982299391851899">"PRC 10"</string>
+ <string name="mediasize_chinese_prc_16k" msgid="262793383539980677">"PRC 16K"</string>
+ <string name="mediasize_chinese_om_pa_kai" msgid="5256815579447959814">"Pa Kai"</string>
+ <string name="mediasize_chinese_om_dai_pa_kai" msgid="7336412963441354407">"Dai Pa Kai"</string>
+ <string name="mediasize_chinese_om_jurro_ku_kai" msgid="6324465444100490742">"Jurro Ku Kai"</string>
+ <string name="mediasize_japanese_jis_b10" msgid="1787262845627694376">"JIS B10"</string>
+ <string name="mediasize_japanese_jis_b9" msgid="3336035783663287470">"JIS B9"</string>
+ <string name="mediasize_japanese_jis_b8" msgid="6195398299104345731">"JIS B8"</string>
+ <string name="mediasize_japanese_jis_b7" msgid="1674621886902828884">"JIS B7"</string>
+ <string name="mediasize_japanese_jis_b6" msgid="4170576286062657435">"JIS B6"</string>
+ <string name="mediasize_japanese_jis_b5" msgid="4899297958100032533">"JIS B5"</string>
+ <string name="mediasize_japanese_jis_b4" msgid="4213158129126666847">"JIS B4"</string>
+ <string name="mediasize_japanese_jis_b3" msgid="8513715307410310696">"JIS B3"</string>
+ <string name="mediasize_japanese_jis_b2" msgid="4777690211897131190">"JIS B2"</string>
+ <string name="mediasize_japanese_jis_b1" msgid="4608142385457034603">"JIS B1"</string>
+ <string name="mediasize_japanese_jis_b0" msgid="7587108366572243991">"JIS B0"</string>
+ <string name="mediasize_japanese_jis_exec" msgid="5244075432263649068">"JIS Exec"</string>
+ <string name="mediasize_japanese_chou4" msgid="4941652015032631361">"Chou4"</string>
+ <string name="mediasize_japanese_chou3" msgid="6387319169263957010">"Chou3"</string>
+ <string name="mediasize_japanese_chou2" msgid="1299112025415343982">"Chou2"</string>
+ <string name="mediasize_japanese_hagaki" msgid="8070115620644254565">"Hagaki"</string>
+ <string name="mediasize_japanese_oufuku" msgid="6049065587307896564">"Oufuku"</string>
+ <string name="mediasize_japanese_kahu" msgid="6872696027560065173">"Kahu"</string>
+ <string name="mediasize_japanese_kaku2" msgid="2359077233775455405">"Kaku2"</string>
+ <string name="mediasize_japanese_you4" msgid="2091777168747058008">"You4"</string>
+ <string name="mediasize_unknown_portrait" msgid="3088043641616409762">"Vertikalisht i panjohur"</string>
+ <string name="mediasize_unknown_landscape" msgid="4876995327029361552">"Orientim i panjohur horizontal"</string>
+ <string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Anuluar"</string>
+ <string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Gabim në shkrimin e përmbajtjes"</string>
+ <string name="reason_unknown" msgid="6048913880184628119">"e panjohur"</string>
+ <string name="reason_service_unavailable" msgid="7824008732243903268">"Shërbimi i printimit nuk është aktivizuar"</string>
+ <string name="print_service_installed_title" msgid="2246317169444081628">"Shërbimi <xliff:g id="NAME">%s</xliff:g> u instalua"</string>
+ <string name="print_service_installed_message" msgid="5897362931070459152">"Prek për të aktivizuar"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Fut kodin PIN të administratorit"</string>
+ <string name="restr_pin_enter_pin" msgid="3395953421368476103">"Fut PIN-in"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"I pasaktë"</string>
+ <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN-i aktual"</string>
+ <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN-i i ri"</string>
+ <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Kofirmo PIN-in e ri"</string>
+ <string name="restr_pin_create_pin" msgid="8017600000263450337">"Krijo një PIN për modifikimin e kufizimeve"</string>
+ <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-et nuk përputhen. Provo sërish."</string>
+ <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-i është shumë i shkurtër. Duhet të jetë të paktën 4 shifra."</string>
+ <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688">
+ <item quantity="other">Provo sërish brenda <xliff:g id="COUNT">%d</xliff:g> sekondave</item>
+ <item quantity="one">Provo sërish brenda 1 sekonde</item>
+ </plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Provo sërish më vonë"</string>
+ <string name="immersive_cling_title" msgid="8394201622932303336">"Po shikon ekranin e plotë"</string>
+ <string name="immersive_cling_description" msgid="3482371193207536040">"Për të dalë, rrëshqit nga lart poshtë."</string>
+ <string name="immersive_cling_positive" msgid="5016839404568297683">"E kuptova"</string>
+ <string name="done_label" msgid="2093726099505892398">"U krye!"</string>
+ <string name="hour_picker_description" msgid="6698199186859736512">"Rrëshqitësi rrethor i orëve"</string>
+ <string name="minute_picker_description" msgid="8606010966873791190">"Rrëshqitësi rrethor i minutave"</string>
+ <string name="select_hours" msgid="6043079511766008245">"Përzgjidh orët"</string>
+ <string name="select_minutes" msgid="3974345615920336087">"Përzgjidh minutat"</string>
+ <string name="select_day" msgid="7774759604701773332">"Përzgjidh muajin dhe ditën"</string>
+ <string name="select_year" msgid="7952052866994196170">"Përzgjidh vitin"</string>
+ <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> u fshi"</string>
+ <string name="managed_profile_label_badge" msgid="2355652472854327647">"Puna <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+ <string name="lock_to_app_toast" msgid="7570091317001980053">"Për t\'i hequr gozhdimin ekranit, prek dhe mbaj shtypur njëkohësisht \"Prapa\" dhe \"Përmbledhje\"."</string>
+ <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Për t\'i hequr gozhdimin ekranit, prek dhe mbaj shtypur \"Përmbledhje\"."</string>
+ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Ekrani është i mbërthyer. Anulimi i mbërthimit nuk lejohet nga organizata jote."</string>
+ <string name="lock_to_app_start" msgid="6643342070839862795">"Ekrani u gozhdua"</string>
+ <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekrani u hoq nga gozhdimi"</string>
+ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Kërko PIN-in para se t\'i heqësh gozhdimin"</string>
+ <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Kërko model shkyçjeje para heqjes së gozhdimit"</string>
+ <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Kërko fjalëkalim para heqjes nga gozhdimi."</string>
+ <string name="package_installed_device_owner" msgid="8420696545959087545">"U instalua nga administratori yt"</string>
+ <string name="package_deleted_device_owner" msgid="7650577387493101353">"U fshi nga administratori yt"</string>
+ <string name="battery_saver_description" msgid="1960431123816253034">"Për të përmirësuar jetëgjatësinë e baterisë, opsioni i kursimit të baterisë ul rendimentin e pajisjes tënde dhe kufizon dridhjen, shërbimet e vendndodhjes dhe shumicën e të dhënave në sfond. Mail-i, mesazhet dhe aplikacione të tjera që mbështeten në sinkronizim mund të mos përditësohen pa i hapur.\n\nKursimi i baterisë çaktivizohet automatikisht kur pajisja vihet në ngarkim."</string>
+ <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
+ <item quantity="other">Për %1$d minuta (deri në <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
+ <item quantity="one">Për një minutë (deri në <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours_summary" formatted="false" msgid="8152974162096743862">
+ <item quantity="other">Për %1$d orë (deri në <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
+ <item quantity="one">Për një orë (deri në <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item>
+ </plurals>
+ <plurals name="zen_mode_duration_minutes" formatted="false" msgid="5127407202506485571">
+ <item quantity="other">Për %d minuta</item>
+ <item quantity="one">Për një minutë</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours" formatted="false" msgid="3938821308277433854">
+ <item quantity="other">Për %d orë</item>
+ <item quantity="one">Për një orë</item>
+ </plurals>
+ <string name="zen_mode_until" msgid="7336308492289875088">"Deri në <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"Deri sa ta çaktivizosh këtë"</string>
+ <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
+ <string name="toolbar_collapse_description" msgid="2821479483960330739">"Shpalos"</string>
+ <string name="zen_mode_feature_name" msgid="5254089399895895004">"Mos shqetëso"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Koha joaktive"</string>
+ <string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"Natën gjatë javës"</string>
+ <string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"Fundjava"</string>
+ <string name="muted_by" msgid="6147073845094180001">"Lënë në heshtje nga <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
+ <string name="system_error_wipe_data" msgid="6608165524785354962">"Ka një problem të brendshëm me pajisjen tënde. Ajo mund të jetë e paqëndrueshme derisa të rivendosësh të dhënat në gjendje fabrike."</string>
+ <string name="system_error_manufacturer" msgid="8086872414744210668">"Ka një problem të brendshëm me pajisjen tënde. Kontakto prodhuesin tënd për detaje."</string>
+ <string name="stk_cc_ussd_to_dial" msgid="5202342984749947872">"Kërkesa USSD është modifikuar në kërkesën DIAL."</string>
+ <string name="stk_cc_ussd_to_ss" msgid="2345360594181405482">"Kërkesa USSD është modifikuar në kërkesën SS."</string>
+ <string name="stk_cc_ussd_to_ussd" msgid="7466087659967191653">"Kërkesa USSD është modifikuar në kërkesën e re USSD."</string>
+ <string name="stk_cc_ss_to_dial" msgid="2151304435775557162">"Kërkesa SS është e modifikuar në kërkesën DIAL."</string>
+ <string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"Kërkesa SS është modifikuar në kërkesën USSD."</string>
+ <string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"Kërkesa SS është e modifikuar në kërkesën e re SS."</string>
+ <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Porta periferike USB e Android"</string>
+ <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
+ <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"Porta periferike USB"</string>
+ <string name="floating_toolbar_open_overflow_description" msgid="4797287862999444631">"Opsione të tjera"</string>
+ <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Mbylle tejkalimin"</string>
+</resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 18f47d8..971b552 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -500,10 +500,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Дозвољава апликацији да уклања DRM сертификате. Никада не би требало да се користи за обичне апликације."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"повезивање са услугом за размену порука мобилног оператера"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозвољава власнику да се повеже са интерфејсом највишег нивоа за услугу за размену порука мобилног оператера. Никада не би требало да буде потребно за стандардне апликације."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"повезивање са услугом за конфигурацију мобилног оператера"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Дозвољава власнику да се повеже са услугом за конфигурацију мобилног оператера. Никада не би требало да буде потребно за обичне апликације."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Подешавање правила за лозинку"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролише дужину и знакове дозвољене у лозинкама и PIN-овима за закључавање екрана."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Надгледање покушаја откључавања екрана"</string>
@@ -1215,12 +1213,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Интерна меморија"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD картица"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD картица"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB диск"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB диск"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB меморија"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Измени"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Упозорење о потрошњи података"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 1db2cf9..72fdc33 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Tillåter ett program att ta bort DRM-certifikat. Behövs inte för vanliga appar."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"binda till en operatörs meddelandetjänst"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en operatörs meddelandetjänst. Ska inte behövas för vanliga appar."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"binda till en leverantörs konfigureringstjänst"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Tillåter att innehavaren binder till leverantörens konfigureringstjänst. Det här ska inte behövas för vanliga appar."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Ange lösenordsregler"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Styr tillåten längd och tillåtna tecken i lösenord och pinkoder för skärmlåset."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Övervaka försök att låsa upp skärmen"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Internminne"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD-kort"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"SD-kort (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB-enhet"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"USB-enhet (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB-lagring"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Redigera"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Varning angående dataanvändning"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 3bc954b..3099247 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -432,7 +432,7 @@
<string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Maunzi ya kitambulisho hayapatikani."</string>
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"Kitambulisho hakiwezi kuhifadhiwa. Tafadhali ondoa kitambulisho kilichopo."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"Muda wa kitambulisho umekwisha. Jaribu tena."</string>
- <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Operesheni ya kitambulisho imeghairiwa."</string>
+ <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Utendaji wa kitambulisho imeghairiwa."</string>
<string name="fingerprint_error_lockout" msgid="5536934748136933450">"Majaribio mengi mno. Jaribu tena baadaye."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Jaribu tena."</string>
<string-array name="fingerprint_error_vendor">
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Huruhusu programu kuondoa vyeti vya DRM. Haipaswi kuhitajika kwa programu za kawaida kamwe."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Shurutisha kwa huduma ya ujumbe ya mtoa huduma"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Huruhusu kishikiliaji kushurutisha kwa kiolesura cha hali ya juu cha huduma ya ujumbe ya mtoa huduma. Haipaswi kuhitajika kwa programu za kawaida."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"bandika kwa huduma ya kusanidi ya mtoa huduma"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Huruhusu mmiliki kubandika kwenye huduma ya kusanidi ya mtoa huduma. Haipaswi kuhitajika kwa programu za kawaida."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Kuweka kanuni za nenosiri"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Dhibiti urefu na maandishi yanayokubalika katika nenosiri la kufunga skrini na PIN."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Kuhesabu mara ambazo skrini inajaribu kufunguliwa"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index b618338..6cf2027 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM சான்றிதழ்களை அகற்ற, பயன்பாட்டை அனுமதிக்கிறது. சாதாரண பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"மொபைல் நிறுவனச் செய்தியிடல் சேவையுடன் இணைத்தல்"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"மொபைல் நிறுவனச் செய்தியிடல் சேவையின் உயர்-நிலை இடைமுகத்துடன் ஹோல்டரை இணைக்க அனுமதிக்கும். இயல்பான பயன்பாடுகளுக்குத் தேவைப்படாது."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"நிறுவன உள்ளமைவு சேவையுடன் இணை"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"நிறுவன உள்ளமைவு சேவையை இணைக்க, ஹோல்டரை அனுமதிக்கும். சாதாரணப் பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"கடவுச்சொல் விதிகளை அமைக்கவும்"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"திரைப் பூட்டின் கடவுச்சொற்கள் மற்றும் பின்களில் அனுமதிக்கப்படும் நீளத்தையும் எழுத்துக்குறிகளையும் கட்டுப்படுத்தும்."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"திரைத் திறக்க முயற்சிகளைக் கண்காணித்தல்"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"அகச் சேமிப்பிடம்"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD கார்டு"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD கார்டு"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB டிரைவ்"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB டிரைவ்"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB சேமிப்பிடம்"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"திருத்து"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"தரவு பயன்பாட்டு எச்சரிக்கை"</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index a63dcbe..3944528 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM ప్రమాణపత్రాలను తీసివేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"క్యారియర్ సందేశ సేవకు అనుబంధించడం"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"క్యారియర్ సందేశ సేవ యొక్క అగ్ర-స్థాయి ఇంటర్ఫేస్కు అనుబంధించడానికి హోల్డర్ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"క్యారియర్ కాన్ఫిగరేషన్ సేవకు అనుబంధించడం"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"క్యారియర్ కాన్ఫిగరేషన్ సేవకు అనుబంధించడానికి హోల్డర్ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"పాస్వర్డ్ నియమాలను సెట్ చేయండి"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"స్క్రీన్ లాక్ పాస్వర్డ్లు మరియు PINల్లో అనుమతించబడిన పొడవు మరియు అక్షరాలను నియంత్రిస్తుంది."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"స్క్రీన్-అన్లాక్ ప్రయత్నాలను పర్యవేక్షించండి"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 097486ec..18dc4bd 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"อนุญาตให้แอปพลิเคชันนำใบรับรอง DRM ออก แอปทั่วไปไม่จำเป็นต้องใช้"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"เชื่อมโยงกับบริการรับส่งข้อความของผู้ให้บริการ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"อนุญาตให้แอปพลิเคชันเชื่อมโยงกับอินเทอร์เฟซระดับบนสุดของบริการรับส่งข้อความของผู้ให้บริการ ไม่ควรใช้สำหรับแอปธรรมดาทั่วไป"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"เชื่อมโยงกับบริการกำหนดค่าของผู้ให้บริการ"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"อนุญาตให้แอปเชื่อมโยงกับบริการกำหนดค่าของผู้ให้บริการ ไม่จำเป็นสำหรับแอปทั่วไป"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"ตั้งค่ากฎรหัสผ่าน"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"ควบคุมความยาวและอักขระที่สามารถใช้ในรหัสผ่านของการล็อกหน้าจอและ PIN"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"ตรวจสอบความพยายามในการปลดล็อกหน้าจอ"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index e4f1b54..ad3b61a 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Nagbibigay-daan sa isang application na alisin ang mga DRM certficate. Hindi dapat kailanman kailanganin para sa karaniwang apps."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"sumailalim sa isang serbisyo ng pagmemensahe ng carrier"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Binibigyang-daan ang may-ari na sumailalim sa interface sa nangungunang antas ng isang serbisyo ng pagmemensahe ng carrier. Hindi kailanman dapat kailanganin para sa mga normal na app."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"i-bind sa isang carrier config service"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Pinapayagan ang may-hawak na mag-bind sa isang carrier config service. Hindi dapat kailanganin para sa mga normal na app."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Magtakda ng mga panuntunan sa password"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolin ang haba at ang mga character na pinapayagan sa mga password at PIN sa lock ng screen."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Subaybayan ang mga pagsubok sa pag-unlock ng screen"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 95474d8..1bd5d05 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Uygulamaya, DRM sertifikalarını kaldırma izin verir. Normal uygulamalar için asla gerekmemelidir."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"operatör mesajlaşma hizmetine bağlan"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"İzin sahibinin, operatör mesajlaşma hizmetinin üst düzey arayüzüne bağlanmasına olanak verir. Normal uygulamalarda hiçbir zaman gerekmez."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"operatör yapılandırma hizmetine bağlan"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Kullanıcının bir operatör yapılandırma hizmetine bağlanmasına olanak verir. Normal uygulamalar için hiçbir zaman gerekmez."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Şifre kuralları ayarla"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran kilidini açma şifrelerinde ve PIN\'lerde izin verilen uzunluğu ve karakterleri denetleyin."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Ekran kilidini açma denemelerini izle"</string>
@@ -1069,12 +1067,12 @@
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Fotoğraf ve medya aktarmak için"</string>
<string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"<xliff:g id="NAME">%s</xliff:g> zarar görmüş"</string>
<string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> zarar görmüş, tekrar biçimlendirmeyi deneyin"</string>
- <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> beklenmedik şekilde çıkartıldı"</string>
- <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Veri kaybı olmaması için <xliff:g id="NAME">%s</xliff:g> birimini kaldırmadan önce bağlantısını kesin"</string>
- <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"<xliff:g id="NAME">%s</xliff:g> kaldırıldı"</string>
- <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> kaldırıldı; yeni bir tane takın"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> beklenmedik şekilde çıkarıldı"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Veri kaybı olmaması için <xliff:g id="NAME">%s</xliff:g> birimini çıkarmadan önce bağlantısını kesin"</string>
+ <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"<xliff:g id="NAME">%s</xliff:g> çıkarıldı"</string>
+ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> çıkarıldı; yeni bir tane takın"</string>
<string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"<xliff:g id="NAME">%s</xliff:g> çıkarma işlemi devam ediyor…"</string>
- <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Kaldırma"</string>
+ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Çıkarmayın"</string>
<string name="ext_media_init_action" msgid="8317198948634872507">"Kurulum"</string>
<string name="ext_media_unmount_action" msgid="1121883233103278199">"Çıkar"</string>
<string name="ext_media_browse_action" msgid="8322172381028546087">"Keşfedin"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Dahili depolama birimi"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD kart"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD kartı"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB sürücü"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB sürücüsü"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB bellek"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Düzenle"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Veri kullanım uyarısı"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 4bc1826..98fc7c4 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -501,10 +501,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Власник може видаляти сертифікати DRM. Ніколи не застосовується для звичайних додатків."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"підключатися до служби надсилання повідомлень через оператора"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Додаток зможе підключатися до інтерфейсу верхнього рівня служби надсилання повідомлень через оператора. Звичайні додатки ніколи не використовують цей дозвіл."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"підключатися до служби конфігурації оператора"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Власник може підключатися до служби конфігурації оператора. Звичайні додатки ніколи не використовують цей дозвіл."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Устан. правила пароля"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Укажіть максимальну довжину та кількість символів для паролів розблокування екрана та PIN-кодів."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Відстежув. спроби розблок. екрана"</string>
@@ -1223,12 +1221,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Внутрішня пам’ять"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Карта SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Карта SD (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Носій USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Носій USB (<xliff:g id="MANUFACTURER">%s</xliff:g>)"</string>
<string name="storage_usb" msgid="3017954059538517278">"Носій USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Редагувати"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Застереження про використ. даних"</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index 33d8927..2c392aa 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"ایک ایپلیکیشن کو DRM سرٹیفکیٹس کو ہٹانے کی اجازت دیتا ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہیں ہونی چاہیے۔"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ایک کیریئر پیغام رسانی سروس کا پابند بنیں"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"حامل کو ایک کیریئر پیغام رسانی سروس کے اعلی سطحی انٹرفیس کا پابند ہونے کی اجازت دیتی ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہیں ہونی چاہیے۔"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"ایک کیریئر کنفیگ سروس کا پابند کریں"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"حامل کو کیریئر کنفیگ سروس کا پابند کرنے کی اجازت دیتا ہے۔ معمول کی ایپس کیلئے کبھی درکار نہیں ہونا چاہئے۔"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"پاس ورڈ کے اصول سیٹ کریں"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"اسکرین لاک پاس ورڈز اور PINs میں اجازت یافتہ لمبائی اور حروف کو کنٹرول کریں۔"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"اسکرین غیر مقفل کرنے کی کوششیں مانیٹر کریں"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"داخلی اسٹوریج"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD کارڈ"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD کارڈ"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB ڈرائیو"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ڈرائیو"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB اسٹوریج"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"ترمیم کریں"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"ڈیٹا کے استعمال کی وارننگ"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index 8e721c5..0bdebc3 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -433,7 +433,7 @@
<string name="fingerprint_error_no_space" msgid="1055819001126053318">"Barmoq izini saqlab bo‘lmadi. Mavjud barmoq izlaridan birini o‘chirib tashlang."</string>
<string name="fingerprint_error_timeout" msgid="3927186043737732875">"Barmoq izini aniqlash vaqti tugab qoldi. Qayta urinib ko‘ring."</string>
<string name="fingerprint_error_canceled" msgid="4402024612660774395">"Barmoq izi tekshiruvi bekor qilindi."</string>
- <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Juda ko‘p noto‘g‘ri urinishlar bo‘ldi. Keyinroq yana urinib ko‘ring."</string>
+ <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Urinishlar soni ko‘payib ketdi. Keyinroq qayta urinib ko‘ring."</string>
<string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Qayta urinib ko‘ring."</string>
<string-array name="fingerprint_error_vendor">
</string-array>
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Ilovaga DRM sertifikatlarini o‘chirib tashlash uchun ruxsat beradi. Oddiy ilovalar uchun talab qilinmaydi."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"aloqa operatorining xabar almashinuv xizmatiga bog‘lanish"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Egasiga aloqa operatorining xabar almashinuv xizmatining yuqori darajali interfeysiga bog‘lanish uchun ruxsat beradi. Oddiy ilovalar uchun hech qachon kerak bo‘lmaydi."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"tarmoq operatori sozlamalari xizmatiga biriktirish"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Egasiga tarmoq operatori sozlamalari xizmatiga biriktirish imkoniyatini beradi. Oddiy ilovalarda hech qachon kerak bo‘lmaydi."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Parol qoidalarini o‘rnatish"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran qulfi paroli va PIN kodlari uchun qo‘yiladigan talablarni (belgilar soni va uzunligi) nazorat qiladi."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Ekranni qulfdan chiqarish urinishlarini nazorat qilish"</string>
@@ -1064,17 +1062,17 @@
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="candidates_style" msgid="4333913089637062257"><u>"nomzodlar"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> tayyorlanmoqda"</string>
- <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Xatolarni tekshirish"</string>
- <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yangi <xliff:g id="NAME">%s</xliff:g> aniqlandi"</string>
- <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Rasmlar va media fayllarni uzatish uchun"</string>
- <string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"Buzilgan <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g> buzilgan; qayta formatlab ko‘ring"</string>
- <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> kutilmaganda chiqarilgan"</string>
- <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Ma’lumotlar yo‘qolishining oldini olish uchun <xliff:g id="NAME">%s</xliff:g>ni chiqarishdan oldin uni uzing"</string>
- <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"Olingan <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> chiqarilgan; yangisini kiriting"</string>
- <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"<xliff:g id="NAME">%s</xliff:g>} hali ham chiqarilmoqda…"</string>
- <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Olmang"</string>
+ <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Xatolar tekshirilmoqda"</string>
+ <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yangi <xliff:g id="NAME">%s</xliff:g> kartasi aniqlandi"</string>
+ <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Rasm va boshqa fayllarni o‘tkazish uchun"</string>
+ <string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"“<xliff:g id="NAME">%s</xliff:g>” kartasi shikastlangan"</string>
+ <string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"“<xliff:g id="NAME">%s</xliff:g>” kartasi shikastlangan; qayta formatlab ko‘ring"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g> kutilmaganda chiqarib olindi"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Ma’lumotlar yo‘qolishining oldini olish uchun <xliff:g id="NAME">%s</xliff:g> kartasini chiqarishdan oldin u bilan ulanishni uzing"</string>
+ <string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"“<xliff:g id="NAME">%s</xliff:g>” kartasi chiqarib olingan"</string>
+ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> chiqarib olingan; yangisini kiriting"</string>
+ <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"“<xliff:g id="NAME">%s</xliff:g>” kartasi chiqarilmoqda…"</string>
+ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Chiqara ko‘rmang"</string>
<string name="ext_media_init_action" msgid="8317198948634872507">"Sozlash"</string>
<string name="ext_media_unmount_action" msgid="1121883233103278199">"Chiqarish"</string>
<string name="ext_media_browse_action" msgid="8322172381028546087">"O‘rganish"</string>
@@ -1207,9 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Ichki xotira"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD xotira kartasi"</string>
- <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD karta"</string>
- <string name="storage_usb_drive" msgid="6261899683292244209">"USB qurilma"</string>
- <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB qurilma"</string>
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD kartasi"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB xotira"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB xotira qurilmasi"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB xotira"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Tahrirlash"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Ma’lumotlardan foydalanish ogohlantirilishi"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index a59275f..e18b5d3 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Cho phép ứng dụng xóa chứng chỉ DRM. Không cần thiết cho các ứng dụng thông thường."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"liên kết với dịch vụ nhắn tin của nhà cung cấp dịch vụ"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ nhắn tin của nhà cung cấp dịch vụ. Không cần thiết cho các ứng dụng thông thường."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"liên kết với dịch vụ cấu hình của nhà cung cấp"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Cho phép chủ sở hữu liên kết với một dịch vụ cấu hình của nhà cung cấp. Không bao giờ cần cho các ứng dụng thông thường."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Đặt quy tắc mật khẩu"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Kiểm soát độ dài và ký tự được phép trong mật khẩu khóa màn hình và mã PIN."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Giám sát những lần thử mở khóa màn hình"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Bộ nhớ trong"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Thẻ SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"Thẻ SD <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Ổ USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"Ổ USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="3017954059538517278">"Bộ lưu trữ USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Chỉnh sửa"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Cảnh báo sử dụng dữ liệu"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index ac2d472..c8a8b3b 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"允许应用移除DRM证书。普通应用绝不需要此权限。"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"绑定到运营商消息传递服务"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允许应用绑定到运营商消息传递服务的顶级接口。普通应用绝不需要此权限。"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"绑定到运营商配置服务"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"允许应用绑定到运营商配置服务。普通应用绝不需要此权限。"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"设置密码规则"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"控制锁屏密码和 PIN 码所允许的长度和字符。"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"监视屏幕解锁尝试次数"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s - %2$s:%3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"内部存储设备"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD卡"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD 卡"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"U 盘"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> U 盘"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB存储器"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"修改"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"流量警告"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index fcf3707..be58295 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"允許應用程式移除 DRM 憑證 (一般應用程式並不需要)。"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"繫結至流動網絡供應商短訊服務"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式繫結至流動網絡供應商短訊服務的頂層介面 (不建議一般應用程式使用)。"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"繫結至流動網絡供應商設定服務"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"允許應用程式繫結至流動網絡供應商設定服務 (不建議一般應用程式使用)。"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"控制螢幕鎖定密碼和 PIN 所允許的長度和字元。"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"監控螢幕解鎖嘗試次數"</string>
@@ -1066,11 +1064,11 @@
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"正在準備<xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"正在檢查錯誤"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"已偵測到新<xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"用於傳輸相片和媒體"</string>
+ <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"用於轉移相片和媒體"</string>
<string name="ext_media_unmountable_notification_title" msgid="4863279349863279603">"<xliff:g id="NAME">%s</xliff:g>已損壞"</string>
<string name="ext_media_unmountable_notification_message" msgid="7391672496565685690">"<xliff:g id="NAME">%s</xliff:g>}已損壞;請嘗試重新格式化"</string>
- <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g>意外移除"</string>
- <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"請先卸載<xliff:g id="NAME">%s</xliff:g>,再將其移除,以免失去資料。"</string>
+ <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"<xliff:g id="NAME">%s</xliff:g>被意外移除"</string>
+ <string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"請先卸載<xliff:g id="NAME">%s</xliff:g>,然後才移除,以免遺失資料。"</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"已移除<xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"已移除<xliff:g id="NAME">%s</xliff:g>;請插入新的外部儲存空間"</string>
<string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"仍在移除<xliff:g id="NAME">%s</xliff:g>…"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s (%2$s):%3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"內部儲存空間"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD 記憶卡"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD卡"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB 驅動器"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB 驅動器"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB 儲存裝置"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"編輯"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"資料用量警告"</string>
@@ -1476,7 +1471,7 @@
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"收合"</string>
<string name="zen_mode_feature_name" msgid="5254089399895895004">"請勿干擾"</string>
- <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"停機時間"</string>
+ <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"休息時間"</string>
<string name="zen_mode_default_weeknights_name" msgid="2069189413656431610">"星期一至星期五晚"</string>
<string name="zen_mode_default_weekends_name" msgid="2377398437072017011">"週末"</string>
<string name="muted_by" msgid="6147073845094180001">"靜音設定者:<xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index a9f8391..5062568 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"允許應用程式移除 DRM 憑證 (一般應用程式並不需要)。"</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"與行動通訊業者簡訊服務繫結"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式與行動通訊業者簡訊服務的頂層介面繫結 (一般應用程式並不需要)。"</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"與行動通訊業者設定服務繫結"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"允許應用程式繫結至行動通訊業者設定服務 (一般應用程式並不需要)。"</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"管理螢幕鎖定密碼和 PIN 碼支援的字元和長度上限。"</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"監視螢幕解鎖嘗試次數"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s - %2$s:%3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"內部儲存空間"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD 卡"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> SD 卡"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"USB 隨身碟"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB 隨身碟"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB 儲存裝置"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"編輯"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"數據用量警告"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 74f0a0e..a5a580f 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -499,10 +499,8 @@
<string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"Ivumela uhlelo lokusebenza ukususa izitifiketi ze-DRM. Akufanele idingeke ngezinhlelo zokusebenza ezivamile."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bophezela kusevisi yomlayezo yenkampani yenethiwekhi"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ivumela isibambi ukuhlanganisa isixhumanisi sokubona esiphezulu sesevisi yomlayezo yenkampani yenethiwekhi. Akufanele idingeke kuzinhlelo zokusebenza ezivamile."</string>
- <!-- no translation found for permlab_bindCarrierConfigService (4110548389449423386) -->
- <skip />
- <!-- no translation found for permdesc_bindCarrierConfigService (1096888107671817447) -->
- <skip />
+ <string name="permlab_bindCarrierConfigService" msgid="4110548389449423386">"bophezela kusevisi yokulungiselela yenkampani yenethiwekhi"</string>
+ <string name="permdesc_bindCarrierConfigService" msgid="1096888107671817447">"Ivumela umbambi ukuthi abophezeleke kunkampani yenethiwekhi yesevisi yokulungiselela. Akumele idingelwe izinhlelo zokusebenza ezijwayelekile."</string>
<string name="policylab_limitPassword" msgid="4497420728857585791">"Misa imithetho yephasiwedi"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Lawula ubude nezinhlamvu ezivunyelwe kumaphasiwedi wokukhiya isikrini nama-PIN."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Gaka imizamo yokuvula isikrini"</string>
@@ -1207,12 +1205,9 @@
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
<string name="storage_internal" msgid="4891916833657929263">"Isitoreji sangaphakathi"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"Ikhadi le-SD"</string>
- <!-- no translation found for storage_sd_card_label (6347111320774379257) -->
- <skip />
- <!-- no translation found for storage_usb_drive (6261899683292244209) -->
- <skip />
- <!-- no translation found for storage_usb_drive_label (4501418548927759953) -->
- <skip />
+ <string name="storage_sd_card_label" msgid="6347111320774379257">"<xliff:g id="MANUFACTURER">%s</xliff:g> ikhadi le-SD"</string>
+ <string name="storage_usb_drive" msgid="6261899683292244209">"Idrayivu ye-USB"</string>
+ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> idrayivu ye-USB"</string>
<string name="storage_usb" msgid="3017954059538517278">"Isitoreji se-USB"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Hlela"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Isexwayiso sokusetshenziswa kwedatha"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index ef438ab..00c771d8 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2329,7 +2329,7 @@
<!-- Defines whether this view reacts to long click events. -->
<attr name="longClickable" format="boolean" />
- <!-- If unset, no state will be saved for this view when it is being
+ <!-- If false, no state will be saved for this view when it is being
frozen. The default is true, allowing the view to be saved
(however it also must have an ID assigned to it for its
state to be saved). Setting this to false only disables the
@@ -2337,6 +2337,11 @@
be saved. -->
<attr name="saveEnabled" format="boolean" />
+ <!-- If true, no {@link android.view.ViewAssistStructure} data will be collected from
+ this view or any of its children. The default is false, allowing assist structure
+ to be reported by it. -->
+ <attr name="assistBlocked" format="boolean" />
+
<!-- Specifies whether to filter touches when the view's window is obscured by
another visible window. When set to true, the view will not receive touches
whenever a toast, dialog or other window appears above the view's window.
@@ -3191,6 +3196,11 @@
<!-- A drawable that can be rendered in Android's system UI for representing
the service. -->
<attr name="apduServiceBanner" format="reference"/>
+ <!-- Allows the app to update the description and service banner at run-time -->
+ <attr name="dynamicResources" format="boolean"/>
+ <!-- Component name of an activity that allows the user to modify
+ the settings for this service. -->
+ <attr name="settingsActivity"/>
</declare-styleable>
<!-- Use <code>offhost-apdu-service</code> as the root tag of the XML resource that
@@ -3204,6 +3214,11 @@
<!-- A drawable that can be rendered in Android's system UI for representing
the service. -->
<attr name="apduServiceBanner"/>
+ <!-- Allows the app to update the description and service banner at run-time -->
+ <attr name="dynamicResources"/>
+ <!-- Component name of an activity that allows the user to modify
+ the settings for this service. -->
+ <attr name="settingsActivity"/>
</declare-styleable>
<!-- Specify one or more <code>aid-group</code> elements inside a
@@ -5173,6 +5188,20 @@
<!-- Stack each layer directly atop the previous layer. -->
<enum name="stack" value="1" />
</attr>
+ <!-- Explicit top padding. Overrides child padding. -->
+ <attr name="paddingTop" />
+ <!-- Explicit bottom padding. Overrides child padding. -->
+ <attr name="paddingBottom" />
+ <!-- Explicit left padding. Overrides child padding. -->
+ <attr name="paddingLeft" />
+ <!-- Explicit right padding. Overrides child padding. -->
+ <attr name="paddingRight" />
+ <!-- Explicit start padding. Overrides child padding. Takes precedence
+ over absolute padding (e.g. left when layout direction is LTR). -->
+ <attr name="paddingStart" />
+ <!-- Explicit end padding. Overrides child padding. Takes precedence
+ over absolute padding (e.g. right when layout direction is LTR). -->
+ <attr name="paddingEnd" />
</declare-styleable>
<!-- Describes an item (or child) of a LayerDrawable. -->
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 12d7e60..0c685e0 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -393,8 +393,9 @@
WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP without STARTTLS or TLS.
Defaults to true. If set to false {@code false}, the application declares that it does not
intend to use cleartext network traffic, in which case platform components (e.g. HTTP
- stacks, {@code WebView}, {@code MediaPlayer}) will refuse applications's requests to use
- cleartext traffic. Third-party libraries are encouraged to honor this flag as well. -->
+ stacks, {@code DownloadManager}, {@code MediaPlayer}) will refuse applications's requests
+ to use cleartext traffic. Third-party libraries are encouraged to honor this flag as well.
+ -->
<attr name="usesCleartextTraffic" format="boolean" />
<!-- Declare that code from this application will need to be loaded into other
@@ -1228,9 +1229,9 @@
HTTPS; WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP without STARTTLS or
TLS). Defaults to true. If set to false {@code false}, the application declares that it
does not intend to use cleartext network traffic, in which case platform components
- (e.g. HTTP stacks, {@code WebView}, {@code MediaPlayer}) will refuse applications's
- requests to use cleartext traffic. Third-party libraries are encouraged to honor this
- flag as well. -->
+ (e.g. HTTP stacks, {@code DownloadManager}, {@code MediaPlayer}) will refuse
+ applications's requests to use cleartext traffic. Third-party libraries are encouraged
+ to honor this flag as well. -->
<attr name="usesCleartextTraffic" />
<attr name="multiArch" />
<attr name="extractNativeLibs" />
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index aaf252a..bdc8d9f 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -93,6 +93,7 @@
<item type="id" name="undo" />
<item type="id" name="redo" />
<item type="id" name="replaceText" />
+ <item type="id" name="shareText" />
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_SHOW_ON_SCREEN}. -->
<item type="id" name="accessibilityActionShowOnScreen" />
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index c157d4c..baccafd 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2650,6 +2650,7 @@
<public type="id" name="replaceText" />
<public type="id" name="accessibilityActionShowOnScreen" />
<public type="id" name="accessibilityActionScrollToPosition" />
+ <public type="id" name="shareText" />
<public type="attr" name="allowUndo" />
<public type="attr" name="colorBackgroundFloating" />
@@ -2672,4 +2673,8 @@
<public type="attr" name="rightIndents" />
<public type="attr" name="showForAllUsers" />
+ <!-- NFC CardEmulation: dynamically load service resources -->
+ <public type="attr" name="dynamicResources" />
+
+ <public type="attr" name="assistBlocked" />
</resources>
diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml
index 29b4ecc7..db178fa 100644
--- a/core/res/res/values/styles_material.xml
+++ b/core/res/res/values/styles_material.xml
@@ -541,8 +541,8 @@
</style>
<style name="Widget.Material.StackView">
- <item name="resOutColor">@color/holo_blue_light</item>
- <item name="clickColor">@color/holo_blue_light</item>
+ <item name="resOutColor">?attr/colorPrimary</item>
+ <item name="clickColor">?attr/colorPrimary</item>
</style>
<style name="Widget.Material.TextView" parent="Widget.TextView"/>
diff --git a/docs/html/gms_navtree_data.js b/docs/html/gms_navtree_data.js
index 56a81c9..c21e159 100644
--- a/docs/html/gms_navtree_data.js
+++ b/docs/html/gms_navtree_data.js
@@ -38,7 +38,7 @@
, null ], [ "com.google.android.gms.cast", "reference/com/google/android/gms/cast/package-summary.html", [ [ "Interfaces", null, [ [ "Cast.ApplicationConnectionResult", "reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html", null, null ], [ "Cast.CastApi", "reference/com/google/android/gms/cast/Cast.CastApi.html", null, null ], [ "Cast.MessageReceivedCallback", "reference/com/google/android/gms/cast/Cast.MessageReceivedCallback.html", null, null ], [ "RemoteMediaPlayer.MediaChannelResult", "reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html", null, null ], [ "RemoteMediaPlayer.OnMetadataUpdatedListener", "reference/com/google/android/gms/cast/RemoteMediaPlayer.OnMetadataUpdatedListener.html", null, null ], [ "RemoteMediaPlayer.OnStatusUpdatedListener", "reference/com/google/android/gms/cast/RemoteMediaPlayer.OnStatusUpdatedListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "ApplicationMetadata", "reference/com/google/android/gms/cast/ApplicationMetadata.html", null, null ], [ "Cast", "reference/com/google/android/gms/cast/Cast.html", null, null ], [ "Cast.CastOptions", "reference/com/google/android/gms/cast/Cast.CastOptions.html", null, null ], [ "Cast.CastOptions.Builder", "reference/com/google/android/gms/cast/Cast.CastOptions.Builder.html", null, null ], [ "Cast.Listener", "reference/com/google/android/gms/cast/Cast.Listener.html", null, null ], [ "CastDevice", "reference/com/google/android/gms/cast/CastDevice.html", null, null ], [ "CastMediaControlIntent", "reference/com/google/android/gms/cast/CastMediaControlIntent.html", null, null ], [ "CastStatusCodes", "reference/com/google/android/gms/cast/CastStatusCodes.html", null, null ], [ "LaunchOptions", "reference/com/google/android/gms/cast/LaunchOptions.html", null, null ], [ "LaunchOptions.Builder", "reference/com/google/android/gms/cast/LaunchOptions.Builder.html", null, null ], [ "MediaInfo", "reference/com/google/android/gms/cast/MediaInfo.html", null, null ], [ "MediaInfo.Builder", "reference/com/google/android/gms/cast/MediaInfo.Builder.html", null, null ], [ "MediaMetadata", "reference/com/google/android/gms/cast/MediaMetadata.html", null, null ], [ "MediaStatus", "reference/com/google/android/gms/cast/MediaStatus.html", null, null ], [ "MediaTrack", "reference/com/google/android/gms/cast/MediaTrack.html", null, null ], [ "MediaTrack.Builder", "reference/com/google/android/gms/cast/MediaTrack.Builder.html", null, null ], [ "RemoteMediaPlayer", "reference/com/google/android/gms/cast/RemoteMediaPlayer.html", null, null ], [ "TextTrackStyle", "reference/com/google/android/gms/cast/TextTrackStyle.html", null, null ] ]
, null ] ]
-, null ], [ "com.google.android.gms.common", "reference/com/google/android/gms/common/package-summary.html", [ [ "Classes", null, [ [ "AccountPicker", "reference/com/google/android/gms/common/AccountPicker.html", null, null ], [ "ConnectionResult", "reference/com/google/android/gms/common/ConnectionResult.html", null, null ], [ "ErrorDialogFragment", "reference/com/google/android/gms/common/ErrorDialogFragment.html", null, null ], [ "GooglePlayServicesUtil", "reference/com/google/android/gms/common/GooglePlayServicesUtil.html", null, null ], [ "Scopes", "reference/com/google/android/gms/common/Scopes.html", null, null ], [ "SignInButton", "reference/com/google/android/gms/common/SignInButton.html", null, null ], [ "SupportErrorDialogFragment", "reference/com/google/android/gms/common/SupportErrorDialogFragment.html", null, null ] ]
+, null ], [ "com.google.android.gms.common", "reference/com/google/android/gms/common/package-summary.html", [ [ "Classes", null, [ [ "AccountPicker", "reference/com/google/android/gms/common/AccountPicker.html", null, null ], [ "ConnectionResult", "reference/com/google/android/gms/common/ConnectionResult.html", null, null ], [ "ErrorDialogFragment", "reference/com/google/android/gms/common/ErrorDialogFragment.html", null, null ], [ "GoogleApiAvailability", "reference/com/google/android/gms/common/GoogleApiAvailability.html", null, null ], [ "GooglePlayServicesUtil", "reference/com/google/android/gms/common/GooglePlayServicesUtil.html", null, null ], [ "Scopes", "reference/com/google/android/gms/common/Scopes.html", null, null ], [ "SignInButton", "reference/com/google/android/gms/common/SignInButton.html", null, null ], [ "SupportErrorDialogFragment", "reference/com/google/android/gms/common/SupportErrorDialogFragment.html", null, null ] ]
, null ], [ "Exceptions", null, [ [ "GooglePlayServicesNotAvailableException", "reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html", null, null ], [ "GooglePlayServicesRepairableException", "reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html", null, null ], [ "UserRecoverableException", "reference/com/google/android/gms/common/UserRecoverableException.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.common.annotation", "reference/com/google/android/gms/common/annotation/package-summary.html", [ [ "Annotations", null, [ [ "KeepName", "reference/com/google/android/gms/common/annotation/KeepName.html", null, null ] ]
@@ -74,7 +74,7 @@
, null ], [ "com.google.android.gms.fitness.request", "reference/com/google/android/gms/fitness/request/package-summary.html", [ [ "Interfaces", null, [ [ "OnDataPointListener", "reference/com/google/android/gms/fitness/request/OnDataPointListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "BleScanCallback", "reference/com/google/android/gms/fitness/request/BleScanCallback.html", null, null ], [ "DataDeleteRequest", "reference/com/google/android/gms/fitness/request/DataDeleteRequest.html", null, null ], [ "DataDeleteRequest.Builder", "reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html", null, null ], [ "DataReadRequest", "reference/com/google/android/gms/fitness/request/DataReadRequest.html", null, null ], [ "DataReadRequest.Builder", "reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html", null, null ], [ "DataSourcesRequest", "reference/com/google/android/gms/fitness/request/DataSourcesRequest.html", null, null ], [ "DataSourcesRequest.Builder", "reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html", null, null ], [ "DataTypeCreateRequest", "reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html", null, null ], [ "DataTypeCreateRequest.Builder", "reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html", null, null ], [ "SensorRequest", "reference/com/google/android/gms/fitness/request/SensorRequest.html", null, null ], [ "SensorRequest.Builder", "reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html", null, null ], [ "SessionInsertRequest", "reference/com/google/android/gms/fitness/request/SessionInsertRequest.html", null, null ], [ "SessionInsertRequest.Builder", "reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html", null, null ], [ "SessionReadRequest", "reference/com/google/android/gms/fitness/request/SessionReadRequest.html", null, null ], [ "SessionReadRequest.Builder", "reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html", null, null ], [ "StartBleScanRequest", "reference/com/google/android/gms/fitness/request/StartBleScanRequest.html", null, null ], [ "StartBleScanRequest.Builder", "reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html", null, null ] ]
, null ] ]
-, null ], [ "com.google.android.gms.fitness.result", "reference/com/google/android/gms/fitness/result/package-summary.html", [ [ "Classes", null, [ [ "BleDevicesResult", "reference/com/google/android/gms/fitness/result/BleDevicesResult.html", null, null ], [ "DataReadResult", "reference/com/google/android/gms/fitness/result/DataReadResult.html", null, null ], [ "DataSourcesResult", "reference/com/google/android/gms/fitness/result/DataSourcesResult.html", null, null ], [ "DataTypeResult", "reference/com/google/android/gms/fitness/result/DataTypeResult.html", null, null ], [ "ListSubscriptionsResult", "reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html", null, null ], [ "SessionReadResult", "reference/com/google/android/gms/fitness/result/SessionReadResult.html", null, null ], [ "SessionStopResult", "reference/com/google/android/gms/fitness/result/SessionStopResult.html", null, null ] ]
+, null ], [ "com.google.android.gms.fitness.result", "reference/com/google/android/gms/fitness/result/package-summary.html", [ [ "Classes", null, [ [ "BleDevicesResult", "reference/com/google/android/gms/fitness/result/BleDevicesResult.html", null, null ], [ "DailyTotalResult", "reference/com/google/android/gms/fitness/result/DailyTotalResult.html", null, null ], [ "DataReadResult", "reference/com/google/android/gms/fitness/result/DataReadResult.html", null, null ], [ "DataSourcesResult", "reference/com/google/android/gms/fitness/result/DataSourcesResult.html", null, null ], [ "DataTypeResult", "reference/com/google/android/gms/fitness/result/DataTypeResult.html", null, null ], [ "ListSubscriptionsResult", "reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html", null, null ], [ "SessionReadResult", "reference/com/google/android/gms/fitness/result/SessionReadResult.html", null, null ], [ "SessionStopResult", "reference/com/google/android/gms/fitness/result/SessionStopResult.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.fitness.service", "reference/com/google/android/gms/fitness/service/package-summary.html", [ [ "Interfaces", null, [ [ "SensorEventDispatcher", "reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html", null, null ] ]
, null ], [ "Classes", null, [ [ "FitnessSensorService", "reference/com/google/android/gms/fitness/service/FitnessSensorService.html", null, null ], [ "FitnessSensorServiceRequest", "reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html", null, null ] ]
@@ -117,14 +117,14 @@
, null ], [ "com.google.android.gms.identity.intents.model", "reference/com/google/android/gms/identity/intents/model/package-summary.html", [ [ "Classes", null, [ [ "CountrySpecification", "reference/com/google/android/gms/identity/intents/model/CountrySpecification.html", null, null ], [ "UserAddress", "reference/com/google/android/gms/identity/intents/model/UserAddress.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.location", "reference/com/google/android/gms/location/package-summary.html", [ [ "Interfaces", null, [ [ "ActivityRecognitionApi", "reference/com/google/android/gms/location/ActivityRecognitionApi.html", null, null ], [ "FusedLocationProviderApi", "reference/com/google/android/gms/location/FusedLocationProviderApi.html", null, null ], [ "Geofence", "reference/com/google/android/gms/location/Geofence.html", null, null ], [ "GeofencingApi", "reference/com/google/android/gms/location/GeofencingApi.html", null, null ], [ "LocationListener", "reference/com/google/android/gms/location/LocationListener.html", null, null ], [ "SettingsApi", "reference/com/google/android/gms/location/SettingsApi.html", null, null ] ]
-, null ], [ "Classes", null, [ [ "ActivityRecognition", "reference/com/google/android/gms/location/ActivityRecognition.html", null, null ], [ "ActivityRecognitionResult", "reference/com/google/android/gms/location/ActivityRecognitionResult.html", null, null ], [ "DetectedActivity", "reference/com/google/android/gms/location/DetectedActivity.html", null, null ], [ "Geofence.Builder", "reference/com/google/android/gms/location/Geofence.Builder.html", null, null ], [ "GeofenceStatusCodes", "reference/com/google/android/gms/location/GeofenceStatusCodes.html", null, null ], [ "GeofencingEvent", "reference/com/google/android/gms/location/GeofencingEvent.html", null, null ], [ "GeofencingRequest", "reference/com/google/android/gms/location/GeofencingRequest.html", null, null ], [ "GeofencingRequest.Builder", "reference/com/google/android/gms/location/GeofencingRequest.Builder.html", null, null ], [ "LocationRequest", "reference/com/google/android/gms/location/LocationRequest.html", null, null ], [ "LocationServices", "reference/com/google/android/gms/location/LocationServices.html", null, null ], [ "LocationSettingsRequest", "reference/com/google/android/gms/location/LocationSettingsRequest.html", null, null ], [ "LocationSettingsRequest.Builder", "reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html", null, null ], [ "LocationSettingsResult", "reference/com/google/android/gms/location/LocationSettingsResult.html", null, null ], [ "LocationSettingsStates", "reference/com/google/android/gms/location/LocationSettingsStates.html", null, null ], [ "LocationSettingsStatusCodes", "reference/com/google/android/gms/location/LocationSettingsStatusCodes.html", null, null ], [ "LocationStatusCodes", "reference/com/google/android/gms/location/LocationStatusCodes.html", null, null ] ]
+, null ], [ "Classes", null, [ [ "ActivityRecognition", "reference/com/google/android/gms/location/ActivityRecognition.html", null, null ], [ "ActivityRecognitionResult", "reference/com/google/android/gms/location/ActivityRecognitionResult.html", null, null ], [ "DetectedActivity", "reference/com/google/android/gms/location/DetectedActivity.html", null, null ], [ "Geofence.Builder", "reference/com/google/android/gms/location/Geofence.Builder.html", null, null ], [ "GeofenceStatusCodes", "reference/com/google/android/gms/location/GeofenceStatusCodes.html", null, null ], [ "GeofencingEvent", "reference/com/google/android/gms/location/GeofencingEvent.html", null, null ], [ "GeofencingRequest", "reference/com/google/android/gms/location/GeofencingRequest.html", null, null ], [ "GeofencingRequest.Builder", "reference/com/google/android/gms/location/GeofencingRequest.Builder.html", null, null ], [ "LocationAvailability", "reference/com/google/android/gms/location/LocationAvailability.html", null, null ], [ "LocationCallback", "reference/com/google/android/gms/location/LocationCallback.html", null, null ], [ "LocationRequest", "reference/com/google/android/gms/location/LocationRequest.html", null, null ], [ "LocationResult", "reference/com/google/android/gms/location/LocationResult.html", null, null ], [ "LocationServices", "reference/com/google/android/gms/location/LocationServices.html", null, null ], [ "LocationSettingsRequest", "reference/com/google/android/gms/location/LocationSettingsRequest.html", null, null ], [ "LocationSettingsRequest.Builder", "reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html", null, null ], [ "LocationSettingsResult", "reference/com/google/android/gms/location/LocationSettingsResult.html", null, null ], [ "LocationSettingsStates", "reference/com/google/android/gms/location/LocationSettingsStates.html", null, null ], [ "LocationSettingsStatusCodes", "reference/com/google/android/gms/location/LocationSettingsStatusCodes.html", null, null ], [ "LocationStatusCodes", "reference/com/google/android/gms/location/LocationStatusCodes.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.location.places", "reference/com/google/android/gms/location/places/package-summary.html", [ [ "Interfaces", null, [ [ "AutocompletePrediction", "reference/com/google/android/gms/location/places/AutocompletePrediction.html", null, null ], [ "AutocompletePrediction.Substring", "reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html", null, null ], [ "GeoDataApi", "reference/com/google/android/gms/location/places/GeoDataApi.html", null, null ], [ "Place", "reference/com/google/android/gms/location/places/Place.html", null, null ], [ "PlaceDetectionApi", "reference/com/google/android/gms/location/places/PlaceDetectionApi.html", null, null ], [ "PlaceLikelihood", "reference/com/google/android/gms/location/places/PlaceLikelihood.html", null, null ] ]
, null ], [ "Classes", null, [ [ "AddPlaceRequest", "reference/com/google/android/gms/location/places/AddPlaceRequest.html", null, null ], [ "AutocompleteFilter", "reference/com/google/android/gms/location/places/AutocompleteFilter.html", null, null ], [ "AutocompletePredictionBuffer", "reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html", null, null ], [ "PlaceBuffer", "reference/com/google/android/gms/location/places/PlaceBuffer.html", null, null ], [ "PlaceFilter", "reference/com/google/android/gms/location/places/PlaceFilter.html", null, null ], [ "PlaceLikelihoodBuffer", "reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html", null, null ], [ "PlaceReport", "reference/com/google/android/gms/location/places/PlaceReport.html", null, null ], [ "Places", "reference/com/google/android/gms/location/places/Places.html", null, null ], [ "PlacesOptions", "reference/com/google/android/gms/location/places/PlacesOptions.html", null, null ], [ "PlacesOptions.Builder", "reference/com/google/android/gms/location/places/PlacesOptions.Builder.html", null, null ], [ "PlacesStatusCodes", "reference/com/google/android/gms/location/places/PlacesStatusCodes.html", null, null ], [ "PlaceTypes", "reference/com/google/android/gms/location/places/PlaceTypes.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.location.places.ui", "reference/com/google/android/gms/location/places/ui/package-summary.html", [ [ "Classes", null, [ [ "PlacePicker", "reference/com/google/android/gms/location/places/ui/PlacePicker.html", null, null ], [ "PlacePicker.IntentBuilder", "reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html", null, null ] ]
, null ] ]
-, null ], [ "com.google.android.gms.maps", "reference/com/google/android/gms/maps/package-summary.html", [ [ "Interfaces", null, [ [ "GoogleMap.CancelableCallback", "reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html", null, null ], [ "GoogleMap.InfoWindowAdapter", "reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html", null, null ], [ "GoogleMap.OnCameraChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html", null, null ], [ "GoogleMap.OnIndoorStateChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html", null, null ], [ "GoogleMap.OnInfoWindowClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html", null, null ], [ "GoogleMap.OnMapClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html", null, null ], [ "GoogleMap.OnMapLoadedCallback", "reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html", null, null ], [ "GoogleMap.OnMapLongClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html", null, null ], [ "GoogleMap.OnMarkerClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html", null, null ], [ "GoogleMap.OnMarkerDragListener", "reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html", null, null ], [ "GoogleMap.OnMyLocationButtonClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html", null, null ], [ "GoogleMap.OnMyLocationChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html", null, null ], [ "GoogleMap.SnapshotReadyCallback", "reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html", null, null ], [ "LocationSource", "reference/com/google/android/gms/maps/LocationSource.html", null, null ], [ "LocationSource.OnLocationChangedListener", "reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html", null, null ], [ "OnMapReadyCallback", "reference/com/google/android/gms/maps/OnMapReadyCallback.html", null, null ], [ "OnStreetViewPanoramaReadyCallback", "reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaChangeListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaClickListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html", null, null ] ]
+, null ], [ "com.google.android.gms.maps", "reference/com/google/android/gms/maps/package-summary.html", [ [ "Interfaces", null, [ [ "GoogleMap.CancelableCallback", "reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html", null, null ], [ "GoogleMap.InfoWindowAdapter", "reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html", null, null ], [ "GoogleMap.OnCameraChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html", null, null ], [ "GoogleMap.OnIndoorStateChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html", null, null ], [ "GoogleMap.OnInfoWindowClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html", null, null ], [ "GoogleMap.OnMapClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html", null, null ], [ "GoogleMap.OnMapLoadedCallback", "reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html", null, null ], [ "GoogleMap.OnMapLongClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html", null, null ], [ "GoogleMap.OnMarkerClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html", null, null ], [ "GoogleMap.OnMarkerDragListener", "reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html", null, null ], [ "GoogleMap.OnMyLocationButtonClickListener", "reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html", null, null ], [ "GoogleMap.OnMyLocationChangeListener", "reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html", null, null ], [ "GoogleMap.SnapshotReadyCallback", "reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html", null, null ], [ "LocationSource", "reference/com/google/android/gms/maps/LocationSource.html", null, null ], [ "LocationSource.OnLocationChangedListener", "reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html", null, null ], [ "OnMapReadyCallback", "reference/com/google/android/gms/maps/OnMapReadyCallback.html", null, null ], [ "OnStreetViewPanoramaReadyCallback", "reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaChangeListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaClickListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html", null, null ], [ "StreetViewPanorama.OnStreetViewPanoramaLongClickListener", "reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "CameraUpdate", "reference/com/google/android/gms/maps/CameraUpdate.html", null, null ], [ "CameraUpdateFactory", "reference/com/google/android/gms/maps/CameraUpdateFactory.html", null, null ], [ "GoogleMap", "reference/com/google/android/gms/maps/GoogleMap.html", null, null ], [ "GoogleMapOptions", "reference/com/google/android/gms/maps/GoogleMapOptions.html", null, null ], [ "MapFragment", "reference/com/google/android/gms/maps/MapFragment.html", null, null ], [ "MapsInitializer", "reference/com/google/android/gms/maps/MapsInitializer.html", null, null ], [ "MapView", "reference/com/google/android/gms/maps/MapView.html", null, null ], [ "Projection", "reference/com/google/android/gms/maps/Projection.html", null, null ], [ "StreetViewPanorama", "reference/com/google/android/gms/maps/StreetViewPanorama.html", null, null ], [ "StreetViewPanoramaFragment", "reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html", null, null ], [ "StreetViewPanoramaOptions", "reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html", null, null ], [ "StreetViewPanoramaView", "reference/com/google/android/gms/maps/StreetViewPanoramaView.html", null, null ], [ "SupportMapFragment", "reference/com/google/android/gms/maps/SupportMapFragment.html", null, null ], [ "SupportStreetViewPanoramaFragment", "reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html", null, null ], [ "UiSettings", "reference/com/google/android/gms/maps/UiSettings.html", null, null ] ]
, null ] ]
, null ], [ "com.google.android.gms.maps.model", "reference/com/google/android/gms/maps/model/package-summary.html", [ [ "Interfaces", null, [ [ "TileProvider", "reference/com/google/android/gms/maps/model/TileProvider.html", null, null ] ]
@@ -151,6 +151,9 @@
, null ], [ "com.google.android.gms.safetynet", "reference/com/google/android/gms/safetynet/package-summary.html", [ [ "Interfaces", null, [ [ "SafetyNetApi", "reference/com/google/android/gms/safetynet/SafetyNetApi.html", null, null ], [ "SafetyNetApi.AttestationResult", "reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html", null, null ] ]
, null ], [ "Classes", null, [ [ "SafetyNet", "reference/com/google/android/gms/safetynet/SafetyNet.html", null, null ] ]
, null ] ]
+, null ], [ "com.google.android.gms.search", "reference/com/google/android/gms/search/package-summary.html", [ [ "Interfaces", null, [ [ "SearchAuthApi", "reference/com/google/android/gms/search/SearchAuthApi.html", null, null ], [ "SearchAuthApi.GoogleNowAuthResult", "reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html", null, null ] ]
+, null ], [ "Classes", null, [ [ "GoogleNowAuthState", "reference/com/google/android/gms/search/GoogleNowAuthState.html", null, null ], [ "SearchAuth", "reference/com/google/android/gms/search/SearchAuth.html", null, null ], [ "SearchAuth.StatusCodes", "reference/com/google/android/gms/search/SearchAuth.StatusCodes.html", null, null ] ]
+, null ] ]
, null ], [ "com.google.android.gms.security", "reference/com/google/android/gms/security/package-summary.html", [ [ "Interfaces", null, [ [ "ProviderInstaller.ProviderInstallListener", "reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "ProviderInstaller", "reference/com/google/android/gms/security/ProviderInstaller.html", null, null ] ]
, null ] ]
@@ -163,8 +166,10 @@
, null ], [ "com.google.android.gms.wallet.fragment", "reference/com/google/android/gms/wallet/fragment/package-summary.html", [ [ "Interfaces", null, [ [ "SupportWalletFragment.OnStateChangedListener", "reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html", null, null ], [ "WalletFragment.OnStateChangedListener", "reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "BuyButtonAppearance", "reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html", null, null ], [ "BuyButtonText", "reference/com/google/android/gms/wallet/fragment/BuyButtonText.html", null, null ], [ "Dimension", "reference/com/google/android/gms/wallet/fragment/Dimension.html", null, null ], [ "SupportWalletFragment", "reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html", null, null ], [ "WalletFragment", "reference/com/google/android/gms/wallet/fragment/WalletFragment.html", null, null ], [ "WalletFragmentInitParams", "reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html", null, null ], [ "WalletFragmentInitParams.Builder", "reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html", null, null ], [ "WalletFragmentMode", "reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html", null, null ], [ "WalletFragmentOptions", "reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html", null, null ], [ "WalletFragmentOptions.Builder", "reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html", null, null ], [ "WalletFragmentState", "reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html", null, null ], [ "WalletFragmentStyle", "reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html", null, null ], [ "WalletLogoImageType", "reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html", null, null ] ]
, null ] ]
-, null ], [ "com.google.android.gms.wearable", "reference/com/google/android/gms/wearable/package-summary.html", [ [ "Interfaces", null, [ [ "DataApi", "reference/com/google/android/gms/wearable/DataApi.html", null, null ], [ "DataApi.DataItemResult", "reference/com/google/android/gms/wearable/DataApi.DataItemResult.html", null, null ], [ "DataApi.DataListener", "reference/com/google/android/gms/wearable/DataApi.DataListener.html", null, null ], [ "DataApi.DeleteDataItemsResult", "reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html", null, null ], [ "DataApi.GetFdForAssetResult", "reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html", null, null ], [ "DataEvent", "reference/com/google/android/gms/wearable/DataEvent.html", null, null ], [ "DataItem", "reference/com/google/android/gms/wearable/DataItem.html", null, null ], [ "DataItemAsset", "reference/com/google/android/gms/wearable/DataItemAsset.html", null, null ], [ "MessageApi", "reference/com/google/android/gms/wearable/MessageApi.html", null, null ], [ "MessageApi.MessageListener", "reference/com/google/android/gms/wearable/MessageApi.MessageListener.html", null, null ], [ "MessageApi.SendMessageResult", "reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html", null, null ], [ "MessageEvent", "reference/com/google/android/gms/wearable/MessageEvent.html", null, null ], [ "Node", "reference/com/google/android/gms/wearable/Node.html", null, null ], [ "NodeApi", "reference/com/google/android/gms/wearable/NodeApi.html", null, null ], [ "NodeApi.GetConnectedNodesResult", "reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html", null, null ], [ "NodeApi.GetLocalNodeResult", "reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html", null, null ], [ "NodeApi.NodeListener", "reference/com/google/android/gms/wearable/NodeApi.NodeListener.html", null, null ] ]
+, null ], [ "com.google.android.gms.wearable", "reference/com/google/android/gms/wearable/package-summary.html", [ [ "Annotations", null, [ [ "ChannelApi.CloseReason", "reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html", null, null ] ]
+, null ], [ "Interfaces", null, [ [ "CapabilityApi", "reference/com/google/android/gms/wearable/CapabilityApi.html", null, null ], [ "CapabilityApi.AddLocalCapabilityResult", "reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html", null, null ], [ "CapabilityApi.CapabilityListener", "reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html", null, null ], [ "CapabilityApi.GetAllCapabilitiesResult", "reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html", null, null ], [ "CapabilityApi.GetCapabilityResult", "reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html", null, null ], [ "CapabilityApi.RemoveLocalCapabilityResult", "reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html", null, null ], [ "CapabilityInfo", "reference/com/google/android/gms/wearable/CapabilityInfo.html", null, null ], [ "Channel", "reference/com/google/android/gms/wearable/Channel.html", null, null ], [ "Channel.GetInputStreamResult", "reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html", null, null ], [ "Channel.GetOutputStreamResult", "reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html", null, null ], [ "ChannelApi", "reference/com/google/android/gms/wearable/ChannelApi.html", null, null ], [ "ChannelApi.ChannelListener", "reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html", null, null ], [ "ChannelApi.OpenChannelResult", "reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html", null, null ], [ "DataApi", "reference/com/google/android/gms/wearable/DataApi.html", null, null ], [ "DataApi.DataItemResult", "reference/com/google/android/gms/wearable/DataApi.DataItemResult.html", null, null ], [ "DataApi.DataListener", "reference/com/google/android/gms/wearable/DataApi.DataListener.html", null, null ], [ "DataApi.DeleteDataItemsResult", "reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html", null, null ], [ "DataApi.GetFdForAssetResult", "reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html", null, null ], [ "DataEvent", "reference/com/google/android/gms/wearable/DataEvent.html", null, null ], [ "DataItem", "reference/com/google/android/gms/wearable/DataItem.html", null, null ], [ "DataItemAsset", "reference/com/google/android/gms/wearable/DataItemAsset.html", null, null ], [ "MessageApi", "reference/com/google/android/gms/wearable/MessageApi.html", null, null ], [ "MessageApi.MessageListener", "reference/com/google/android/gms/wearable/MessageApi.MessageListener.html", null, null ], [ "MessageApi.SendMessageResult", "reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html", null, null ], [ "MessageEvent", "reference/com/google/android/gms/wearable/MessageEvent.html", null, null ], [ "Node", "reference/com/google/android/gms/wearable/Node.html", null, null ], [ "NodeApi", "reference/com/google/android/gms/wearable/NodeApi.html", null, null ], [ "NodeApi.GetConnectedNodesResult", "reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html", null, null ], [ "NodeApi.GetLocalNodeResult", "reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html", null, null ], [ "NodeApi.NodeListener", "reference/com/google/android/gms/wearable/NodeApi.NodeListener.html", null, null ] ]
, null ], [ "Classes", null, [ [ "Asset", "reference/com/google/android/gms/wearable/Asset.html", null, null ], [ "DataEventBuffer", "reference/com/google/android/gms/wearable/DataEventBuffer.html", null, null ], [ "DataItemBuffer", "reference/com/google/android/gms/wearable/DataItemBuffer.html", null, null ], [ "DataMap", "reference/com/google/android/gms/wearable/DataMap.html", null, null ], [ "DataMapItem", "reference/com/google/android/gms/wearable/DataMapItem.html", null, null ], [ "PutDataMapRequest", "reference/com/google/android/gms/wearable/PutDataMapRequest.html", null, null ], [ "PutDataRequest", "reference/com/google/android/gms/wearable/PutDataRequest.html", null, null ], [ "Wearable", "reference/com/google/android/gms/wearable/Wearable.html", null, null ], [ "Wearable.WearableOptions", "reference/com/google/android/gms/wearable/Wearable.WearableOptions.html", null, null ], [ "Wearable.WearableOptions.Builder", "reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html", null, null ], [ "WearableListenerService", "reference/com/google/android/gms/wearable/WearableListenerService.html", null, null ], [ "WearableStatusCodes", "reference/com/google/android/gms/wearable/WearableStatusCodes.html", null, null ] ]
+, null ], [ "Exceptions", null, [ [ "ChannelIOException", "reference/com/google/android/gms/wearable/ChannelIOException.html", null, null ] ]
, null ] ]
, null ] ]
diff --git a/docs/html/google/play-services/index.jd b/docs/html/google/play-services/index.jd
index 3d0f7f6..d674f7f 100644
--- a/docs/html/google/play-services/index.jd
+++ b/docs/html/google/play-services/index.jd
@@ -62,6 +62,105 @@
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png"
class="toggle-content-img"
+ alt=""/>Google Play services, Version 7.3</a> <em>(April 2015)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+<dl>
+<dt>Highlights in Version 7.3</dt>
+<dd>
+<p>For a summary of the feature highlights in Google Play services 7.3, see the
+announcement
+<a href="http://android-developers.blogspot.com/2015/04/theres-lot-to-explore-with-google-play.html"
+class="external-link">blog post</a>.</p>
+<ul>
+ <li><strong>Maps</strong> - This release makes the Google Maps Android API v2 available on
+<a href="https://developers.google.com/maps/documentation/android/wear" class="external-link">
+Android Wear</a>, so you can now create map-based apps that run directly on wearable devices. In
+addition, the Maps API now offers a new
+<a href="{@docRoot}reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html">
+{@code OnStreetViewPanoramaLongClickListener}</a> interface, similar to the existing
+<a href="{@docRoot}reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html">
+{@code OnMapLongClickListener}</a> interface. These listeners are particularly helpful
+for wearable devices, so you can let users exit from the app by long-clicking on a map or panorama.
+On a wearable device, the swipe gesture is used to pan the map instead of exiting the app.
+ <ul>
+ <li><a href="https://developers.google.com/maps/documentation/android/wear"
+ class="external-link">Google Maps on Android Wear developer guide</a>
+ </li>
+ <li><a href="https://github.com/googlemaps/android-samples/tree/master/BasicWearMap"
+ class="external-link">Google Maps on Android Wear sample</a>
+ </li>
+ <li><a href="https://developers.google.com/maps/documentation/android/releases"
+ class="external-link">Release notes</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <strong>Wear</strong> - In addition to Maps support, this release provides you with the ability
+to advertise and discover the capabilities of devices that are connected in a Wear network, through
+the new <a href="{@docRoot}reference/com/google/android/gms/wearable/CapabilityApi.html">
+{@code CapabilityApi}</a> class. The new
+<a href="{@docRoot}reference/com/google/android/gms/wearable/ChannelApi.html">{@code ChannelApi}</a>
+class lets you send and receive data bi-directionally from your wearable app on a device to another
+wearable node. Use the Channel API to send large files for offline access or to stream real-time
+binary data.
+ <ul>
+ <li><a href="{@docRoot}training/wearables/data-layer/messages.html">
+Sending and Receiving Messages</a></li>
+ </ul>
+ </li>
+ <li>
+ <strong>Fit</strong> - This release provides a new
+<a href="{@docRoot}reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient,%20com.google.android.gms.fitness.data.DataType)">
+{@code HistoryApi.readDailyTotal()}</a> method for you to get aggregated daily data for a given
+data type.
+This release also introduces data types for recording granular nutrition information including
+protein, fat, cholesterol, and more.
+ <ul>
+ <li><a href="https://developers.google.com/fit/android/history#read_daily_total_data"
+ class="external-link">Read daily total API developer guide</a></li>
+ <li><a href="https://developers.google.com/fit/android/data-types#data_types_for_instantaneous_readings"
+ class="external-link">Nutrition data type developer guide</a></li>
+ <li><a href="{@docRoot}reference/com/google/android/gms/fitness/data/Field.html">
+ Nutrition data types API reference</a></li>
+ <li><a href="https://developers.google.com/fit/android/releases#april_2015"
+ class="external-link">Release notes</a></li>
+ </ul>
+ </li>
+ <li>
+ <strong>Location</strong> - This release adds a maximum wait time for location updates. By
+calling the new
+<a href="{@docRoot}reference/com/google/android/gms/location/LocationRequest.html#setMaxWaitTime(long)">
+{@code setMaxWaitTime()}</a> method and passing in a value at least double the value requested with
+the
+<a href="{@docRoot}reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)">
+{@code setInterval()}</a> method, the system can batch location updates together, reducing battery
+usage and, on some devices, improving location accuracy. In addition, you can use the new
+<a href="{@docRoot}reference/com/google/android/gms/location/LocationCallback.html">
+{@code LocationCallback}</a> class to be notified when the device location has changed or can no
+longer be determined.
+ </li>
+ <li>
+ <strong>Places</strong> - This release adds a
+<a href="{@docRoot}reference/com/google/android/gms/location/places/PlaceBuffer.html#getAttributions()">
+{@code PlaceBuffer.getAttributions()}</a> method for displaying third-party attributions.</a>
+ <ul>
+ <li><a href="https://developers.google.com/places/android/attributions"
+ class="external-link">Displaying attributions developer guide</a></li>
+ <li><a href="https://developers.google.com/places/android/releases">Release notes</a></li>
+ </ul>
+ </li>
+</ul>
+</dd>
+</dl>
+ </div>
+</div>
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png"
+ class="toggle-content-img"
alt=""/>Google Play services, Version 7.0</a> <em>(March 2015)</em>
</p>
@@ -544,7 +643,7 @@
<li><strong>Analytics</strong> - Google Analytics and Tag Manager are now part of Google Play services.
<ul>
<li><a href="http://developers.google.com/analytics/devguides/collection/android/v4/" class="external-link">Getting Started with the Analytics API in Android</a></li>
- <li><a href="/reference/com/google/android/gms/analytics/package-summary.html">Analytics API reference</a></li>
+ <li><a href="{@docRoot}reference/com/google/android/gms/analytics/package-summary.html">Analytics API reference</a></li>
<li><a href="http://developers.google.com/tag-manager/android/" class="external-link">Getting Started with the Tag Manager API in Android</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/tagmanager/package-summary.html">Tag Manager API reference</a></li>
</ul>
diff --git a/docs/html/google/play-services/setup.jd b/docs/html/google/play-services/setup.jd
index 70e7107..313e591 100644
--- a/docs/html/google/play-services/setup.jd
+++ b/docs/html/google/play-services/setup.jd
@@ -67,7 +67,7 @@
dependencies {
compile 'com.android.support:appcompat-v7:21.0.3'
- <strong>compile 'com.google.android.gms:play-services:7.0.0'</strong>
+ <strong>compile 'com.google.android.gms:play-services:7.3.0'</strong>
}
</pre>
<p>Be sure you update this version number each time Google Play services is updated.</p>
@@ -98,14 +98,14 @@
<code>build.gradle</code> file:</p>
<pre class="no-pretty-print">
-compile 'com.google.android.gms:play-services:7.0.0'
+compile 'com.google.android.gms:play-services:7.3.0'
</pre>
<p>with these lines:</p>
<pre class="no-pretty-print">
-compile 'com.google.android.gms:play-services-fitness:7.0.0'
-compile 'com.google.android.gms:play-services-wearable:7.0.0'
+compile 'com.google.android.gms:play-services-fitness:7.3.0'
+compile 'com.google.android.gms:play-services-wearable:7.3.0'
</pre>
<p>Table 1 shows a list of the separate APIs that you can include when compiling your app, and
@@ -123,75 +123,75 @@
</tr>
<tr>
<td>Google+</td>
- <td>com.google.android.gms:play-services-plus:7.0.0</td>
+ <td>com.google.android.gms:play-services-plus:7.3.0</td>
</tr>
<tr>
<td>Google Account Login</td>
- <td>com.google.android.gms:play-services-identity:7.0.0</td>
+ <td>com.google.android.gms:play-services-identity:7.3.0</td>
</tr>
<tr>
<td>Google Actions, Base Client Library</td>
- <td>com.google.android.gms:play-services-base:7.0.0</td>
+ <td>com.google.android.gms:play-services-base:7.3.0</td>
</tr>
<tr>
<td>Google App Indexing</td>
- <td>com.google.android.gms:play-services-appindexing:7.0.0</td>
+ <td>com.google.android.gms:play-services-appindexing:7.3.0</td>
</tr>
<tr>
<td>Google Analytics</td>
- <td>com.google.android.gms:play-services-analytics:7.0.0</td>
+ <td>com.google.android.gms:play-services-analytics:7.3.0</td>
</tr>
<tr>
<td>Google Cast</td>
- <td>com.google.android.gms:play-services-cast:7.0.0</td>
+ <td>com.google.android.gms:play-services-cast:7.3.0</td>
</tr>
<tr>
<td>Google Cloud Messaging</td>
- <td>com.google.android.gms:play-services-gcm:7.0.0</td>
+ <td>com.google.android.gms:play-services-gcm:7.3.0</td>
</tr>
<tr>
<td>Google Drive</td>
- <td>com.google.android.gms:play-services-drive:7.0.0</td>
+ <td>com.google.android.gms:play-services-drive:7.3.0</td>
</tr>
<tr>
<td>Google Fit</td>
- <td>com.google.android.gms:play-services-fitness:7.0.0</td>
+ <td>com.google.android.gms:play-services-fitness:7.3.0</td>
</tr>
<tr>
<td>Google Location, Activity Recognition, and Places</td>
- <td>com.google.android.gms:play-services-location:7.0.0</td>
+ <td>com.google.android.gms:play-services-location:7.3.0</td>
</tr>
<tr>
<td>Google Maps</td>
- <td>com.google.android.gms:play-services-maps:7.0.0</td>
+ <td>com.google.android.gms:play-services-maps:7.3.0</td>
</tr>
<tr>
<td>Google Mobile Ads</td>
- <td>com.google.android.gms:play-services-ads:7.0.0</td>
+ <td>com.google.android.gms:play-services-ads:7.3.0</td>
</tr>
<tr>
<td>Google Nearby</td>
- <td>com.google.android.gms:play-services-nearby:7.0.0</td>
+ <td>com.google.android.gms:play-services-nearby:7.3.0</td>
</tr>
<tr>
<td>Google Panorama Viewer</td>
- <td>com.google.android.gms:play-services-panorama:7.0.0</td>
+ <td>com.google.android.gms:play-services-panorama:7.3.0</td>
</tr>
<tr>
<td>Google Play Game services</td>
- <td>com.google.android.gms:play-services-games:7.0.0</td>
+ <td>com.google.android.gms:play-services-games:7.3.0</td>
</tr>
<tr>
<td>SafetyNet</td>
- <td>com.google.android.gms:play-services-safetynet:7.0.0</td>
+ <td>com.google.android.gms:play-services-safetynet:7.3.0</td>
</tr>
<tr>
<td>Google Wallet</td>
- <td>com.google.android.gms:play-services-wallet:7.0.0</td>
+ <td>com.google.android.gms:play-services-wallet:7.3.0</td>
</tr>
<tr>
<td>Android Wear</td>
- <td>com.google.android.gms:play-services-wearable:7.0.0</td>
+ <td>com.google.android.gms:play-services-wearable:7.3.0</td>
</tr>
</table>
diff --git a/docs/html/guide/topics/manifest/application-element.jd b/docs/html/guide/topics/manifest/application-element.jd
index d6ad656..e63ba71 100644
--- a/docs/html/guide/topics/manifest/application-element.jd
+++ b/docs/html/guide/topics/manifest/application-element.jd
@@ -452,12 +452,11 @@
The default value is {@code "true"}.
<p>When the attribute is set to {@code "false"}, platform components (for example, HTTP and FTP
-stacks, {@link android.webkit.WebView}, {@link android.app.DownloadManager},
-{@link android.media.MediaPlayer}) will refuse the app's requests to use cleartext traffic.
-Third-party libraries are strongly encouraged to honor this setting as well. The key reason for
-avoiding cleartext traffic is the lack of confidentiality, authenticity, and protections against
-tampering: a network attacker can eavesdrop on transmitted data and also modify it without being
-detected.
+stacks, {@link android.app.DownloadManager}, {@link android.media.MediaPlayer}) will refuse the
+app's requests to use cleartext traffic. Third-party libraries are strongly encouraged to honor this
+setting as well. The key reason for avoiding cleartext traffic is the lack of confidentiality,
+authenticity, and protections against tampering: a network attacker can eavesdrop on transmitted
+data and also modify it without being detected.
<p>This flag is honored on a best effort basis because it's impossible to prevent all cleartext
traffic from Android applications given the level of access provided to them. For example, there's
@@ -467,6 +466,8 @@
from {@link android.content.pm.ApplicationInfo#flags ApplicationInfo.flags} or
{@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted() NetworkSecurityPolicy.isCleartextTrafficPermitted()}.
+<p>NOTE: {@link android.webkit.WebView} does not honor this flag.
+
<p>During app development, StrictMode can be used to identify any cleartext traffic from the app: see
{@link android.os.StrictMode.VmPolicy.Builder#detectCleartextNetwork() StrictMode.VmPolicy.Builder.detectCleartextNetwork()}.
diff --git a/docs/html/guide/topics/resources/string-resource.jd b/docs/html/guide/topics/resources/string-resource.jd
index cbfa82e..743e692 100644
--- a/docs/html/guide/topics/resources/string-resource.jd
+++ b/docs/html/guide/topics/resources/string-resource.jd
@@ -401,19 +401,35 @@
format and style your string resources.</p>
-<h3>Escaping apostrophes and quotes</h3>
+<h3 id="escaping_quotes">Escaping apostrophes and quotes</h3>
-<p>If you have an apostrophe or a quote in your string, you must either escape it or enclose the
-whole string in the other type of enclosing quotes. For example, here are some stings that
-do and don't work:</p>
+<p>
+ If you have an apostrophe (<code>'</code>) in your string, you must either
+ escape it with a backslash (<code>\'</code>) or enclose the string in
+ double-quotes (<code>""</code>). For example, here are some strings that do
+ and don't work:
+</p>
<pre>
-<string name="good_example">"This'll work"</string>
-<string name="good_example_2">This\'ll also work</string>
+<string name="good_example">This\'ll work</string>
+<string name="good_example_2">"This'll also work"</string>
<string name="bad_example">This doesn't work</string>
-<string name="bad_example_2">XML encodings don&apos;t work</string>
+ <!-- Causes a compile error -->
</pre>
+<p>
+ If you have a double-quote in your string, you must escape it
+ (<code>\"</code>). Surrounding the string with single-quotes does
+ <em>not</em> work.
+</p>
+
+<pre>
+<string name="good_example">This is a \"good string\".</string>
+<string name="bad_example">This is a "bad string".</string>
+ <!-- Quotes are stripped; displays as: This is a bad string. -->
+<string name="bad_example_2">'This is another "bad string".'</string>
+ <!-- Causes a compile error -->
+</pre>
<h3>Formatting strings</h3>
diff --git a/docs/html/reference/com/google/android/gms/R.attr.html b/docs/html/reference/com/google/android/gms/R.attr.html
index a36796e..ce78662 100644
--- a/docs/html/reference/com/google/android/gms/R.attr.html
+++ b/docs/html/reference/com/google/android/gms/R.attr.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.color.html b/docs/html/reference/com/google/android/gms/R.color.html
index 48162ce..5e327e4 100644
--- a/docs/html/reference/com/google/android/gms/R.color.html
+++ b/docs/html/reference/com/google/android/gms/R.color.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.drawable.html b/docs/html/reference/com/google/android/gms/R.drawable.html
index 8c80d75..47f0c82 100644
--- a/docs/html/reference/com/google/android/gms/R.drawable.html
+++ b/docs/html/reference/com/google/android/gms/R.drawable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.html b/docs/html/reference/com/google/android/gms/R.html
index 89577de..0a6f698 100644
--- a/docs/html/reference/com/google/android/gms/R.html
+++ b/docs/html/reference/com/google/android/gms/R.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.id.html b/docs/html/reference/com/google/android/gms/R.id.html
index ebb64dc..ed698f7 100644
--- a/docs/html/reference/com/google/android/gms/R.id.html
+++ b/docs/html/reference/com/google/android/gms/R.id.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.integer.html b/docs/html/reference/com/google/android/gms/R.integer.html
index 6dedb14..d0354eb 100644
--- a/docs/html/reference/com/google/android/gms/R.integer.html
+++ b/docs/html/reference/com/google/android/gms/R.integer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.raw.html b/docs/html/reference/com/google/android/gms/R.raw.html
index ac5f7f9..439cbcf 100644
--- a/docs/html/reference/com/google/android/gms/R.raw.html
+++ b/docs/html/reference/com/google/android/gms/R.raw.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.string.html b/docs/html/reference/com/google/android/gms/R.string.html
index dae85c1..ae849c89 100644
--- a/docs/html/reference/com/google/android/gms/R.string.html
+++ b/docs/html/reference/com/google/android/gms/R.string.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.style.html b/docs/html/reference/com/google/android/gms/R.style.html
index 93a9671..cf3f454 100644
--- a/docs/html/reference/com/google/android/gms/R.style.html
+++ b/docs/html/reference/com/google/android/gms/R.style.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/R.styleable.html b/docs/html/reference/com/google/android/gms/R.styleable.html
index 34e834d..7e55b71a 100644
--- a/docs/html/reference/com/google/android/gms/R.styleable.html
+++ b/docs/html/reference/com/google/android/gms/R.styleable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/actions/ItemListIntents.html b/docs/html/reference/com/google/android/gms/actions/ItemListIntents.html
index 775d785..a3caaad 100644
--- a/docs/html/reference/com/google/android/gms/actions/ItemListIntents.html
+++ b/docs/html/reference/com/google/android/gms/actions/ItemListIntents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/actions/NoteIntents.html b/docs/html/reference/com/google/android/gms/actions/NoteIntents.html
index 70f02a8..24ec77f 100644
--- a/docs/html/reference/com/google/android/gms/actions/NoteIntents.html
+++ b/docs/html/reference/com/google/android/gms/actions/NoteIntents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/actions/ReserveIntents.html b/docs/html/reference/com/google/android/gms/actions/ReserveIntents.html
index b3e3c9b..46d4764 100644
--- a/docs/html/reference/com/google/android/gms/actions/ReserveIntents.html
+++ b/docs/html/reference/com/google/android/gms/actions/ReserveIntents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/actions/SearchIntents.html b/docs/html/reference/com/google/android/gms/actions/SearchIntents.html
index 226131f..9f95e2b 100644
--- a/docs/html/reference/com/google/android/gms/actions/SearchIntents.html
+++ b/docs/html/reference/com/google/android/gms/actions/SearchIntents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/actions/package-summary.html b/docs/html/reference/com/google/android/gms/actions/package-summary.html
index 0604cee..66d8c91 100644
--- a/docs/html/reference/com/google/android/gms/actions/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/actions/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/AdListener.html b/docs/html/reference/com/google/android/gms/ads/AdListener.html
index b3a91a4..25bf17e 100644
--- a/docs/html/reference/com/google/android/gms/ads/AdListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/AdListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/AdRequest.Builder.html b/docs/html/reference/com/google/android/gms/ads/AdRequest.Builder.html
index 49ee31c..de63f03 100644
--- a/docs/html/reference/com/google/android/gms/ads/AdRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/ads/AdRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/AdRequest.html b/docs/html/reference/com/google/android/gms/ads/AdRequest.html
index 8c7aafe..44f9990 100644
--- a/docs/html/reference/com/google/android/gms/ads/AdRequest.html
+++ b/docs/html/reference/com/google/android/gms/ads/AdRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/AdSize.html b/docs/html/reference/com/google/android/gms/ads/AdSize.html
index 382ecaa..539a2f6 100644
--- a/docs/html/reference/com/google/android/gms/ads/AdSize.html
+++ b/docs/html/reference/com/google/android/gms/ads/AdSize.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/AdView.html b/docs/html/reference/com/google/android/gms/ads/AdView.html
index 36ae5bb..e561b90 100644
--- a/docs/html/reference/com/google/android/gms/ads/AdView.html
+++ b/docs/html/reference/com/google/android/gms/ads/AdView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/InterstitialAd.html b/docs/html/reference/com/google/android/gms/ads/InterstitialAd.html
index 2487f2d..dfc3d14 100644
--- a/docs/html/reference/com/google/android/gms/ads/InterstitialAd.html
+++ b/docs/html/reference/com/google/android/gms/ads/InterstitialAd.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/AppEventListener.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/AppEventListener.html
index a592fa5..8e324ca 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/AppEventListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/AppEventListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/CustomRenderedAd.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/CustomRenderedAd.html
index 34ee099..9888f07 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/CustomRenderedAd.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/CustomRenderedAd.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/OnCustomRenderedAdLoadedListener.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/OnCustomRenderedAdLoadedListener.html
index 0573bb7..96030c0 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/OnCustomRenderedAdLoadedListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/OnCustomRenderedAdLoadedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html
index 2bd3774..9145b46 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.html
index 2c8c172..b1a50ed 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdView.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdView.html
index 7323feb..39df2f6 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdView.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherAdView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherInterstitialAd.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherInterstitialAd.html
index ce90ec5..8003263 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherInterstitialAd.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/PublisherInterstitialAd.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/doubleclick/package-summary.html b/docs/html/reference/com/google/android/gms/ads/doubleclick/package-summary.html
index 4ba271c..732c2e9 100644
--- a/docs/html/reference/com/google/android/gms/ads/doubleclick/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/doubleclick/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html b/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html
index 790dc520..db7a2fa 100644
--- a/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html
+++ b/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html b/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html
index 78e1e90..f9034ad 100644
--- a/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html
+++ b/docs/html/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/identifier/package-summary.html b/docs/html/reference/com/google/android/gms/ads/identifier/package-summary.html
index 596d992..af77d7a 100644
--- a/docs/html/reference/com/google/android/gms/ads/identifier/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/identifier/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdRequest.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdRequest.html
index 13074c5..228f438 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdRequest.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdapter.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdapter.html
index 95ab021..0e0d367 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdapter.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationAdapter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerAdapter.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerAdapter.html
index 53e9a7a..a655287 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerAdapter.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerAdapter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerListener.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerListener.html
index fb2d673..8b75a63 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationBannerListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialAdapter.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialAdapter.html
index 82b54d9..c83efba 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialAdapter.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialAdapter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialListener.html b/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialListener.html
index da9ece6..08da950 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/MediationInterstitialListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/NetworkExtras.html b/docs/html/reference/com/google/android/gms/ads/mediation/NetworkExtras.html
index f51549c..5b4fdf0 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/NetworkExtras.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/NetworkExtras.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/admob/AdMobExtras.html b/docs/html/reference/com/google/android/gms/ads/mediation/admob/AdMobExtras.html
index e5d92b8..0bc5904 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/admob/AdMobExtras.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/admob/AdMobExtras.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/admob/package-summary.html b/docs/html/reference/com/google/android/gms/ads/mediation/admob/package-summary.html
index 4262481..e1bd0aa 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/admob/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/admob/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEvent.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEvent.html
index a366a91..9aaf9b9 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEvent.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBanner.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBanner.html
index 5925dae..392093c 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBanner.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBanner.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBannerListener.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBannerListener.html
index 0f53327..e9d1602 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBannerListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventBannerListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventExtras.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventExtras.html
index 29dedb9..007666f 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventExtras.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventExtras.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitial.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitial.html
index 73294a7..9de2f0c 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitial.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitial.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitialListener.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitialListener.html
index ff46150..72f2d38 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitialListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventInterstitialListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventListener.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventListener.html
index f1aeca7..e4b30fb 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/CustomEventListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/package-summary.html b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/package-summary.html
index 6aa8217..de95978 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/customevent/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/customevent/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/mediation/package-summary.html b/docs/html/reference/com/google/android/gms/ads/mediation/package-summary.html
index c081192..7bf8feb 100644
--- a/docs/html/reference/com/google/android/gms/ads/mediation/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/mediation/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/package-summary.html b/docs/html/reference/com/google/android/gms/ads/package-summary.html
index 7128f83..ef7cb00 100644
--- a/docs/html/reference/com/google/android/gms/ads/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchase.html b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchase.html
index f05a913..ff68e3f 100644
--- a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchase.html
+++ b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchase.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseListener.html b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseListener.html
index 0f72f22..1957d93 100644
--- a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseResult.html b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseResult.html
index 94985b2..c1e45c77 100644
--- a/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseResult.html
+++ b/docs/html/reference/com/google/android/gms/ads/purchase/InAppPurchaseResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/purchase/PlayStorePurchaseListener.html b/docs/html/reference/com/google/android/gms/ads/purchase/PlayStorePurchaseListener.html
index 9720c82..80352ec 100644
--- a/docs/html/reference/com/google/android/gms/ads/purchase/PlayStorePurchaseListener.html
+++ b/docs/html/reference/com/google/android/gms/ads/purchase/PlayStorePurchaseListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/purchase/package-summary.html b/docs/html/reference/com/google/android/gms/ads/purchase/package-summary.html
index d1444c3..6e827a6 100644
--- a/docs/html/reference/com/google/android/gms/ads/purchase/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/purchase/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.Builder.html b/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.Builder.html
index 19483fe..42e1c5a 100644
--- a/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.html b/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.html
index 6753ddb..4ff404c 100644
--- a/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.html
+++ b/docs/html/reference/com/google/android/gms/ads/search/SearchAdRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/search/SearchAdView.html b/docs/html/reference/com/google/android/gms/ads/search/SearchAdView.html
index 2674390..07443aa 100644
--- a/docs/html/reference/com/google/android/gms/ads/search/SearchAdView.html
+++ b/docs/html/reference/com/google/android/gms/ads/search/SearchAdView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/ads/search/package-summary.html b/docs/html/reference/com/google/android/gms/ads/search/package-summary.html
index 5cfd7ff..dbdd34d 100644
--- a/docs/html/reference/com/google/android/gms/ads/search/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/ads/search/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/AnalyticsReceiver.html b/docs/html/reference/com/google/android/gms/analytics/AnalyticsReceiver.html
index 86100ae..413d112 100644
--- a/docs/html/reference/com/google/android/gms/analytics/AnalyticsReceiver.html
+++ b/docs/html/reference/com/google/android/gms/analytics/AnalyticsReceiver.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -898,16 +909,23 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">A <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code> used by Google Analytics.
- It will only be used if it is correctly declared in the manifest:
- <p>
- <pre>
- <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
- android:enabled="true">
- <intent-filter>
- <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
- </intent-filter>
- </receiver></pre>
+<p itemprop="articleBody">A <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code> used by Google Analytics. It will only be used when
+ the receiver is correctly declared in the manifest and enabled: <p>
+ <pre><code><manifest>
+ <application>
+ <!-- ... -->
+
+ <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
+ android:enabled="true">
+ <intent-filter>
+ <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
+ </intent-filter>
+ </receiver>
+
+ <!-- ... -->
+ </application>
+ </manifest>
+ </code></pre>
</p>
diff --git a/docs/html/reference/com/google/android/gms/analytics/AnalyticsService.html b/docs/html/reference/com/google/android/gms/analytics/AnalyticsService.html
index a2d81bb..c69cffc 100644
--- a/docs/html/reference/com/google/android/gms/analytics/AnalyticsService.html
+++ b/docs/html/reference/com/google/android/gms/analytics/AnalyticsService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -822,13 +833,6 @@
-
-
-
-
-
-
-
<div class="sum-details-links">
Summary:
@@ -844,9 +848,9 @@
- | <a href="#pubctors">Ctors</a>
+ | <a href="#pubmethods">Methods</a>
@@ -890,11 +894,7 @@
-
-
-
-
- extends IntentService<br/>
+ extends Service<br/>
@@ -917,7 +917,7 @@
<tr>
- <td colspan="6" class="jd-inheritance-class-cell">java.lang.Object</td>
+ <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
@@ -925,7 +925,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="5" class="jd-inheritance-class-cell">android.content.Context</td>
+ <td colspan="4" class="jd-inheritance-class-cell">android.content.Context</td>
</tr>
@@ -935,7 +935,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="4" class="jd-inheritance-class-cell">android.content.ContextWrapper</td>
+ <td colspan="3" class="jd-inheritance-class-cell">android.content.ContextWrapper</td>
</tr>
@@ -947,7 +947,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="3" class="jd-inheritance-class-cell">android.app.Service</td>
+ <td colspan="2" class="jd-inheritance-class-cell">android.app.Service</td>
</tr>
@@ -961,22 +961,6 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="2" class="jd-inheritance-class-cell">android.app.IntentService</td>
- </tr>
-
-
- <tr>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> ↳</td>
-
<td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.analytics.AnalyticsService</td>
</tr>
@@ -993,11 +977,20 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">An <code><a href="/reference/android/app/IntentService.html">IntentService</a></code> used by Google Analytics.
- It will only be used if it is correctly declared in the manifest:
- <p>
- <pre>
- <service android:name="com.google.android.gms.analytics.AnalyticsService" /></pre>
+<p itemprop="articleBody">An <code><a href="/reference/android/app/Service.html">Service</a></code> used by Google Analytics. It will only be used when the service
+ is correctly declared in the manifest: <p>
+ <pre><code><manifest>
+ <application>
+ <!-- ... -->
+
+ <service android:name="com.google.android.gms.analytics.AnalyticsService"
+ android:enabled="true"
+ android:exported="false"/>
+
+ <!-- ... -->
+ </application>
+ </manifest>
+ </code></pre>
</p>
@@ -1047,8 +1040,6 @@
<div style="clear:left;">Inherited Constants</div></th></tr>
-
-
<tr class="api apilevel-" >
<td colspan="12">
@@ -2192,78 +2183,12 @@
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
-
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- </nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/analytics/AnalyticsService.html#AnalyticsService()">AnalyticsService</a></span>()</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- </nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/analytics/AnalyticsService.html#AnalyticsService(java.lang.String)">AnalyticsService</a></span>(String name)</nobr>
-
- </td></tr>
-
-
-
-</table>
-
-
-
-
-
-
-
<!-- ========== METHOD SUMMARY =========== -->
-<table id="inhmethods" class="jd-sumtable"><tr><th>
- <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
- <div style="clear:left;">Inherited Methods</div></th></tr>
-
-
-<tr class="api apilevel-" >
-<td colspan="12">
- <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.IntentService" class="jd-expando-trigger closed"
- ><img id="inherited-methods-android.app.IntentService-trigger"
- src="/assets/images/triangle-closed.png"
- class="jd-expando-trigger-img" /></a>
-From class
-
- android.app.IntentService
-
-<div id="inherited-methods-android.app.IntentService">
- <div id="inherited-methods-android.app.IntentService-list"
- class="jd-inheritedlinks">
- </div>
- <div id="inherited-methods-android.app.IntentService-summary" style="display: none;">
- <table class="jd-sumtable-expando">
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
@@ -2278,114 +2203,26 @@
IBinder</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onBind</span>(Intent arg0)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/AnalyticsService.html#onBind(android.content.Intent)">onBind</a></span>(Intent intent)</nobr>
</td></tr>
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onCreate</span>()</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onDestroy</span>()</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
- abstract
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onHandleIntent</span>(Intent arg0)</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStart</span>(Intent arg0, int arg1)</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- int</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStartCommand</span>(Intent arg0, int arg1, int arg2)</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">setIntentRedelivery</span>(boolean arg0)</nobr>
-
- </td></tr>
-
-
</table>
- </div>
-</div>
-</td></tr>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.Service" class="jd-expando-trigger closed"
@@ -6202,77 +6039,6 @@
<!-- Public ctors -->
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<h2>Public Constructors</h2>
-
-
-
-<A NAME="AnalyticsService()"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
-
- </span>
- <span class="sympad">AnalyticsService</span>
- <span class="normal">()</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
-<A NAME="AnalyticsService(java.lang.String)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
-
- </span>
- <span class="sympad">AnalyticsService</span>
- <span class="normal">(String name)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
-
-
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->
@@ -6282,6 +6048,43 @@
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onBind(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ IBinder
+ </span>
+ <span class="sympad">onBind</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
<!-- ========= METHOD DETAIL ======== -->
diff --git a/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html b/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html
index 6195e5b..cb5e677 100644
--- a/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html
+++ b/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -829,7 +840,7 @@
<div id="jd-header">
public
- final
+
class
<h1 itemprop="name">CampaignTrackingReceiver</h1>
@@ -891,6 +902,48 @@
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
+ ><img id="subclasses-direct-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>Known Direct Subclasses
+
+ <div id="subclasses-direct">
+ <div id="subclasses-direct-list"
+ class="jd-inheritedlinks"
+
+ >
+
+
+ <a href="/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html">InstallReferrerReceiver</a>
+
+
+ </div>
+ <div id="subclasses-direct-summary"
+ style="display: none;"
+ >
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html">InstallReferrerReceiver</a></td>
+ <td class="jd-descrcol" width="100%">
+ The Google Play <code>com.android.vending.INSTALL_REFERRER</code> <code><a href="/reference/android/content/Intent.html">Intent</a></code> is broadcast when an
+ app is installed from the Google Play Store.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+ </div>
+</td></tr></table>
+
@@ -898,29 +951,37 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">The Google Play <code>com.android.vending.INSTALL_REFERRER</code> <code><a href="/reference/android/content/Intent.html">Intent</a></code> is broadcast when an
- app is installed from the Google Play Store and has campaign data available (i.e. the app was
- installed from a link to the Google Play Store). This <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code> listens for that
- <code><a href="/reference/android/content/Intent.html">Intent</a></code>, passing the campaign data to Google Analytics.
- <p>
- To enable this receiver, add the following to your AndroidManifest.xml file:
+<p itemprop="articleBody">Google Analytics receiver for <code>com.android.vending.INSTALL_REFERRER</code>. Google Play will
+ broadcast the intent when an app is installed from the Google Play Store and has campaign data
+ available (i.e. the app was installed from a link to the Google Play Store).
+ This <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code> registers for that <code><a href="/reference/android/content/Intent.html">Intent</a></code> and passes the campaign data
+ to Google Analytics.
- <pre>
- <code><!-- Used for install referrer tracking-->
- <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
- <receiver
- android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
- android:exported="true">
- <intent-filter>
- <action android:name="com.android.vending.INSTALL_REFERRER" />
- </intent-filter>
- </receiver>
- </code>
- </pre>
+ <p><p> To enable installation campaign reporting register both CampaignTrackingReceiver and
+ CampaignTrackingService in your AndroidManifest.xml file:
- Only one receiver can receive the install referrer setting. If Google Tag Manager is being
- used by the application, then only the Google Tag Manager receiver needs to be enabled.
- The Google Tag Manager receiver will invoke the Google Analytics receiver automatically.
+ <pre><code><manifest>
+ <application>
+ <!-- ... -->
+
+ <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
+ android:enabled="true">
+ <intent-filter>
+ <action android:name="com.android.vending.INSTALL_REFERRER" />
+ </intent-filter>
+ </receiver>
+ <service android:name="com.google.android.gms.analytics.CampaignTrackingService"
+ android:enabled="true"
+ android:exported="false"/>
+
+ <!-- ... -->
+ </application>
+ </manifest>
+ </code></pre>
+
+ Only one receiver can receive the install referrer setting. If Google Tag Manager is being used
+ by the application, then only the Google Tag Manager receiver needs to be enabled. The Google Tag
+ Manager receiver will invoke the Google Analytics receiver automatically.
</p>
@@ -1016,7 +1077,7 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html#onReceive(android.content.Context, android.content.Intent)">onReceive</a></span>(Context ctx, Intent intent)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html#onReceive(android.content.Context, android.content.Intent)">onReceive</a></span>(Context context, Intent intent)</nobr>
</td></tr>
@@ -1645,7 +1706,7 @@
void
</span>
<span class="sympad">onReceive</span>
- <span class="normal">(Context ctx, Intent intent)</span>
+ <span class="normal">(Context context, Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
diff --git a/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingService.html b/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingService.html
index da1a747..b8f9d39 100644
--- a/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingService.html
+++ b/docs/html/reference/com/google/android/gms/analytics/CampaignTrackingService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -777,13 +788,6 @@
-
-
-
-
-
-
-
@@ -849,6 +853,9 @@
+ | <a href="#pubmethods">Methods</a>
+
+
| <a href="#inhmethods">Inherited Methods</a>
@@ -890,11 +897,7 @@
-
-
-
-
- extends IntentService<br/>
+ extends Service<br/>
@@ -917,7 +920,7 @@
<tr>
- <td colspan="6" class="jd-inheritance-class-cell">java.lang.Object</td>
+ <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
@@ -925,7 +928,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="5" class="jd-inheritance-class-cell">android.content.Context</td>
+ <td colspan="4" class="jd-inheritance-class-cell">android.content.Context</td>
</tr>
@@ -935,7 +938,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="4" class="jd-inheritance-class-cell">android.content.ContextWrapper</td>
+ <td colspan="3" class="jd-inheritance-class-cell">android.content.ContextWrapper</td>
</tr>
@@ -947,7 +950,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="3" class="jd-inheritance-class-cell">android.app.Service</td>
+ <td colspan="2" class="jd-inheritance-class-cell">android.app.Service</td>
</tr>
@@ -961,22 +964,6 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="2" class="jd-inheritance-class-cell">android.app.IntentService</td>
- </tr>
-
-
- <tr>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> </td>
-
- <td class="jd-inheritance-space"> ↳</td>
-
<td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.analytics.CampaignTrackingService</td>
</tr>
@@ -986,6 +973,47 @@
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
+ ><img id="subclasses-direct-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>Known Direct Subclasses
+
+ <div id="subclasses-direct">
+ <div id="subclasses-direct-list"
+ class="jd-inheritedlinks"
+
+ >
+
+
+ <a href="/reference/com/google/android/gms/tagmanager/InstallReferrerService.html">InstallReferrerService</a>
+
+
+ </div>
+ <div id="subclasses-direct-summary"
+ style="display: none;"
+ >
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerService.html">InstallReferrerService</a></td>
+ <td class="jd-descrcol" width="100%">
+ IntentService for handling the Google Play Store's INSTALL_REFERRER intent.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+ </div>
+</td></tr></table>
+
@@ -993,8 +1021,8 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">IntentService for handling the Google Play Store's INSTALL_REFERRER intent. This service will be
- launched from <code><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">CampaignTrackingReceiver</a></code>. See that class for details.
+<p itemprop="articleBody">Service for processing Google Play Store's INSTALL_REFERRER intent. This service will be
+ launched by <code><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">CampaignTrackingReceiver</a></code>. See CampaignTrackingReceiver class for details.
</p>
@@ -1044,8 +1072,6 @@
<div style="clear:left;">Inherited Constants</div></th></tr>
-
-
<tr class="api apilevel-" >
<td colspan="12">
@@ -2205,22 +2231,6 @@
</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#CampaignTrackingService(java.lang.String)">CampaignTrackingService</a></span>(String name)</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- </nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#CampaignTrackingService()">CampaignTrackingService</a></span>()</nobr>
</td></tr>
@@ -2234,35 +2244,10 @@
-
-
-
-
-
<!-- ========== METHOD SUMMARY =========== -->
-<table id="inhmethods" class="jd-sumtable"><tr><th>
- <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
- <div style="clear:left;">Inherited Methods</div></th></tr>
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
-<tr class="api apilevel-" >
-<td colspan="12">
- <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.IntentService" class="jd-expando-trigger closed"
- ><img id="inherited-methods-android.app.IntentService-trigger"
- src="/assets/images/triangle-closed.png"
- class="jd-expando-trigger-img" /></a>
-From class
-
- android.app.IntentService
-
-<div id="inherited-methods-android.app.IntentService">
- <div id="inherited-methods-android.app.IntentService-list"
- class="jd-inheritedlinks">
- </div>
- <div id="inherited-methods-android.app.IntentService-summary" style="display: none;">
- <table class="jd-sumtable-expando">
-
-
<tr class="alt-color api apilevel-" >
@@ -2275,7 +2260,7 @@
IBinder</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onBind</span>(Intent arg0)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onBind(android.content.Intent)">onBind</a></span>(Intent intent)</nobr>
</td></tr>
@@ -2291,7 +2276,7 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onCreate</span>()</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onCreate()">onCreate</a></span>()</nobr>
</td></tr>
@@ -2307,39 +2292,7 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onDestroy</span>()</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
- abstract
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onHandleIntent</span>(Intent arg0)</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStart</span>(Intent arg0, int arg1)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onDestroy()">onDestroy</a></span>()</nobr>
</td></tr>
@@ -2351,38 +2304,30 @@
-
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStartCommand</span>(Intent arg0, int arg1, int arg2)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onStartCommand(android.content.Intent, int, int)">onStartCommand</a></span>(Intent intent, int flags, int startId)</nobr>
</td></tr>
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">setIntentRedelivery</span>(boolean arg0)</nobr>
-
- </td></tr>
-
</table>
- </div>
-</div>
-</td></tr>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.Service" class="jd-expando-trigger closed"
@@ -6204,38 +6149,6 @@
-<A NAME="CampaignTrackingService(java.lang.String)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
-
- </span>
- <span class="sympad">CampaignTrackingService</span>
- <span class="normal">(String name)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
<A NAME="CampaignTrackingService()"></A>
<div class="jd-details api apilevel-">
@@ -6279,6 +6192,139 @@
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onBind(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ IBinder
+ </span>
+ <span class="sympad">onBind</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onCreate()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onCreate</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onDestroy()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onDestroy</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onStartCommand(android.content.Intent, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">onStartCommand</span>
+ <span class="normal">(Intent intent, int flags, int startId)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
<!-- ========= METHOD DETAIL ======== -->
diff --git a/docs/html/reference/com/google/android/gms/analytics/ExceptionParser.html b/docs/html/reference/com/google/android/gms/analytics/ExceptionParser.html
index 64d91f6..b66b967 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ExceptionParser.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ExceptionParser.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -907,7 +918,8 @@
myHandler.setExceptionParser(new MyExceptionParser());
// Where MyExceptionParser provides a custom description for various exceptions.
- </pre></p>
+ </pre>
+</p>
diff --git a/docs/html/reference/com/google/android/gms/analytics/ExceptionReporter.html b/docs/html/reference/com/google/android/gms/analytics/ExceptionReporter.html
index b183b34..a64e356 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ExceptionReporter.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ExceptionReporter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -889,28 +900,23 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">Used to catch any uncaught exceptions and report them to Google Analytics.
- This class will call <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#dispatchLocalHits()">dispatchLocalHits()</a></code> after calling
- <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code>.
- <p>
- The exact message reported is determined by the <code><a href="/reference/com/google/android/gms/analytics/ExceptionParser.html">ExceptionParser</a></code> set
- via the <code><a href="/reference/com/google/android/gms/analytics/ExceptionReporter.html#setExceptionParser(com.google.android.gms.analytics.ExceptionParser)">setExceptionParser(ExceptionParser)</a></code> method. See <code><a href="/reference/com/google/android/gms/analytics/StandardExceptionParser.html">StandardExceptionParser</a></code>
- for an example of an implementation of <code><a href="/reference/com/google/android/gms/analytics/ExceptionParser.html">ExceptionParser</a></code>.
- <p>
- All exceptions reported via this class will be reported as fatal exceptions.
- <p>
+<p itemprop="articleBody">Used to catch any uncaught exceptions and report them to Google Analytics. This class will call
+ <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#dispatchLocalHits()">dispatchLocalHits()</a></code> after calling <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code>. <p> The exact
+ message reported is determined by the <code><a href="/reference/com/google/android/gms/analytics/ExceptionParser.html">ExceptionParser</a></code> set via the <code><a href="/reference/com/google/android/gms/analytics/ExceptionReporter.html#setExceptionParser(com.google.android.gms.analytics.ExceptionParser)">setExceptionParser(ExceptionParser)</a></code> method. See <code><a href="/reference/com/google/android/gms/analytics/StandardExceptionParser.html">StandardExceptionParser</a></code> for an example of an
+ implementation of <code><a href="/reference/com/google/android/gms/analytics/ExceptionParser.html">ExceptionParser</a></code>. <p> All exceptions reported via this class will be
+ reported as fatal exceptions. <p>
Usage:
<pre>
UncaughtExceptionHandler myHandler = new ExceptionReporter(
myTracker, // Currently used Tracker.
- GAServiceManager.getInstance(), // GAServiceManager singleton.
Thread.getDefaultUncaughtExceptionHandler(), // Current default uncaught exception handler.
context); // Context of the application.
// Make myHandler the new default uncaught exception handler.
Thread.setDefaultUncaughtExceptionHandler(myHandler);
- </pre></p>
+ </pre>
+</p>
diff --git a/docs/html/reference/com/google/android/gms/analytics/GoogleAnalytics.html b/docs/html/reference/com/google/android/gms/analytics/GoogleAnalytics.html
index 64c3f88..6be5003 100644
--- a/docs/html/reference/com/google/android/gms/analytics/GoogleAnalytics.html
+++ b/docs/html/reference/com/google/android/gms/analytics/GoogleAnalytics.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -819,7 +830,7 @@
<div id="jd-header">
public
-
+ final
class
<h1 itemprop="name">GoogleAnalytics</h1>
@@ -874,42 +885,130 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">This class is a singleton that provides methods for controlling global configuration
+<p itemprop="articleBody">The top level Google Analytics singleton that provides methods for configuring Google Analytics
and creating <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> objects.
- <p>
- Applications can get an instance of this class by calling <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#getInstance(android.content.Context)">getInstance(Context)</a></code>.
- Applications can optionally provide a metadata reference to a global configuration
- XML resource file in the <application> element of their AndroidManifest.xml:
- <p>
+ <p> Applications can get an instance of this class by calling <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#getInstance(android.content.Context)">getInstance(Context)</a></code>.
+ <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#getInstance(android.content.Context)">getInstance(Context)</a></code> is thread safe and can be called from any thread. It is recommended that
+ Google Analytics be initialized early in the application lifecycle to correctly report unhandled
+ exceptions.
+ Application.<code><a href="/reference/android/app/Application.html#onCreate()">onCreate()</a></code> is the recommended place for configuring
+ Google Analytics.
+
+ <p>A basic configuration of Google Analytics look like this:
<pre>
- <meta-data
- android:name="com.google.android.gms.analytics.globalConfigResource"
- android:resource="@xml/analytics_global_config" /></pre>
- The configuration file should be stored in the applications res/values/xml directory
- and look like this:
- <p>
+ package com.example;
+
+ class MyApp extends Application {
+ public static GoogleAnalytics analytics;
+ public static Tracker tracker;
+
+ @Overwrite
+ public void onCreate() {
+ analytics = GoogleAnalytics.getInstance(this);
+ analytics.setLocalDispatchPeriod(1800);
+
+ tracker = analytics.newTracker("UA-000-1"); // Replace with actual tracker id
+ tracker.enableExceptionReporting(true);
+ tracker.enableAdvertisingIdCollection(true);
+ tracker.enableAutoActivityTracking(true);
+ }
+ }
+ </pre>
+ Analytics requires INTERNET and ACCESS_NETWORK_STATE permissions. Optionally a WAKE_LOCK
+ permission can be requested to improve dispatching on non-Google Play devices.
+
+ To use a custom application class such as MyApp, it needs to be set in the AndroidManifest as
+ the application name attribute.
+
+ A snippet for common GoogleAnalytics configuration in ApplicationManifest.xml looks
+ like this:
+
+ <pre>
+ <manifest>
+ <!-- Google Analytics required permissions -->
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+ <!-- Optional permission for reliable local dispatching on non-Google Play devices -->
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+
+ <application
+ name="com.example.MyApp"> <!-- Replace with the custom app class when applicable -->
+
+ <!-- Add the following meta-data for devices running Google Play service. -->
+ <meta-data
+ android:name="com.google.android.gms.version"
+ android:value="@integer/google_play_services_version" />
+
+ <!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
+ dispatching on non-Google Play devices -->
+ <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
+ android:enabled="true">
+ <intent-filter>
+ <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
+ </intent-filter>
+ </receiver>
+ <service android:name="com.google.android.gms.analytics.AnalyticsService"
+ android:enabled="true"
+ android:exported="false"/>
+
+ <!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
+ installation campaign reporting -->
+ <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="com.android.vending.INSTALL_REFERRER" />
+ </intent-filter>
+ </receiver>
+ <service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
+
+ <!-- ... -->
+ </application>
+ </manifest>
+ </pre>
+
+ <p>Applications can optionally provide a metadata reference to a global configuration XML
+ resource file in the <application> element of their AndroidManifest.xml:
+
+ <pre>
+ <manifest>
+ <application>
+ <!-- ... -->
+
+ <meta-data
+ android:name="com.google.android.gms.analytics.globalConfigResource"
+ android:resource="@xml/analytics_global_config" />
+
+ <!-- ... -->
+ </application>
+ </manifest>
+ </pre>
+
+ The configuration file should be stored in the applications res/xml directory and it
+ should look like this:
+
<pre>
<?xml version="1.0" encoding="utf-8" ?>
<resources>
- <string name="ga_appName">TestAppName</string>
- <string name="ga_appVersion">Version1.0</string>
- <string name="ga_logLevel">verbose</string>
- <integer name="ga_dispatchPeriod">1000</integer>
- <bool name="ga_dryRun">true</bool>
- </resources></pre>
+ <!-- The application name. Defaults to name specified for the application label -->
+ <string name="ga_appName">My App</string>
- Following is a complete list of globally scoped configuration values that can be specified:
- <ul>
- <li>ga_appName(string) - name of application. Defaults to value found
- in the package.</li>
- <li>ga_appVersion(string) - version of application. Defaults to value
- found in the package.</li>
- <li>ga_dispatchPeriod(integer) - frequency of automatic dispatch (in
- seconds). Default is 1800.</li>
- <li>ga_dryRun(bool) - if true, enable dry run mode. Default is false.</li>
- <li>ga_logLevel(string) - One of "verbose", "info", "warning", "error".</li>
- </ul></p>
+ <!-- The application version. Defaults to android:versionName specified in the
+ AndroidManifest.xml -->
+ <string name="ga_appVersion">1.0</string>
+
+ <!-- The dispatching period in seconds when Google Play services is unavailable. The
+ default period is 1800 seconds or 30 minutes -->
+ <integer name="ga_dispatchPeriod">1800</integer>
+
+ <!-- Enable dry run mode. Default is false -->
+ <bool name="ga_dryRun">false</bool>
+ </resources>
+ </pre>
+
+ <p>ga_logLevel setting is deprecated. See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</p>
@@ -982,9 +1081,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#dispatchLocalHits()">dispatchLocalHits</a></span>()</nobr>
<div class="jd-descrdiv">
- Dispatches queued hits (view, events, or transactions) to Google Analytics
- if a network connection is available, and the local dispatching service is
- in use.
+ Dispatches hits queued in the application store (views, events, or transactions) to Google
+ Analytics if a network connection is available.
@@ -1007,9 +1105,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#enableAutoActivityReports(android.app.Application)">enableAutoActivityReports</a></span>(Application application)</nobr>
<div class="jd-descrdiv">
- On devices running API level 14 (ICE_CREAM_SANDWICH) or above, applications can
- call this method in lieu of making explicit calls to <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code>
- and <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStop(android.app.Activity)">reportActivityStop(Activity)</a></code>.
+ On devices running API level 14 (ICE_CREAM_SANDWICH) or above, applications can call this
+ method in lieu of making explicit calls to <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code> and <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStop(android.app.Activity)">reportActivityStop(Activity)</a></code>.
@@ -1055,7 +1152,7 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#getInstance(android.content.Context)">getInstance</a></span>(Context context)</nobr>
<div class="jd-descrdiv">
- Gets the instance of the <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></code>, creating it if necessary.
+ Gets the instance of the <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></code>, creating it when necessary.
@@ -1078,7 +1175,11 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#getLogger()">getLogger</a></span>()</nobr>
<div class="jd-descrdiv">
- Return the current <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> implementation in use.
+ <em>
+ This method is deprecated.
+ <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface is deprecated. See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for
+ details.
+</em>
@@ -1147,8 +1248,7 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#newTracker(int)">newTracker</a></span>(int configResId)</nobr>
<div class="jd-descrdiv">
- Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance preconfigured with the values specified in
- <code>configResId</code>.
+ Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance preconfigured with the values specified in <code>configResId</code>.
@@ -1172,9 +1272,8 @@
<div class="jd-descrdiv">
Report the start of an <code><a href="/reference/android/app/Activity.html">Activity</a></code>, so that it can be tracked by any <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>s
- that have enabled auto activity tracking (see
- <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAutoActivityTracking(boolean)">enableAutoActivityTracking(boolean)</a></code>.) This will also start a new session if
- necessary.
+ that have enabled auto activity tracking (see <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAutoActivityTracking(boolean)">enableAutoActivityTracking(boolean)</a></code>.)
+ This will also start a new session if necessary.
@@ -1289,7 +1388,11 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#setLogger(com.google.android.gms.analytics.Logger)">setLogger</a></span>(<a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a> logger)</nobr>
<div class="jd-descrdiv">
- Provide a custom implementation of <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> to use.
+ <em>
+ This method is deprecated.
+ <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface is deprecated. See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for
+ details.
+</em>
@@ -1582,11 +1685,10 @@
- <div class="jd-tagdata jd-tagdescr"><p>Dispatches queued hits (view, events, or transactions) to Google Analytics
- if a network connection is available, and the local dispatching service is
- in use. This method only works if local dispatching is in use. Local dispatching is only used
- in the absence of Google Play services on the device. In general, applications should not
- rely on the ability to dispatch hits manually.
+ <div class="jd-tagdata jd-tagdescr"><p>Dispatches hits queued in the application store (views, events, or transactions) to Google
+ Analytics if a network connection is available. This method only works when Google Play
+ service is not available on the device and local dispatching is used. In general,
+ applications should not rely on the ability to dispatch hits manually.
</p></div>
</div>
@@ -1619,17 +1721,16 @@
- <div class="jd-tagdata jd-tagdescr"><p>On devices running API level 14 (ICE_CREAM_SANDWICH) or above, applications can
- call this method in lieu of making explicit calls to <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code>
- and <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStop(android.app.Activity)">reportActivityStop(Activity)</a></code>. This method is a noop if called on a device
- running API level less than 14.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>On devices running API level 14 (ICE_CREAM_SANDWICH) or above, applications can call this
+ method in lieu of making explicit calls to <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code> and <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStop(android.app.Activity)">reportActivityStop(Activity)</a></code>. This method is a noop if called on a device running API level
+ less than 14.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>application</td>
<td>The <code><a href="/reference/android/app/Application.html">Application</a></code> whose activities starts and stops should be
- automatically reported.
+ automatically reported.
</td>
</tr>
</table>
@@ -1698,7 +1799,8 @@
- <div class="jd-tagdata jd-tagdescr"><p>Gets the instance of the <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></code>, creating it if necessary.
+ <div class="jd-tagdata jd-tagdescr"><p>Gets the instance of the <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></code>, creating it when necessary. It is safe to
+ call this method from any thread.
</p></div>
</div>
@@ -1730,11 +1832,16 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface is deprecated. See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for
+ details.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Return the current <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> implementation in use. If no <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> has been set,
a default <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> is provided that logs to <code><a href="/reference/android/util/Log.html">android.util.Log</a></code>
- with <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html">Logger.LogLevel</a></code> set to <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html#WARNING">WARNING</a></code>.
-</p></div>
+ with <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html">Logger.LogLevel</a></code> set to <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html#WARNING">WARNING</a></code>.</p></div>
</div>
</div>
@@ -1799,18 +1906,17 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance with the given <code>trackingId</code>. If the given
- <code>trackingId</code> is not null or empty, it will be set on the tracker and it is ready to
- send hits. Calling newTracker() multiple times with the same <code>trackingId</code> will
- create multiple Tracker objects with the same <code>trackingId</code>.
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance with the given <code>trackingId</code>. If the given <code>trackingId</code> is not null or empty, it will be set on the tracker and it is ready to send hits.
+ Calling newTracker() multiple times with the same <code>trackingId</code> will create multiple
+ Tracker objects with the same <code>trackingId</code>.
- If the <code>trackingId</code> is empty, you can still get a tracker, but you must
- set the tracking id before sending any hits. This is useful if you do not know the tracking
- id at the time of tracker creation, or if you want to use the same tracker instance to track
- multiple tracking ids. Using the same instance to track multiple tracking ids is not
- recommended since you need to be careful about not mixing the data you are sending to
- multiple profiles. It can be useful if you have a lot of tracking ids and you want to avoid
- object creation overhead involved in instantiating one tracker per tracking id.</p></div>
+ If the <code>trackingId</code> is empty, you can still get a tracker, but you must set the
+ tracking id before sending any hits. This is useful if you do not know the tracking id at the
+ time of tracker creation, or if you want to use the same tracker instance to track multiple
+ tracking ids. Using the same instance to track multiple tracking ids is not recommended since
+ you need to be careful about not mixing the data you are sending to multiple profiles. It can
+ be useful if you have a lot of tracking ids and you want to avoid object creation overhead
+ involved in instantiating one tracker per tracking id.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1852,24 +1958,24 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance preconfigured with the values specified in
- <code>configResId</code>. Calling newTracker() multiple times with the same
- <code>trackingId</code> will create multiple Tracker objects with the same configuration.
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> instance preconfigured with the values specified in <code>configResId</code>. Calling newTracker() multiple times with the same <code>trackingId</code> will
+ create multiple Tracker objects with the same configuration.
- If the <code>trackingId</code> is empty, you can still get a tracker, but you must
- set the tracking id before sending any hits. This is useful if you do not know the tracking
- id at the time of tracker creation, or if you want to use the same tracker instance to track
- multiple tracking ids. Using the same instance to track multiple tracking ids is not
- recommended since you need to be careful about not mixing the data you are sending to
- multiple profiles. It can be useful if you have a lot of tracking ids and you want to avoid
- object creation overhead involved in instantiating one tracker per tracking id.</p></div>
+ If the <code>trackingId</code> is empty, you can still get a tracker, but you must set the
+ tracking id before sending any hits. This is useful if you do not know the tracking id at the
+ time of tracker creation, or if you want to use the same tracker instance to track multiple
+ tracking ids. Using the same instance to track multiple tracking ids is not recommended since
+ you need to be careful about not mixing the data you are sending to multiple profiles. It can
+ be useful if you have a lot of tracking ids and you want to avoid object creation overhead
+ involved in instantiating one tracker per tracking id.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>configResId</td>
<td>The resource id of your tracker configuration file. See <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>
- for more information about what configuration elements can be included in that file.
+ for more information about what configuration elements can be included in
+ that file.
</td>
</tr>
</table>
@@ -1906,13 +2012,12 @@
<div class="jd-tagdata jd-tagdescr"><p>Report the start of an <code><a href="/reference/android/app/Activity.html">Activity</a></code>, so that it can be tracked by any <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>s
- that have enabled auto activity tracking (see
- <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAutoActivityTracking(boolean)">enableAutoActivityTracking(boolean)</a></code>.) This will also start a new session if
- necessary. This method should be called from the <code><a href="/reference/android/app/Activity.html#onStart()">onStart()</a></code> method in each
- <code><a href="/reference/android/app/Activity.html">Activity</a></code> in your application that you'd like to track.
+ that have enabled auto activity tracking (see <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAutoActivityTracking(boolean)">enableAutoActivityTracking(boolean)</a></code>.)
+ This will also start a new session if necessary. This method should be called from the <code><a href="/reference/android/app/Activity.html#onStart()">onStart()</a></code> method in each <code><a href="/reference/android/app/Activity.html">Activity</a></code> in your application that you'd like to
+ track.
- If auto activity reports are enabled (see <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#enableAutoActivityReports(android.app.Application)">enableAutoActivityReports(Application)</a></code>)
- on a device running API level 14 or above, this method will be a noop.</p></div>
+ If auto activity reports are enabled (see <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#enableAutoActivityReports(android.app.Application)">enableAutoActivityReports(Application)</a></code>) on
+ a device running API level 14 or above, this method will be a noop.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1954,13 +2059,11 @@
- <div class="jd-tagdata jd-tagdescr"><p>Report the end of an <code><a href="/reference/android/app/Activity.html">Activity</a></code>. Note that this method should be called
- from the <code><a href="/reference/android/app/Activity.html#onStop()">onStop()</a></code> method in each <code><a href="/reference/android/app/Activity.html">Activity</a></code> in your application
- that you'd like to track. For proper operation, this method must be called in all
- Activities where <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code> is called.
+ <div class="jd-tagdata jd-tagdescr"><p>Report the end of an <code><a href="/reference/android/app/Activity.html">Activity</a></code>. Note that this method should be called from the <code><a href="/reference/android/app/Activity.html#onStop()">onStop()</a></code> method in each <code><a href="/reference/android/app/Activity.html">Activity</a></code> in your application that you'd like to
+ track. For proper operation, this method must be called in all Activities where <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#reportActivityStart(android.app.Activity)">reportActivityStart(Activity)</a></code> is called.
- If auto activity reports are enabled (see <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#enableAutoActivityReports(android.app.Application)">enableAutoActivityReports(Application)</a></code>)
- on a device running API level 14 or above, this method will be a noop.</p></div>
+ If auto activity reports are enabled (see <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#enableAutoActivityReports(android.app.Application)">enableAutoActivityReports(Application)</a></code>) on
+ a device running API level 14 or above, this method will be a noop.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -2047,10 +2150,8 @@
<div class="jd-tagdata jd-tagdescr"><p>Toggles dry run mode. In dry run mode, the normal code paths are executed locally, but hits
- are not sent to Google Analytics servers. This is useful for debugging calls to the
- Google Analytics SDK without polluting recorded data.
- <p>
- By default, this flag is disabled.
+ are not sent to Google Analytics servers. This is useful for debugging calls to the Google
+ Analytics SDK without polluting recorded data. <p> By default, this flag is disabled.
</p></div>
</div>
@@ -2083,10 +2184,9 @@
- <div class="jd-tagdata jd-tagdescr"><p>Sets dispatch period for the local dispatcher.
- The dispatcher will check for hits to dispatch every <code>dispatchPeriod</code>
- seconds. If zero or a negative dispatch period is given, automatic dispatch will
- not be enabled, and the application will need to dispatch events
+ <div class="jd-tagdata jd-tagdescr"><p>Sets dispatch period for the local dispatcher. The dispatcher will check for hits to dispatch
+ every <code>dispatchPeriod</code> seconds. If zero or a negative dispatch period is given,
+ automatic dispatch will be disabled, and the application will need to dispatch events
manually using <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#dispatchLocalHits()">dispatchLocalHits()</a></code>.
This method only works if local dispatching is in use. Local dispatching is only used in the
@@ -2097,7 +2197,7 @@
<table class="jd-tagtable">
<tr>
<th>dispatchPeriodInSeconds</td>
- <td>the new dispatch period
+ <td>the new dispatch period in seconds
</td>
</tr>
</table>
@@ -2132,16 +2232,22 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Provide a custom implementation of <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> to use. This custom <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code>
- will replace a default <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> that logs to <code><a href="/reference/android/util/Log.html">android.util.Log</a></code>.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface is deprecated. See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for
+ details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Return the current <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> implementation in use. If no <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> has been set,
+ a default <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> is provided that logs to <code><a href="/reference/android/util/Log.html">android.util.Log</a></code>
+ with <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html">Logger.LogLevel</a></code> set to <code><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html#WARNING">WARNING</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>logger</td>
- <td>The <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> implementation to use for logging.
-</td>
+ <td>The <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> implementation to use for logging.</td>
</tr>
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.AppViewBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.AppViewBuilder.html
index fe6d903..5fb36b3 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.AppViewBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.AppViewBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html
index 45fe354..eb5b315 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ExceptionBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ExceptionBuilder.html
index b94e39b..a966a5c 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ExceptionBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ExceptionBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.HitBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.HitBuilder.html
index d32dc60..1c237c5 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.HitBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.HitBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ItemBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ItemBuilder.html
index 9a0b69c..42f4d7d 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ItemBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ItemBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html
index 1a2b8af..1228e19 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.SocialBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.SocialBuilder.html
index 5543a33..148c7f6 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.SocialBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.SocialBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TimingBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TimingBuilder.html
index d7ec518..3021c5f5 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TimingBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TimingBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TransactionBuilder.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TransactionBuilder.html
index 3dec2b3..1adfea6 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TransactionBuilder.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.TransactionBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.html b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.html
index 2efad4e..3bc0256 100644
--- a/docs/html/reference/com/google/android/gms/analytics/HitBuilders.html
+++ b/docs/html/reference/com/google/android/gms/analytics/HitBuilders.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/Logger.LogLevel.html b/docs/html/reference/com/google/android/gms/analytics/Logger.LogLevel.html
index 3b4f859..a556b33 100644
--- a/docs/html/reference/com/google/android/gms/analytics/Logger.LogLevel.html
+++ b/docs/html/reference/com/google/android/gms/analytics/Logger.LogLevel.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -874,12 +885,15 @@
<div class="jd-descr">
+<p>
+ <p class="caution"><strong>
+ This class is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+ </p>
<h2>Class Overview</h2>
-<p itemprop="articleBody">Log level settings. The log level is provided to the <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code>
- through the <code><a href="/reference/com/google/android/gms/analytics/Logger.html#setLogLevel(int)">setLogLevel(int)</a></code> method.
-</p>
+<p itemprop="articleBody">Log level settings. The log level is provided to the <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> through the <code><a href="/reference/com/google/android/gms/analytics/Logger.html#setLogLevel(int)">setLogLevel(int)</a></code> method.</p>
diff --git a/docs/html/reference/com/google/android/gms/analytics/Logger.html b/docs/html/reference/com/google/android/gms/analytics/Logger.html
index b1e408c..4fe88c1 100644
--- a/docs/html/reference/com/google/android/gms/analytics/Logger.html
+++ b/docs/html/reference/com/google/android/gms/analytics/Logger.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -829,13 +840,31 @@
<div class="jd-descr">
+<p>
+ <p class="caution"><strong>
+ This interface is deprecated.</strong><br/>
+ Logger interface is deprecated. Use <code>adb shell setprop log.tag.GAv4 DEBUG</code> to
+ enable debug logging for Google Analytics.
+ </p>
<h2>Class Overview</h2>
-<p itemprop="articleBody">Interface to be used for logging debug and informational messages from the SDK.
- Implementations of this interface can be provided to the <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></code>
- singleton to be used as the <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> for general use by the SDK.
- See <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#setLogger(com.google.android.gms.analytics.Logger)">setLogger(Logger)</a></code>.</p>
+<p itemprop="articleBody">Deprecated Analytics Logger interface. Google Analytics will log to logcat under
+ <b>GAv4</b> tag using Android <code><a href="/reference/android/util/Log.html">Log</a></code> system. By default only ERROR, WARN
+ and INFO levels are enabled. To enable DEBUG level run the following adb command on your
+ device or emulator:
+
+ <br><br>
+ <pre>adb shell setprop log.tag.GAv4 DEBUG</pre>
+
+ <br> To see only Google Analytics messages from logcat use the following command:
+
+ <br><br>
+ <pre>adb logcat -v time -s GAv4</pre>
+
+ <br> For more information consult the
+ <a href="http://developer.android.com/tools/help/logcat.html">logcat</a> and
+ <a href="http://developer.android.com/tools/help/adb.html">adb</a> developer documentation.</p>
@@ -879,7 +908,10 @@
class</nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html">Logger.LogLevel</a></td>
<td class="jd-descrcol" width="100%">
- Log level settings.
+ <em>
+ This class is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -933,7 +965,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#error(java.lang.String)">error</a></span>(String message)</nobr>
<div class="jd-descrdiv">
- Used to log runtime errors or unexpected conditions.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -956,7 +991,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#error(java.lang.Exception)">error</a></span>(Exception exception)</nobr>
<div class="jd-descrdiv">
- Used to log runtime errors or unexpected conditions.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -979,7 +1017,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#getLogLevel()">getLogLevel</a></span>()</nobr>
<div class="jd-descrdiv">
- Return the current log level.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1002,8 +1043,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#info(java.lang.String)">info</a></span>(String message)</nobr>
<div class="jd-descrdiv">
- Used to log information on the flow through the system and other interesting
- events.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1026,7 +1069,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#setLogLevel(int)">setLogLevel</a></span>(int level)</nobr>
<div class="jd-descrdiv">
- Set the log level.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1049,7 +1095,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#verbose(java.lang.String)">verbose</a></span>(String message)</nobr>
<div class="jd-descrdiv">
- Used to log detailed information.
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1072,8 +1121,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Logger.html#warn(java.lang.String)">warn</a></span>(String message)</nobr>
<div class="jd-descrdiv">
- Used in situations like use of deprecated APIs, poor use of API, near errors, other runtime
- situations that are undesirable or unexpected, but not necessarily "wrong".
+ <em>
+ This method is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1155,16 +1206,20 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Used to log runtime errors or unexpected conditions. These errors will likely result in
- data not being sent to the GA servers.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Used to log runtime errors or unexpected conditions. These errors will likely result in data
+ not being sent to the GA servers.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>message</td>
- <td>A string describing the error that occurred.
-</td>
+ <td>A string describing the error that occurred.</td>
</tr>
</table>
</div>
@@ -1198,16 +1253,20 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Used to log runtime errors or unexpected conditions. These errors will likely result in
- data not being sent to the GA servers.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Used to log runtime errors or unexpected conditions. These errors will likely result in data
+ not being sent to the GA servers.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>exception</td>
- <td>The exception that was thrown that caused the error.
-</td>
+ <td>The exception that was thrown that caused the error.</td>
</tr>
</table>
</div>
@@ -1241,9 +1300,13 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Return the current log level.
-</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Return the current log level.</p></div>
</div>
</div>
@@ -1274,16 +1337,19 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Used to log information on the flow through the system and other interesting
- events.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Used to log information on the flow through the system and other interesting events.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>message</td>
- <td>the message to log
-</td>
+ <td>the message to log</td>
</tr>
</table>
</div>
@@ -1317,9 +1383,13 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Set the log level. It is up to the implementation how the log level is used, but log
- messages outside the set log level should not be output.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p><code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> is deprecated. Setting log level is ignored.</p></div>
</div>
</div>
@@ -1350,16 +1420,20 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Used to log detailed information. This information will probably only be useful
- during development and debugging.</p></div>
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Used to log detailed information. This information will probably only be useful during
+ development and debugging.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>message</td>
- <td>the message to log
-</td>
+ <td>the message to log</td>
</tr>
</table>
</div>
@@ -1393,7 +1467,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Used in situations like use of deprecated APIs, poor use of API, near errors, other runtime
situations that are undesirable or unexpected, but not necessarily "wrong".</p></div>
<div class="jd-tagdata">
@@ -1401,8 +1480,7 @@
<table class="jd-tagtable">
<tr>
<th>message</td>
- <td>the message to log
-</td>
+ <td>the message to log</td>
</tr>
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/analytics/StandardExceptionParser.html b/docs/html/reference/com/google/android/gms/analytics/StandardExceptionParser.html
index fd713a6..d4158de 100644
--- a/docs/html/reference/com/google/android/gms/analytics/StandardExceptionParser.html
+++ b/docs/html/reference/com/google/android/gms/analytics/StandardExceptionParser.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -905,7 +916,8 @@
Exception class(@classname:methodname){threadname}.
<p>
See <code><a href="/reference/com/google/android/gms/analytics/StandardExceptionParser.html#getBestStackTraceElement(java.lang.Throwable)">getBestStackTraceElement(Throwable)</a></code> and <code><a href="/reference/com/google/android/gms/analytics/StandardExceptionParser.html#setIncludedPackages(android.content.Context, java.util.Collection<java.lang.String>)">setIncludedPackages(Context, Collection<String>)</a></code> for
- details.</p>
+ details.
+</p>
diff --git a/docs/html/reference/com/google/android/gms/analytics/Tracker.html b/docs/html/reference/com/google/android/gms/analytics/Tracker.html
index 2629304..aec9829 100644
--- a/docs/html/reference/com/google/android/gms/analytics/Tracker.html
+++ b/docs/html/reference/com/google/android/gms/analytics/Tracker.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -874,81 +885,69 @@
<h2>Class Overview</h2>
-<p itemprop="articleBody">Class to send tracking hits to Google Analytics. You can get an instance of this class
- by calling <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#newTracker(int)">newTracker(int)</a></code>. A Tracker must be initialized with a tracking id
- of an app profile before you can send any hits. You can change the id to send hits to
- a different profile. Use this class to set values for measurement protocol parameters using the
- setXYZ() methods. A param value set using <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code> method is sent with
- all subsequent hits until you overwrite it with another value or clear it by setting it
- to <code>null</code>. You can also override it by specifying a different value in a
- <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> call. The values passed in the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> are sent only with that hit.
- The following example uses the <code><a href="/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html">HitBuilders.EventBuilder</a></code> helper class to build a param map
- to pass to the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> method.
- <p>
+<p itemprop="articleBody">Composes and sends hits to Google Analytics. You can get an instance of this class by calling
+ <code><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html#newTracker(int)">newTracker(int)</a></code>. A Tracker must be initialized with a tracking id of an app
+ profile before you can send any hits. Use this class to set values for measurement protocol
+ parameters using the provided set methods. A param value set using <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code> method is sent
+ with all subsequent hits until you overwrite it with another value or clear it by setting it to
+ <code>null</code>. You can also override it by specifying a different value in a <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> call.
+ The values passed in the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> are sent only with that hit. The following example uses
+ the <code><a href="/reference/com/google/android/gms/analytics/HitBuilders.EventBuilder.html">HitBuilders.EventBuilder</a></code> helper class to build a param map to pass to the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#send(java.util.Map<java.lang.String, java.lang.String>)">send(Map<String, String>)</a></code> method. <p>
<pre>
- Tracker t = GoogleAnalytics.getInstance(context).newTracker(trackingId);
- t.setScreenName(screenName);
- t.send(new HitBuilders.EventBuilder()
+ GoogleAnalytics analytics = GoogleAnalytics.getInstance(context);
+ Tracker tracker = analytics.newTracker("UA-000-1"); // Send hits to tracker id UA-000-1
+
+ // All subsequent hits will be send with screen name = "main screen"
+ tracker.setScreenName("main screen");
+
+ tracker.send(new HitBuilders.EventBuilder()
.setCategory("UX")
.setAction("click")
- .setLabel("someButtonName")
+ .setLabel("submit")
.build());
- t.send(new HitBuilders.EventBuilder()
+
+ // Builder parameters can overwrite the screen name set on the tracker
+ tracker.send(new HitBuilders.EventBuilder()
.setCategory("UX")
.setAction("click")
- .setLabel("somePopupAction")
- .setScreenName("popupDialogName")
- .build());
- </pre>
- A <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> can also be initialized with configuration values from an XML
- resource file like this:
- <p>
+ .setLabel("help popup")
+ .setScreenName("help popup dialog")
+ .build());</pre>
+ A <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> can also be initialized with configuration values from an XML resource file
+ like this:
<pre>
- Tracker t = GoogleAnalytics.getInstance(ctx).newTracker(R.xml.tracker_config);</pre>
- Where R.xml.tracker_config is the resource id for an XML configuration file. The file
- should be stored in the app's res/values/xml/ directory and look like this:
- <p>
+ Tracker tracker = analytics.newTracker(R.xml.tracker_config);</pre>
+ Where R.xml.tracker_config is the resource id for an XML configuration file. The file should be
+ stored in the app's res/xml/ directory and look like this: <p>
<pre>
<?xml version="1.0" encoding="utf-8" ?>
<resources>
- <screenName name="com.google.foo.FirstActivity">
- First Activity
- </screenName>
- <screenName name="com.google.foo.AnotherActivity">
- Another Activity
- </screenName>
- <string name="ga_trackingId">UA-XXXX-Y</string>
- <string name="ga_sampleFrequency">99.8</string>
- <integer name="ga_sessionTimeout">2000</integer>
+ <string name="ga_trackingId">UA-0000-1</string>
+ <string name="ga_sampleFrequency">100.0</string>
+ <integer name="ga_sessionTimeout">1800</integer>
<bool name="ga_autoActivityTracking">true</bool>
- <bool name="ga_anonymizeIp">true</bool>
+ <bool name="ga_anonymizeIp">false</bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
+
+ <screenName name="com.example.MainActivity">Home Screen</screenName>
+ <screenName name="com.example.SecondActivity">Second Screen</screenName>
</resources></pre>
- Here is a complete list of tracker scoped configuration values that can be specified:
- <ul>
- <li>ga_trackingId(string) - tracking Id to report against. Required</li>
- <li>ga_sampleFrequency(string) - sample rate to use. Default is 100.0. It
- can be any value between 0.0 and 100.0</li>
- <li>ga_autoActivityTracking(bool) - if true, views (Activities) will be
- tracked. Default is false.</li>
- <li>ga_anonymizeIp(bool) - if true, anonymizeIp will be set for each hit.
- Default is false.</li>
- <li>ga_reportUncaughtExceptions(bool) - if true, uncaught exceptions will
- be tracked. Default is false. NOTE: This value can only be set to true
- for a single Tracker. If specified for multiple Trackers, then the last
- one to be initialized will be used.</li>
- <li>ga_sessionTimeout(int) - time (in seconds) an app can stay in the
- background before a new session is started. Setting this to a negative
- number will result in a new session never being started. Default is 30
- seconds.</li>
- </ul>
- <p>
- If ga_autoActivityTracking is enabled, an alternate screen name can be specified to substitute
- for the full length canonical <code><a href="/reference/android/app/Activity.html">Activity</a></code> name in screen view hit. In order to
- specify an alternate screen name use an <screenName> element, with
- the name attribute specifying the canonical name, and the value the alias to use instead.
+ The following tracker configuration values can be specified: <ul> <li>ga_trackingId(string) -
+ tracking id to send the reports to. Required.</li> <li>ga_sampleFrequency(string) - sampling rate
+ in percents. Default is 100.0. It can be any value between 0.0 and 100.0.</li>
+ <li>ga_autoActivityTracking(bool) - if true, views (Activities) will be tracked. Default is
+ false.</li> <li>ga_anonymizeIp(bool) - if true, anonymizeIp will be set for each hit. Default is
+ false.</li> <li>ga_reportUncaughtExceptions(bool) - if true, uncaught exceptions will be tracked.
+ Default is false. NOTE: This value can only be set to true for a single Tracker. If specified for
+ multiple Trackers, then the last one to be initialized will be used.</li>
+ <li>ga_sessionTimeout(int) - time (in seconds) an app can stay in the background before a new
+ session is started. Setting this to a negative number will result in a new session never being
+ started. Default is 1800 seconds (30 minutes).</li> </ul> <p> If ga_autoActivityTracking is
+ enabled, an alternate screen name can be specified to substitute for the full canonical <code><a href="/reference/android/app/Activity.html">Activity</a></code> class name. In order to specify an alternate screen name use an <screenName>
+ element, with the name attribute specifying the full class name, and the screen name as element
+ content.
<pre>
- <screenName name="com.google.foo.SampleActivity">Sample Activity</screenName></pre>
+ <screenName name="com.example.MainActivity">Home Screen</screenName></pre>
</p>
@@ -1022,8 +1021,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAdvertisingIdCollection(boolean)">enableAdvertisingIdCollection</a></span>(boolean enabled)</nobr>
<div class="jd-descrdiv">
- Sets whether the advertising id and ad targeting preference should be collected while
- sending hits to GA servers.
+ Sets whether the advertising id and ad targeting preference should be collected while sending
+ hits to GA servers.
@@ -1046,8 +1045,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Tracker.html#enableAutoActivityTracking(boolean)">enableAutoActivityTracking</a></span>(boolean enabled)</nobr>
<div class="jd-descrdiv">
- Specify whether <code><a href="/reference/android/app/Activity.html">Activity</a></code> starts should automatically generate
- screen views from this <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>.
+ Specify whether <code><a href="/reference/android/app/Activity.html">Activity</a></code> starts should automatically generate screen
+ views from this <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>.
@@ -1505,8 +1504,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/analytics/Tracker.html#setSessionTimeout(long)">setSessionTimeout</a></span>(long sessionTimeout)</nobr>
<div class="jd-descrdiv">
- Specify the time (in seconds) an app can stay in the background before a
- new session is started.
+ Specify the time (in seconds) an app can stay in the background before a new session is
+ started.
@@ -1854,9 +1853,9 @@
- <div class="jd-tagdata jd-tagdescr"><p>Sets whether the advertising id and ad targeting preference should be collected while
- sending hits to GA servers. The collection of advertising id and the ad targeting preference
- is disabled by default and needs to be turned on for mobile audience features and any other
+ <div class="jd-tagdata jd-tagdescr"><p>Sets whether the advertising id and ad targeting preference should be collected while sending
+ hits to GA servers. The collection of advertising id and the ad targeting preference is
+ disabled by default and needs to be turned on for mobile audience features and any other
features that require advertising id.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
@@ -1899,8 +1898,8 @@
- <div class="jd-tagdata jd-tagdescr"><p>Specify whether <code><a href="/reference/android/app/Activity.html">Activity</a></code> starts should automatically generate
- screen views from this <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Specify whether <code><a href="/reference/android/app/Activity.html">Activity</a></code> starts should automatically generate screen
+ views from this <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1942,10 +1941,10 @@
- <div class="jd-tagdata jd-tagdescr"><p>Enables or disables uncaught exception reporting for a given tracker.
- This method is equivalent to using 'ga_reportUncaughtExceptions' in the tracker configuration
- file. Note that as with the configuration setting, only the uncaught exceptions are reported
- using this method.
+ <div class="jd-tagdata jd-tagdescr"><p>Enables or disables uncaught exception reporting for a given tracker. This method is
+ equivalent to using 'ga_reportUncaughtExceptions' in the tracker configuration file. Note
+ that as with the configuration setting, only the uncaught exceptions are reported using this
+ method.
</p></div>
</div>
@@ -2021,9 +2020,9 @@
<tr>
<th>params</td>
<td>map of hit data to values which are merged with the existing values which are
- already set (using <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code>). Values in this map will override the values set earlier.
- The values in this map will not be reused for the subsequent hits. If you need to send a
- value in multiple hits, you can use the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code> method.
+ already set (using <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code>). Values in this map will override the values
+ set earlier. The values in this map will not be reused for the subsequent hits.
+ If you need to send a value in multiple hits, you can use the <code><a href="/reference/com/google/android/gms/analytics/Tracker.html#set(java.lang.String, java.lang.String)">set(String, String)</a></code> method.
</td>
</tr>
</table>
@@ -2067,12 +2066,13 @@
<tr>
<th>key</td>
<td>The key of the field that needs to be set. It starts with "&" followed by the
- parameter name. The complete list of fields can be found at http://goo.gl/M6dK2U.</td>
+ parameter name. The complete list of fields can be found at
+ http://goo.gl/M6dK2U.</td>
</tr>
<tr>
<th>value</td>
<td>A string value to be sent to Google servers. A null value denotes that the value
- should not be sent over wire.
+ should not be sent over wire.
</td>
</tr>
</table>
@@ -2313,34 +2313,24 @@
- <div class="jd-tagdata jd-tagdescr"><p>Includes the campaign parameters contained in the URI referrer in the next hit.
- If there is no referrer, or the referrer does not contain campaign parameters,
- this method does not add anything to the next hit.
+ <div class="jd-tagdata jd-tagdescr"><p>Includes the campaign parameters contained in the URI referrer in the next hit. If there is
+ no referrer, or the referrer does not contain campaign parameters, this method does not add
+ anything to the next hit.
<p>Use this method to track in-app events driven by advertising with deep linking
campaigns.</p>
- <p>Valid campaign parameters are:
- <ul>
- <li>utm_id</li>
- <li>utm_campaign</li>
- <li>utm_content</li>
- <li>utm_medium</li>
- <li>utm_source</li>
- <li>utm_term</li>
- <li>dclid</li>
- <li>gclid</li>
- </ul>
- <p>
- Example:
- http://my.site.com/index.html?referrer=utm_source%3Dsource%26utm_campaign%3Dwow</p></div>
+ <p>Valid campaign parameters are: <ul> <li>utm_id</li> <li>utm_campaign</li>
+ <li>utm_content</li> <li>utm_medium</li> <li>utm_source</li> <li>utm_term</li> <li>dclid</li>
+ <li>gclid</li> </ul> <p>
+
+ Example: http://my.site.com/index.html?referrer=utm_source%3Dsource%26utm_campaign%3Dwow</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>uri</td>
<td>the uri containing the referrer
-
</td>
</tr>
</table>
@@ -2376,9 +2366,9 @@
- <div class="jd-tagdata jd-tagdescr"><p>Sets a particular client Id for the device. This Id should be a valid UUID (version 4)
- string as described in http://goo.gl/0dlrGx. If not specified, the SDK automatically
- generates one for you and sets it.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Sets a particular client Id for the device. This Id should be a valid UUID (version 4) string
+ as described in http://goo.gl/0dlrGx. If not specified, the SDK automatically generates one
+ for you and sets it.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -2624,15 +2614,15 @@
- <div class="jd-tagdata jd-tagdescr"><p>Set the sample rate for all hits generated by the app. The sampling is done at app level.
- The default value is 100. To enable sampling, the minimum rate required is 0.01%.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Set the sample rate for all hits generated by the app. The sampling is done at app level. The
+ default value is 100. To enable sampling, the minimum rate required is 0.01%.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>sampleRate</td>
- <td>A value between 0 and 100, specifying the
- percentage of devices that should send hits.
+ <td>A value between 0 and 100, specifying the percentage of devices that should
+ send hits.
</td>
</tr>
</table>
@@ -2780,9 +2770,9 @@
- <div class="jd-tagdata jd-tagdescr"><p>Specify the time (in seconds) an app can stay in the background before a
- new session is started. Setting this to a negative number will result in
- a new session never being started. Default is 30 seconds.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Specify the time (in seconds) an app can stay in the background before a new session is
+ started. Setting this to a negative number will result in a new session never being started.
+ Default is 30 seconds.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
diff --git a/docs/html/reference/com/google/android/gms/analytics/ecommerce/Product.html b/docs/html/reference/com/google/android/gms/analytics/ecommerce/Product.html
index e6d0ae6..c26ec77 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ecommerce/Product.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ecommerce/Product.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1238,6 +1249,22 @@
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/ecommerce/Product.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
</table>
@@ -2049,6 +2076,38 @@
</div>
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/analytics/ecommerce/ProductAction.html b/docs/html/reference/com/google/android/gms/analytics/ecommerce/ProductAction.html
index 7636fde..561815a 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ecommerce/ProductAction.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ecommerce/ProductAction.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1343,6 +1354,22 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/ecommerce/ProductAction.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
</table>
@@ -2514,6 +2541,38 @@
</div>
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/analytics/ecommerce/Promotion.html b/docs/html/reference/com/google/android/gms/analytics/ecommerce/Promotion.html
index 17db88a..6ec0dcc 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ecommerce/Promotion.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ecommerce/Promotion.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1104,6 +1115,22 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/ecommerce/Promotion.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
</table>
@@ -1673,6 +1700,38 @@
</div>
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/analytics/ecommerce/package-summary.html b/docs/html/reference/com/google/android/gms/analytics/ecommerce/package-summary.html
index dc47fc5..7ca0b68 100644
--- a/docs/html/reference/com/google/android/gms/analytics/ecommerce/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/analytics/ecommerce/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/analytics/package-summary.html b/docs/html/reference/com/google/android/gms/analytics/package-summary.html
index 743c841..59826ac 100644
--- a/docs/html/reference/com/google/android/gms/analytics/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/analytics/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -818,7 +829,11 @@
<tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></td>
<td class="jd-descrcol" width="100%">
- Interface to be used for logging debug and informational messages from the SDK.
+ <em>
+ This interface is deprecated.
+ Logger interface is deprecated. Use <code>adb shell setprop log.tag.GAv4 DEBUG</code> to
+ enable debug logging for Google Analytics.
+</em>
@@ -853,7 +868,7 @@
<tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/AnalyticsService.html">AnalyticsService</a></td>
<td class="jd-descrcol" width="100%">
- An <code><a href="/reference/android/app/IntentService.html">IntentService</a></code> used by Google Analytics.
+ An <code><a href="/reference/android/app/Service.html">Service</a></code> used by Google Analytics.
@@ -864,8 +879,7 @@
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">CampaignTrackingReceiver</a></td>
<td class="jd-descrcol" width="100%">
- The Google Play <code>com.android.vending.INSTALL_REFERRER</code> <code><a href="/reference/android/content/Intent.html">Intent</a></code> is broadcast when an
- app is installed from the Google Play Store and has campaign data available (i.e.
+ Google Analytics receiver for <code>com.android.vending.INSTALL_REFERRER</code>.
@@ -876,7 +890,7 @@
<tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html">CampaignTrackingService</a></td>
<td class="jd-descrcol" width="100%">
- IntentService for handling the Google Play Store's INSTALL_REFERRER intent.
+ Service for processing Google Play Store's INSTALL_REFERRER intent.
@@ -898,7 +912,7 @@
<tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/GoogleAnalytics.html">GoogleAnalytics</a></td>
<td class="jd-descrcol" width="100%">
- This class is a singleton that provides methods for controlling global configuration
+ The top level Google Analytics singleton that provides methods for configuring Google Analytics
and creating <code><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></code> objects.
@@ -1036,7 +1050,10 @@
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/Logger.LogLevel.html">Logger.LogLevel</a></td>
<td class="jd-descrcol" width="100%">
- Log level settings.
+ <em>
+ This class is deprecated.
+ See <code><a href="/reference/com/google/android/gms/analytics/Logger.html">Logger</a></code> interface for details.
+</em>
@@ -1059,7 +1076,7 @@
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/analytics/Tracker.html">Tracker</a></td>
<td class="jd-descrcol" width="100%">
- Class to send tracking hits to Google Analytics.
+ Composes and sends hits to Google Analytics.
diff --git a/docs/html/reference/com/google/android/gms/appindexing/Action.Builder.html b/docs/html/reference/com/google/android/gms/appindexing/Action.Builder.html
index 95001f4..69bc448 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/Action.Builder.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/Action.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/Action.html b/docs/html/reference/com/google/android/gms/appindexing/Action.html
index 9558f9a..4d98a44 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/Action.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/Action.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1014,6 +1025,18 @@
<tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_ACTIVATE">TYPE_ACTIVATE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of starting or activating a device or application.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_ADD">TYPE_ADD</a></td>
<td class="jd-descrcol" width="100%">
The act of editing by adding an object to a collection.
@@ -1024,7 +1047,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_BOOKMARK">TYPE_BOOKMARK</a></td>
<td class="jd-descrcol" width="100%">
@@ -1036,8 +1059,33 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_COMMUNICATE">TYPE_COMMUNICATE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of conveying information to another person via a communication medium (instrument)
+ such as speech, email, or telephone conversation.
+
+
+
+ </td>
+ </tr>
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_FILM">TYPE_FILM</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of capturing sound and moving images on film, video, or digitally.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_LIKE">TYPE_LIKE</a></td>
<td class="jd-descrcol" width="100%">
The act of liking an object.
@@ -1048,7 +1096,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_LISTEN">TYPE_LISTEN</a></td>
<td class="jd-descrcol" width="100%">
@@ -1060,6 +1108,42 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_PHOTOGRAPH">TYPE_PHOTOGRAPH</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of capturing still images of objects using a camera.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_RESERVE">TYPE_RESERVE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of making a reservation at a business such as a restaurant.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_SEARCH">TYPE_SEARCH</a></td>
+ <td class="jd-descrcol" width="100%">
+ The act of searching for an object.
+
+
+
+ </td>
+ </tr>
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/appindexing/Action.html#TYPE_VIEW">TYPE_VIEW</a></td>
@@ -1532,6 +1616,46 @@
+<A NAME="TYPE_ACTIVATE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_ACTIVATE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of starting or activating a device or application. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/ActivateAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="TYPE_ADD"></A>
<div class="jd-details api apilevel-">
@@ -1612,6 +1736,88 @@
+<A NAME="TYPE_COMMUNICATE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_COMMUNICATE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of conveying information to another person via a communication medium (instrument)
+ such as speech, email, or telephone conversation.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/CommunicateAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="TYPE_FILM"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_FILM
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of capturing sound and moving images on film, video, or digitally. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/FilmAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="TYPE_LIKE"></A>
<div class="jd-details api apilevel-">
@@ -1692,6 +1898,126 @@
+<A NAME="TYPE_PHOTOGRAPH"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_PHOTOGRAPH
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of capturing still images of objects using a camera. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/PhotographAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="TYPE_RESERVE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_RESERVE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of making a reservation at a business such as a restaurant. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/ReserveAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="TYPE_SEARCH"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ TYPE_SEARCH
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The act of searching for an object. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "http://schema.org/SearchAction"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="TYPE_VIEW"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/AndroidAppUri.html b/docs/html/reference/com/google/android/gms/appindexing/AndroidAppUri.html
index 2ff5158..1b3fd8e3 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/AndroidAppUri.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/AndroidAppUri.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/AppIndex.html b/docs/html/reference/com/google/android/gms/appindexing/AppIndex.html
index 5594e65..0eab0f9 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/AppIndex.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/AppIndex.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.ActionResult.html b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.ActionResult.html
index c66ee16..2c02f71 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.ActionResult.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.ActionResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.AppIndexingLink.html b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.AppIndexingLink.html
index e7d839a..19931fa 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.AppIndexingLink.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.AppIndexingLink.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.html b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.html
index 85f66ed..a078f8f 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/AppIndexApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/Thing.Builder.html b/docs/html/reference/com/google/android/gms/appindexing/Thing.Builder.html
index c495f04..33021d3 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/Thing.Builder.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/Thing.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/Thing.html b/docs/html/reference/com/google/android/gms/appindexing/Thing.html
index ce8cfaa..552f6e2 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/Thing.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/Thing.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appindexing/package-summary.html b/docs/html/reference/com/google/android/gms/appindexing/package-summary.html
index 4994c9b..4dcfab9 100644
--- a/docs/html/reference/com/google/android/gms/appindexing/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/appindexing/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppState.html b/docs/html/reference/com/google/android/gms/appstate/AppState.html
index fb07ef5..5ae7b65 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppState.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppState.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateBuffer.html b/docs/html/reference/com/google/android/gms/appstate/AppStateBuffer.html
index f9a5cc5..cc5c563 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateBuffer.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateConflictResult.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateConflictResult.html
index 19f7b40..a5d37b7 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateConflictResult.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateConflictResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1047,6 +1058,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateDeletedResult.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateDeletedResult.html
index f1c7a56..8ea1cb1 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateDeletedResult.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateDeletedResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -997,6 +1008,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateListResult.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateListResult.html
index ccb8d10..1f7e9937 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateListResult.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateListResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -999,6 +1010,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateLoadedResult.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateLoadedResult.html
index b3d7238..c426c2e 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateLoadedResult.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateLoadedResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1029,6 +1040,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateResult.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateResult.html
index 898d279..360f631 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateResult.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.StateResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1016,6 +1027,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.html b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.html
index df9eca3..88a5c7b 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateManager.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateManager.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appstate/AppStateStatusCodes.html b/docs/html/reference/com/google/android/gms/appstate/AppStateStatusCodes.html
index a54404c..2213d0f 100644
--- a/docs/html/reference/com/google/android/gms/appstate/AppStateStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/appstate/AppStateStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/appstate/package-summary.html b/docs/html/reference/com/google/android/gms/appstate/package-summary.html
index 85c3f3f..c8420a1 100644
--- a/docs/html/reference/com/google/android/gms/appstate/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/appstate/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/AccountChangeEvent.html b/docs/html/reference/com/google/android/gms/auth/AccountChangeEvent.html
index ee5392e..7cbcd46 100644
--- a/docs/html/reference/com/google/android/gms/auth/AccountChangeEvent.html
+++ b/docs/html/reference/com/google/android/gms/auth/AccountChangeEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsRequest.html b/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsRequest.html
index 45fc490..03de1cc 100644
--- a/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsRequest.html
+++ b/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsResponse.html b/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsResponse.html
index bc1b0c7..07cd7e0 100644
--- a/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsResponse.html
+++ b/docs/html/reference/com/google/android/gms/auth/AccountChangeEventsResponse.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/GoogleAuthException.html b/docs/html/reference/com/google/android/gms/auth/GoogleAuthException.html
index df7aaaf..44fa0c3 100644
--- a/docs/html/reference/com/google/android/gms/auth/GoogleAuthException.html
+++ b/docs/html/reference/com/google/android/gms/auth/GoogleAuthException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/GoogleAuthUtil.html b/docs/html/reference/com/google/android/gms/auth/GoogleAuthUtil.html
index 29d50a2..456d4a3 100644
--- a/docs/html/reference/com/google/android/gms/auth/GoogleAuthUtil.html
+++ b/docs/html/reference/com/google/android/gms/auth/GoogleAuthUtil.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/GooglePlayServicesAvailabilityException.html b/docs/html/reference/com/google/android/gms/auth/GooglePlayServicesAvailabilityException.html
index a1ba46e..24cde9f 100644
--- a/docs/html/reference/com/google/android/gms/auth/GooglePlayServicesAvailabilityException.html
+++ b/docs/html/reference/com/google/android/gms/auth/GooglePlayServicesAvailabilityException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/UserRecoverableAuthException.html b/docs/html/reference/com/google/android/gms/auth/UserRecoverableAuthException.html
index 45c8b0f..8ef2324 100644
--- a/docs/html/reference/com/google/android/gms/auth/UserRecoverableAuthException.html
+++ b/docs/html/reference/com/google/android/gms/auth/UserRecoverableAuthException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/UserRecoverableNotifiedException.html b/docs/html/reference/com/google/android/gms/auth/UserRecoverableNotifiedException.html
index 8f6e090..f68780c 100644
--- a/docs/html/reference/com/google/android/gms/auth/UserRecoverableNotifiedException.html
+++ b/docs/html/reference/com/google/android/gms/auth/UserRecoverableNotifiedException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/auth/package-summary.html b/docs/html/reference/com/google/android/gms/auth/package-summary.html
index b532bac..d875b6b 100644
--- a/docs/html/reference/com/google/android/gms/auth/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/auth/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/ApplicationMetadata.html b/docs/html/reference/com/google/android/gms/cast/ApplicationMetadata.html
index d03ae7e..a5051fc 100644
--- a/docs/html/reference/com/google/android/gms/cast/ApplicationMetadata.html
+++ b/docs/html/reference/com/google/android/gms/cast/ApplicationMetadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html b/docs/html/reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html
index e42b568..132a2ad 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1066,6 +1077,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.CastApi.html b/docs/html/reference/com/google/android/gms/cast/Cast.CastApi.html
index 711f68d..c54d2c8 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.CastApi.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.CastApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -900,6 +911,29 @@
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/Cast.CastApi.html#getActiveInputState(com.google.android.gms.common.api.GoogleApiClient)">getActiveInputState</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the device's active-input state.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
<a href="/reference/com/google/android/gms/cast/ApplicationMetadata.html">ApplicationMetadata</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -916,7 +950,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -939,6 +973,29 @@
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/Cast.CastApi.html#getStandbyState(com.google.android.gms.common.api.GoogleApiClient)">getStandbyState</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the device's standby state.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1383,6 +1440,58 @@
+<A NAME="getActiveInputState(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ int
+ </span>
+ <span class="sympad">getActiveInputState</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the device's active-input state.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>The API client with which to perform this request. Must not be
+ <code>null</code>.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>If there is no active service connection.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getApplicationMetadata(com.google.android.gms.common.api.GoogleApiClient)"></A>
<div class="jd-details api apilevel-">
@@ -1499,6 +1608,60 @@
</div>
+<A NAME="getStandbyState(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ int
+ </span>
+ <span class="sympad">getStandbyState</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the device's standby state. The returned value is
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_UNKNOWN">STANDBY_STATE_UNKNOWN</a></code>, <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_NO">STANDBY_STATE_NO</a></code>, or
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_YES">STANDBY_STATE_YES</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>The API client with which to perform this request. Must not be
+ <code>null</code>.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>If there is no active service connection.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getVolume(com.google.android.gms.common.api.GoogleApiClient)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.Builder.html b/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.Builder.html
index 8ae95be..02275f2 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.html b/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.html
index 490731f..efb786f 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.CastOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.Listener.html b/docs/html/reference/com/google/android/gms/cast/Cast.Listener.html
index 25aeadb..543f421 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.Listener.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.Listener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -974,6 +985,29 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/Cast.Listener.html#onActiveInputStateChanged(int)">onActiveInputStateChanged</a></span>(int activeInputState)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the active-input state of the device has changed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/cast/Cast.Listener.html#onApplicationDisconnected(int)">onApplicationDisconnected</a></span>(int statusCode)</nobr>
<div class="jd-descrdiv">
@@ -988,7 +1022,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1012,7 +1046,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1035,6 +1069,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/Cast.Listener.html#onStandbyStateChanged(int)">onStandbyStateChanged</a></span>(int standbyState)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the standby state of the device has changed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1354,6 +1411,50 @@
+<A NAME="onActiveInputStateChanged(int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onActiveInputStateChanged</span>
+ <span class="normal">(int activeInputState)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the active-input state of the device has changed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>activeInputState</td>
+ <td>The new active-input state. One of the constants
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_UNKNOWN">ACTIVE_INPUT_STATE_UNKNOWN</a></code>, <code><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_NO">ACTIVE_INPUT_STATE_NO</a></code>,
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_YES">ACTIVE_INPUT_STATE_YES</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="onApplicationDisconnected(int)"></A>
<div class="jd-details api apilevel-">
@@ -1475,6 +1576,50 @@
</div>
+<A NAME="onStandbyStateChanged(int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onStandbyStateChanged</span>
+ <span class="normal">(int standbyState)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the standby state of the device has changed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>standbyState</td>
+ <td>The new standby state. One of the constants
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_UNKNOWN">STANDBY_STATE_UNKNOWN</a></code>, <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_NO">STANDBY_STATE_NO</a></code>, or
+ <code><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_YES">STANDBY_STATE_YES</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="onVolumeChanged()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.MessageReceivedCallback.html b/docs/html/reference/com/google/android/gms/cast/Cast.MessageReceivedCallback.html
index cd41997..18f9630 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.MessageReceivedCallback.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.MessageReceivedCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/Cast.html b/docs/html/reference/com/google/android/gms/cast/Cast.html
index 14993e7..7c4eedf 100644
--- a/docs/html/reference/com/google/android/gms/cast/Cast.html
+++ b/docs/html/reference/com/google/android/gms/cast/Cast.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1048,6 +1059,43 @@
<tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_NO">ACTIVE_INPUT_STATE_NO</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that the Google Cast device is not the currently active video input.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_UNKNOWN">ACTIVE_INPUT_STATE_UNKNOWN</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that it is not known (and/or not possible to know) whether the Google
+ Cast device is the currently active video input.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#ACTIVE_INPUT_STATE_YES">ACTIVE_INPUT_STATE_YES</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that the Google Cast device is the currently active video input.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#EXTRA_APP_NO_LONGER_RUNNING">EXTRA_APP_NO_LONGER_RUNNING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1061,7 +1109,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#MAX_MESSAGE_LENGTH">MAX_MESSAGE_LENGTH</a></td>
<td class="jd-descrcol" width="100%">
@@ -1073,7 +1121,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#MAX_NAMESPACE_LENGTH">MAX_NAMESPACE_LENGTH</a></td>
<td class="jd-descrcol" width="100%">
@@ -1085,6 +1133,43 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_NO">STANDBY_STATE_NO</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that the Google Cast device is not currently in standby.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_UNKNOWN">STANDBY_STATE_UNKNOWN</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that it is not known (and/or not possible to know) whether the Google
+ Cast device is currently in standby.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.html#STANDBY_STATE_YES">STANDBY_STATE_YES</a></td>
+ <td class="jd-descrcol" width="100%">
+ A constant indicating that the Google Cast device is currently in standby.
+
+
+
+ </td>
+ </tr>
+
+
</table>
@@ -1385,6 +1470,134 @@
+<A NAME="ACTIVE_INPUT_STATE_NO"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ ACTIVE_INPUT_STATE_NO
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that the Google Cast device is not the currently active video input.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="ACTIVE_INPUT_STATE_UNKNOWN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ ACTIVE_INPUT_STATE_UNKNOWN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that it is not known (and/or not possible to know) whether the Google
+ Cast device is the currently active video input. Active input state can only be reported when
+ the Google Cast device is connected to a TV or AVR with CEC support.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ -1
+ (0xffffffff)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="ACTIVE_INPUT_STATE_YES"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ ACTIVE_INPUT_STATE_YES
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that the Google Cast device is the currently active video input.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="EXTRA_APP_NO_LONGER_RUNNING"></A>
<div class="jd-details api apilevel-">
@@ -1512,6 +1725,134 @@
+<A NAME="STANDBY_STATE_NO"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ STANDBY_STATE_NO
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that the Google Cast device is not currently in standby.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="STANDBY_STATE_UNKNOWN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ STANDBY_STATE_UNKNOWN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that it is not known (and/or not possible to know) whether the Google
+ Cast device is currently in standby. Standby state can only be reported when the Google
+ Cast device is connected to a TV or AVR with CEC support.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ -1
+ (0xffffffff)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="STANDBY_STATE_YES"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ STANDBY_STATE_YES
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A constant indicating that the Google Cast device is currently in standby.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<!-- Fields -->
diff --git a/docs/html/reference/com/google/android/gms/cast/CastDevice.html b/docs/html/reference/com/google/android/gms/cast/CastDevice.html
index 141323e..2e0e16a 100644
--- a/docs/html/reference/com/google/android/gms/cast/CastDevice.html
+++ b/docs/html/reference/com/google/android/gms/cast/CastDevice.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -798,8 +809,11 @@
+ <a href="#constants">Constants</a>
- <a href="#inhconstants">Inherited Constants</a>
+
+
+ | <a href="#inhconstants">Inherited Constants</a>
@@ -935,6 +949,63 @@
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_IN">CAPABILITY_AUDIO_IN</a></td>
+ <td class="jd-descrcol" width="100%">
+ Audio-input device capability.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_OUT">CAPABILITY_AUDIO_OUT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Audio-output device capability.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_IN">CAPABILITY_VIDEO_IN</a></td>
+ <td class="jd-descrcol" width="100%">
+ Video-input device capability.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_OUT">CAPABILITY_VIDEO_OUT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Video-output device capability.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
@@ -1287,6 +1358,52 @@
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/CastDevice.html#hasCapabilities(int[])">hasCapabilities</a></span>(int[] capabilities)</nobr>
+
+ <div class="jd-descrdiv">
+ Tests if the device supports a given set of capabilities.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/cast/CastDevice.html#hasCapability(int)">hasCapability</a></span>(int capability)</nobr>
+
+ <div class="jd-descrdiv">
+ Tests if the device supports a given capability.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/cast/CastDevice.html#hasIcons()">hasIcons</a></span>()</nobr>
<div class="jd-descrdiv">
@@ -1727,6 +1844,181 @@
<!-- Constants -->
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="CAPABILITY_AUDIO_IN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CAPABILITY_AUDIO_IN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Audio-input device capability.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 8
+ (0x00000008)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CAPABILITY_AUDIO_OUT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CAPABILITY_AUDIO_OUT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Audio-output device capability.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 4
+ (0x00000004)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CAPABILITY_VIDEO_IN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CAPABILITY_VIDEO_IN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Video-input device capability.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 2
+ (0x00000002)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CAPABILITY_VIDEO_OUT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CAPABILITY_VIDEO_OUT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Video-output device capability.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
<!-- Fields -->
@@ -2145,6 +2437,95 @@
</div>
+<A NAME="hasCapabilities(int[])"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">hasCapabilities</span>
+ <span class="normal">(int[] capabilities)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Tests if the device supports a given set of capabilities.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>capabilities</td>
+ <td>The set capabilities for which to test. The expected value is one or more
+ of the following constants: <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_IN">CAPABILITY_AUDIO_IN</a></code>,
+ <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_OUT">CAPABILITY_AUDIO_OUT</a></code>, <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_IN">CAPABILITY_VIDEO_IN</a></code>, or
+ <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_OUT">CAPABILITY_VIDEO_OUT</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="hasCapability(int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">hasCapability</span>
+ <span class="normal">(int capability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Tests if the device supports a given capability.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>capability</td>
+ <td>The capability to test for. The expected value is one of the following
+ constants: <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_IN">CAPABILITY_AUDIO_IN</a></code>, <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_AUDIO_OUT">CAPABILITY_AUDIO_OUT</a></code>,
+ <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_IN">CAPABILITY_VIDEO_IN</a></code>, or <code><a href="/reference/com/google/android/gms/cast/CastDevice.html#CAPABILITY_VIDEO_OUT">CAPABILITY_VIDEO_OUT</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="hasIcons()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/cast/CastMediaControlIntent.html b/docs/html/reference/com/google/android/gms/cast/CastMediaControlIntent.html
index fe1d654..c3b8ada 100644
--- a/docs/html/reference/com/google/android/gms/cast/CastMediaControlIntent.html
+++ b/docs/html/reference/com/google/android/gms/cast/CastMediaControlIntent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/CastStatusCodes.html b/docs/html/reference/com/google/android/gms/cast/CastStatusCodes.html
index dadc20c..a91ee85 100644
--- a/docs/html/reference/com/google/android/gms/cast/CastStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/cast/CastStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/LaunchOptions.Builder.html b/docs/html/reference/com/google/android/gms/cast/LaunchOptions.Builder.html
index 1d9045d..f0f8794 100644
--- a/docs/html/reference/com/google/android/gms/cast/LaunchOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/cast/LaunchOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/LaunchOptions.html b/docs/html/reference/com/google/android/gms/cast/LaunchOptions.html
index 4350e88..15511ff 100644
--- a/docs/html/reference/com/google/android/gms/cast/LaunchOptions.html
+++ b/docs/html/reference/com/google/android/gms/cast/LaunchOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaInfo.Builder.html b/docs/html/reference/com/google/android/gms/cast/MediaInfo.Builder.html
index b6ce0a0..6eb0237 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaInfo.Builder.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaInfo.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaInfo.html b/docs/html/reference/com/google/android/gms/cast/MediaInfo.html
index 4ad2423..7487f42 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaInfo.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaInfo.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaMetadata.html b/docs/html/reference/com/google/android/gms/cast/MediaMetadata.html
index d734a58..277f343 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaMetadata.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaMetadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaStatus.html b/docs/html/reference/com/google/android/gms/cast/MediaStatus.html
index fe7c726..72bf931 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaStatus.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaStatus.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaTrack.Builder.html b/docs/html/reference/com/google/android/gms/cast/MediaTrack.Builder.html
index b2273954..60a0e57 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaTrack.Builder.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaTrack.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/MediaTrack.html b/docs/html/reference/com/google/android/gms/cast/MediaTrack.html
index da06471..228ea1e 100644
--- a/docs/html/reference/com/google/android/gms/cast/MediaTrack.html
+++ b/docs/html/reference/com/google/android/gms/cast/MediaTrack.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html
index 6df1b2b..44cd96d 100644
--- a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html
+++ b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -995,6 +1006,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnMetadataUpdatedListener.html b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnMetadataUpdatedListener.html
index 9b3244c..afcd0cd 100644
--- a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnMetadataUpdatedListener.html
+++ b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnMetadataUpdatedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnStatusUpdatedListener.html b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnStatusUpdatedListener.html
index 43a790a..5fefa45 100644
--- a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnStatusUpdatedListener.html
+++ b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.OnStatusUpdatedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.html b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.html
index 2b6f87b..2c55c86 100644
--- a/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.html
+++ b/docs/html/reference/com/google/android/gms/cast/RemoteMediaPlayer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/TextTrackStyle.html b/docs/html/reference/com/google/android/gms/cast/TextTrackStyle.html
index da7ce53..eb6a3fd 100644
--- a/docs/html/reference/com/google/android/gms/cast/TextTrackStyle.html
+++ b/docs/html/reference/com/google/android/gms/cast/TextTrackStyle.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/cast/package-summary.html b/docs/html/reference/com/google/android/gms/cast/package-summary.html
index f95171e..4b88155 100644
--- a/docs/html/reference/com/google/android/gms/cast/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/cast/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/AccountPicker.html b/docs/html/reference/com/google/android/gms/common/AccountPicker.html
index 3ad45f2..f1dabba 100644
--- a/docs/html/reference/com/google/android/gms/common/AccountPicker.html
+++ b/docs/html/reference/com/google/android/gms/common/AccountPicker.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1259,7 +1270,7 @@
startActivityForResult(intent, SOME_REQUEST_CODE);
</pre>
- The account picker activity will return when use has selected and/or created an account,
+ The account picker activity will return when the user has selected and/or created an account,
and the resulting account name can be retrieved as follows:
<pre>
protected void onActivityResult(final int requestCode, final int resultCode,
diff --git a/docs/html/reference/com/google/android/gms/common/ConnectionResult.html b/docs/html/reference/com/google/android/gms/common/ConnectionResult.html
index 623143c..c165b02 100644
--- a/docs/html/reference/com/google/android/gms/common/ConnectionResult.html
+++ b/docs/html/reference/com/google/android/gms/common/ConnectionResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -963,8 +974,7 @@
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
- The client canceled the connection by calling
- <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code>.
+ The connection was canceled.
@@ -1110,6 +1120,18 @@
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SERVICE_UPDATING">SERVICE_UPDATING</a></td>
+ <td class="jd-descrcol" width="100%">
+ Google Play service is currently being updated on this device.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
The installed version of Google Play services is out of date.
@@ -1120,7 +1142,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SIGN_IN_FAILED">SIGN_IN_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1132,7 +1154,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1145,7 +1167,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1157,7 +1179,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/ConnectionResult.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1874,9 +1896,15 @@
- <div class="jd-tagdata jd-tagdescr"><p>The client canceled the connection by calling
- <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code>. Only returned by
- <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#blockingConnect()">blockingConnect()</a></code>.
+ <div class="jd-tagdata jd-tagdescr"><p>The connection was canceled. This is returned in two situations:
+ <ul>
+ <li>By <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#blockingConnect()">blockingConnect()</a></code> when
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> is called before the
+ connection completes.
+ <li>To the OnConnectionFailedListener passed to
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#enableAutoManage(android.support.v4.app.FragmentActivity, int, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener)">enableAutoManage(FragmentActivity, int, GoogleApiClient.OnConnectionFailedListener)</a></code> when the
+ user choses not to complete a provided resolution. For example by canceling a dialog.
+ </ul>
</p></div>
@@ -2381,6 +2409,48 @@
+<A NAME="SERVICE_UPDATING"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ SERVICE_UPDATING
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Google Play service is currently being updated on this device.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 18
+ (0x00000012)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="SERVICE_VERSION_UPDATE_REQUIRED"></A>
<div class="jd-details api apilevel-">
@@ -2449,10 +2519,12 @@
- <div class="jd-tagdata jd-tagdescr"><p>The client attempted to connect to the service but the user is not signed in. Either an error
- occurred when signing in the user and the error can not be recovered with any user
- interaction; or the service may have been part of an optional API and it may be the case
- that no mandatory APIs required authentication, so authentication will not occur.
+ <div class="jd-tagdata jd-tagdescr"><p>The client attempted to connect to the service but the user is not signed in. An error may
+ have occurred when signing in the user and the error can not be recovered with any user
+ interaction. Alternately, the API may have been requested with
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">addApiIfAvailable(Api<? extends Api.ApiOptions.NotRequiredOptions>, Scope...)</a></code> and
+ it may be the case that no required APIs needed authentication, so authentication did not
+ occur.
<p>
When seeing this error code,there is no resolution for the sign-in failure.
</p></div>
diff --git a/docs/html/reference/com/google/android/gms/common/ErrorDialogFragment.html b/docs/html/reference/com/google/android/gms/common/ErrorDialogFragment.html
index 61e8fe8..b1f2a56 100644
--- a/docs/html/reference/com/google/android/gms/common/ErrorDialogFragment.html
+++ b/docs/html/reference/com/google/android/gms/common/ErrorDialogFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/GoogleApiAvailability.html b/docs/html/reference/com/google/android/gms/common/GoogleApiAvailability.html
new file mode 100644
index 0000000..38c00a6
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/common/GoogleApiAvailability.html
@@ -0,0 +1,2204 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>GoogleApiAvailability | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">GoogleApiAvailability</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+ <a href="#constants">Constants</a>
+
+
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ class
+<h1 itemprop="name">GoogleApiAvailability</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.common.GoogleApiAvailability</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Helper class for verifying that the Google Play services APK is available and
+ up-to-date on this device.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_PACKAGE">GOOGLE_PLAY_SERVICES_PACKAGE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Package name for Google Play services.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_VERSION_CODE">GOOGLE_PLAY_SERVICES_VERSION_CODE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Google Play services client library version (declared in library's
+ AndroidManifest.xml android:versionCode).
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Dialog</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int, android.content.DialogInterface.OnCancelListener)">getErrorDialog</a></span>(Activity activity, int errorCode, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns a dialog to address the provided errorCode.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Dialog</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog</a></span>(Activity activity, int errorCode, int requestCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns a dialog to address the provided errorCode.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ PendingIntent</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorResolutionPendingIntent(android.content.Context, int, int)">getErrorResolutionPendingIntent</a></span>(Context context, int errorCode, int requestCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns a PendingIntent to address the provided errorCode.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorString(int)">getErrorString</a></span>(int errorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns a human-readable string of the error code returned from
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ <a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">GoogleApiAvailability</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getInstance()">getInstance</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the singleton instance of GoogleApiAvailability.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getOpenSourceSoftwareLicenseInfo(android.content.Context)">getOpenSourceSoftwareLicenseInfo</a></span>(Context context)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the open source software license information for the Google Play services
+ application, or null if Google Play services is not available on this device.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable</a></span>(Context context)</nobr>
+
+ <div class="jd-descrdiv">
+ Verifies that Google Play services is installed and enabled on this device, and that the
+ version installed on this device is no older than the one required by this client.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isUserResolvableError(int)">isUserResolvableError</a></span>(int errorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Determines whether an error can be resolved via user action.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#showErrorDialogFragment(android.app.Activity, int, int, android.content.DialogInterface.OnCancelListener)">showErrorDialogFragment</a></span>(Activity activity, int errorCode, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
+
+ <div class="jd-descrdiv">
+ Displays a DialogFragment for an error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#showErrorDialogFragment(android.app.Activity, int, int)">showErrorDialogFragment</a></span>(Activity activity, int errorCode, int requestCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Displays a DialogFragment for an error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#showErrorNotification(android.content.Context, int)">showErrorNotification</a></span>(Context context, int errorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Displays a notification relevant to the provided error code.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="GOOGLE_PLAY_SERVICES_PACKAGE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ GOOGLE_PLAY_SERVICES_PACKAGE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "com.google.android.gms"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="GOOGLE_PLAY_SERVICES_VERSION_CODE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ GOOGLE_PLAY_SERVICES_VERSION_CODE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Google Play services client library version (declared in library's
+ AndroidManifest.xml android:versionCode).
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 7329000
+ (0x006fd4e8)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getErrorDialog(android.app.Activity, int, int, android.content.DialogInterface.OnCancelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ Dialog
+ </span>
+ <span class="sympad">getErrorDialog</span>
+ <span class="normal">(Activity activity, int errorCode, int requestCode, DialogInterface.OnCancelListener cancelListener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
+ message about the error and upon user confirmation (by tapping on dialog) will direct them to
+ the Play Store if Google Play services is out of date or missing, or to system settings if
+ Google Play services is disabled on the device.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>activity</td>
+ <td>parent activity for creating the dialog, also used for identifying language
+ to display dialog in.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
+ If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
+ </tr>
+ <tr>
+ <th>requestCode</td>
+ <td>The requestCode given when calling startActivityForResult.</td>
+ </tr>
+ <tr>
+ <th>cancelListener</td>
+ <td>The <code><a href="/reference/android/content/DialogInterface.OnCancelListener.html">DialogInterface.OnCancelListener</a></code> to invoke if the dialog is
+ canceled.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getErrorDialog(android.app.Activity, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ Dialog
+ </span>
+ <span class="sympad">getErrorDialog</span>
+ <span class="normal">(Activity activity, int errorCode, int requestCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
+ message about the error and upon user confirmation (by tapping on dialog) will direct them to
+ the Play Store if Google Play services is out of date or missing, or to system settings if
+ Google Play services is disabled on the device.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>activity</td>
+ <td>parent activity for creating the dialog, also used for identifying language
+ to display dialog in.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
+ If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
+ </tr>
+ <tr>
+ <th>requestCode</td>
+ <td>The requestCode given when calling startActivityForResult.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getErrorResolutionPendingIntent(android.content.Context, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ PendingIntent
+ </span>
+ <span class="sympad">getErrorResolutionPendingIntent</span>
+ <span class="normal">(Context context, int errorCode, int requestCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a PendingIntent to address the provided errorCode. It will direct them to either the
+ Play Store if Google Play services is out of date or missing, or system settings if Google
+ Play services is disabled on the device.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>context</td>
+ <td>parent context for creating the PendingIntent.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
+ If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
+ </tr>
+ <tr>
+ <th>requestCode</td>
+ <td>The requestCode given when calling startActivityForResult.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getErrorString(int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+ final
+
+
+ String
+ </span>
+ <span class="sympad">getErrorString</span>
+ <span class="normal">(int errorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a human-readable string of the error code returned from
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getInstance()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ <a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">GoogleApiAvailability</a>
+ </span>
+ <span class="sympad">getInstance</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the singleton instance of GoogleApiAvailability.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getOpenSourceSoftwareLicenseInfo(android.content.Context)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">getOpenSourceSoftwareLicenseInfo</span>
+ <span class="normal">(Context context)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the open source software license information for the Google Play services
+ application, or null if Google Play services is not available on this device.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="isGooglePlayServicesAvailable(android.content.Context)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">isGooglePlayServicesAvailable</span>
+ <span class="normal">(Context context)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Verifies that Google Play services is installed and enabled on this device, and that the
+ version installed on this device is no older than the one required by this client.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>status code indicating whether there was an error. Can be one of following in
+ <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code>: SUCCESS, SERVICE_MISSING, SERVICE_UPDATING,
+ SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="isUserResolvableError(int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+ final
+
+
+ boolean
+ </span>
+ <span class="sympad">isUserResolvableError</span>
+ <span class="normal">(int errorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Determines whether an error can be resolved via user action. If true, proceed by calling
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog(Activity, int, int)</a></code> and showing the dialog.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>, or
+ returned to your application via
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code></td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if the error is resolvable with <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog(Activity, int, int)</a></code>
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="showErrorDialogFragment(android.app.Activity, int, int, android.content.DialogInterface.OnCancelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">showErrorDialogFragment</span>
+ <span class="normal">(Activity activity, int errorCode, int requestCode, DialogInterface.OnCancelListener cancelListener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Displays a DialogFragment for an error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>activity</td>
+ <td>parent activity for creating the dialog, also used for
+ identifying language to display dialog in.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call. If
+ errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then this
+ does nothing</td>
+ </tr>
+ <tr>
+ <th>requestCode</td>
+ <td>The requestCode given when calling
+ startActivityForResult.</td>
+ </tr>
+ <tr>
+ <th>cancelListener</td>
+ <td>The <code><a href="/reference/android/content/DialogInterface.OnCancelListener.html">DialogInterface.OnCancelListener</a></code> to
+ invoke if the dialog is canceled.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if the dialog is shown, false otherwise.</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>RuntimeException</td>
+ <td>if API level is below 11 and <code>activity</code> is not a
+ <code><a href="/reference/android/support/v4/app/FragmentActivity.html">FragmentActivity</a></code>.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/ErrorDialogFragment.html">ErrorDialogFragment</a></code></li><li><code><a href="/reference/default package/SupportErrorDialogFragment.html">SupportErrorDialogFragment</a></code></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="showErrorDialogFragment(android.app.Activity, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">showErrorDialogFragment</span>
+ <span class="normal">(Activity activity, int errorCode, int requestCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Displays a DialogFragment for an error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>activity</td>
+ <td>parent activity for creating the dialog, also used for
+ identifying language to display dialog in.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call. If
+ errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then this
+ does nothing.</td>
+ </tr>
+ <tr>
+ <th>requestCode</td>
+ <td>The requestCode given when calling
+ startActivityForResult.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if the dialog is shown, false otherwise</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>RuntimeException</td>
+ <td>if API level is below 11 and <code>activity</code> is not a
+ <code><a href="/reference/android/support/v4/app/FragmentActivity.html">FragmentActivity</a></code>.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/ErrorDialogFragment.html">ErrorDialogFragment</a></code></li><li><code><a href="/reference/default package/SupportErrorDialogFragment.html">SupportErrorDialogFragment</a></code></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="showErrorNotification(android.content.Context, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">showErrorNotification</span>
+ <span class="normal">(Context context, int errorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Displays a notification relevant to the provided error code. This method is similar to
+ <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog(android.app.Activity, int, int)</a></code>, but is provided for background tasks
+ that cannot or should not display dialogs.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>context</td>
+ <td>used for identifying language to display dialog in as well as accessing the
+ <code><a href="/reference/android/app/NotificationManager.html">NotificationManager</a></code>.</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
+ If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html
index f75b64c..46a69c7 100644
--- a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html
+++ b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html
index 31d3b13..b4253eb 100644
--- a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html
+++ b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesUtil.html b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesUtil.html
index a231170..4484a15 100644
--- a/docs/html/reference/com/google/android/gms/common/GooglePlayServicesUtil.html
+++ b/docs/html/reference/com/google/android/gms/common/GooglePlayServicesUtil.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -945,7 +956,10 @@
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_SERVICES_PACKAGE">GOOGLE_PLAY_SERVICES_PACKAGE</a></td>
<td class="jd-descrcol" width="100%">
- Package name for Google Play services.
+ <em>
+ This constant is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_PACKAGE">GOOGLE_PLAY_SERVICES_PACKAGE</a></code> instead.
+</em>
@@ -957,8 +971,10 @@
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_SERVICES_VERSION_CODE">GOOGLE_PLAY_SERVICES_VERSION_CODE</a></td>
<td class="jd-descrcol" width="100%">
- Google Play services client library version (declared in library's
- AndroidManifest.xml android:versionCode).
+ <em>
+ This constant is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_VERSION_CODE">GOOGLE_PLAY_SERVICES_VERSION_CODE</a></code> instead.
+</em>
@@ -970,7 +986,7 @@
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_STORE_PACKAGE">GOOGLE_PLAY_STORE_PACKAGE</a></td>
<td class="jd-descrcol" width="100%">
- Package name for Google Play services.
+ Package name for Google Play Store.
@@ -1015,7 +1031,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog</a></span>(int errorCode, Activity activity, int requestCode)</nobr>
<div class="jd-descrdiv">
- Returns a dialog to address the provided errorCode.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog(Activity, int, int)</a></code> instead.
+</em>
@@ -1038,7 +1057,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)">getErrorDialog</a></span>(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
<div class="jd-descrdiv">
- Returns a dialog to address the provided errorCode.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#getErrorDialog(Activity, int, int, OnCancelListener)</a></code> instead.
+</em>
@@ -1061,7 +1083,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorPendingIntent(int, android.content.Context, int)">getErrorPendingIntent</a></span>(int errorCode, Context context, int requestCode)</nobr>
<div class="jd-descrdiv">
- Returns a PendingIntent to address the provided errorCode.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorResolutionPendingIntent(android.content.Context, int, int)">getErrorResolutionPendingIntent(Context, int, int)</a></code> instead.
+</em>
@@ -1084,8 +1109,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorString(int)">getErrorString</a></span>(int errorCode)</nobr>
<div class="jd-descrdiv">
- Returns a human-readable string of the error code returned from
- <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorString(int)">getErrorString(int)</a></code> instead.
+</em>
@@ -1108,8 +1135,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getOpenSourceSoftwareLicenseInfo(android.content.Context)">getOpenSourceSoftwareLicenseInfo</a></span>(Context context)</nobr>
<div class="jd-descrdiv">
- Returns the open source software license information for the Google Play services
- application, or null if Google Play services is not available on this device.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getOpenSourceSoftwareLicenseInfo(android.content.Context)">getOpenSourceSoftwareLicenseInfo(Context)</a></code> instead.
+</em>
@@ -1178,8 +1207,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable</a></span>(Context context)</nobr>
<div class="jd-descrdiv">
- Verifies that Google Play services is installed and enabled on this device, and that the
- version installed on this device is no older than the one required by this client.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> instead.
+</em>
@@ -1202,7 +1233,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isUserRecoverableError(int)">isUserRecoverableError</a></span>(int errorCode)</nobr>
<div class="jd-descrdiv">
- Determines whether an error is user-recoverable.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isUserResolvableError(int)">isUserResolvableError(int)</a></code> instead.
+</em>
@@ -1225,8 +1259,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorDialogFragment(int, android.app.Activity, int)">showErrorDialogFragment</a></span>(int errorCode, Activity activity, int requestCode)</nobr>
<div class="jd-descrdiv">
- Display a DialogFragment for an error code returned by
- <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#showErrorDialogFragment(Activity, int, int)</a></code> instead.
+</em>
@@ -1265,8 +1301,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorDialogFragment(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)">showErrorDialogFragment</a></span>(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
<div class="jd-descrdiv">
- Display a DialogFragment for an error code returned by
- <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
+ <em>
+ This method is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#showErrorDialogFragment(Activity, int, int, OnCancelListener)</a></code> instead.
+</em>
@@ -1289,7 +1327,10 @@
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorNotification(int, android.content.Context)">showErrorNotification</a></span>(int errorCode, Context context)</nobr>
<div class="jd-descrdiv">
- Displays a notification relevant to the provided error code.
+ <em>
+ This method is deprecated.
+ Use {GoogleApiAvailability#showErrorNotification(Context, int)} instead.
+</em>
@@ -1630,9 +1671,13 @@
-
- <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.
-</p></div>
+ <p>
+ <p class="caution"><strong>
+ This constant is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_PACKAGE">GOOGLE_PLAY_SERVICES_PACKAGE</a></code> instead.
+
+ </p>
+ <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.</p></div>
<div class="jd-tagdata">
@@ -1671,18 +1716,22 @@
-
+ <p>
+ <p class="caution"><strong>
+ This constant is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#GOOGLE_PLAY_SERVICES_VERSION_CODE">GOOGLE_PLAY_SERVICES_VERSION_CODE</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Google Play services client library version (declared in library's
- AndroidManifest.xml android:versionCode).
-</p></div>
+ AndroidManifest.xml android:versionCode).</p></div>
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
- 7095000
- (0x006c42d8)
+ 7329000
+ (0x006fd4e8)
</span>
</div>
@@ -1715,7 +1764,7 @@
- <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.
+ <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play Store.
</p></div>
@@ -1778,7 +1827,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorDialog(android.app.Activity, int, int)">getErrorDialog(Activity, int, int)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
message about the error and upon user confirmation (by tapping on dialog) will direct them to
the Play Store if Google Play services is out of date or missing, or to system settings if
@@ -1798,8 +1852,7 @@
</tr>
<tr>
<th>requestCode</td>
- <td>The requestCode given when calling startActivityForResult.
-</td>
+ <td>The requestCode given when calling startActivityForResult.</td>
</tr>
</table>
</div>
@@ -1833,7 +1886,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#getErrorDialog(Activity, int, int, OnCancelListener)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
message about the error and upon user confirmation (by tapping on dialog) will direct them to
the Play Store if Google Play services is out of date or missing, or to system settings if
@@ -1858,8 +1916,7 @@
<tr>
<th>cancelListener</td>
<td>The <code><a href="/reference/android/content/DialogInterface.OnCancelListener.html">DialogInterface.OnCancelListener</a></code> to invoke if the dialog is
- canceled.
-</td>
+ canceled.</td>
</tr>
</table>
</div>
@@ -1893,7 +1950,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorResolutionPendingIntent(android.content.Context, int, int)">getErrorResolutionPendingIntent(Context, int, int)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Returns a PendingIntent to address the provided errorCode. It will direct them to one of the
following places to either the Play Store if Google Play services is out of date or missing,
or system settings if Google Play services is disabled on the device.</p></div>
@@ -1911,8 +1973,7 @@
</tr>
<tr>
<th>requestCode</td>
- <td>The requestCode given when calling startActivityForResult.
-</td>
+ <td>The requestCode given when calling startActivityForResult.</td>
</tr>
</table>
</div>
@@ -1946,10 +2007,14 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getErrorString(int)">getErrorString(int)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Returns a human-readable string of the error code returned from
- <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
-</p></div>
+ <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
</div>
</div>
@@ -1980,10 +2045,14 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#getOpenSourceSoftwareLicenseInfo(android.content.Context)">getOpenSourceSoftwareLicenseInfo(Context)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Returns the open source software license information for the Google Play services
- application, or null if Google Play services is not available on this device.
-</p></div>
+ application, or null if Google Play services is not available on this device.</p></div>
</div>
</div>
@@ -2092,15 +2161,19 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Verifies that Google Play services is installed and enabled on this device, and that the
version installed on this device is no older than the one required by this client.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>status code indicating whether there was an error. Can be one of following in
<code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code>: SUCCESS, SERVICE_MISSING,
- SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID
-</li></ul>
+ SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID</li></ul>
</div>
</div>
@@ -2132,7 +2205,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html#isUserResolvableError(int)">isUserResolvableError(int)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Determines whether an error is user-recoverable. If true, proceed by calling
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, Activity, int)</a></code> and showing the dialog.</p></div>
<div class="jd-tagdata">
@@ -2149,8 +2227,7 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if the error is recoverable with
- <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, Activity, int)</a></code>
-</li></ul>
+ <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, Activity, int)</a></code></li></ul>
</div>
</div>
@@ -2182,7 +2259,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#showErrorDialogFragment(Activity, int, int)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Display a DialogFragment for an error code returned by
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
<div class="jd-tagdata">
@@ -2288,7 +2370,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">#showErrorDialogFragment(Activity, int, int, OnCancelListener)</a></code> instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Display a DialogFragment for an error code returned by
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
<div class="jd-tagdata">
@@ -2367,7 +2454,12 @@
-
+ <p>
+ <p class="caution"><strong>
+ This method is deprecated.</strong><br/>
+ Use {GoogleApiAvailability#showErrorNotification(Context, int)} instead.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Displays a notification relevant to the provided error code. This method is similar to
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, android.app.Activity, int)</a></code>, but is provided for background tasks
that cannot or shouldn't display dialogs.</p></div>
@@ -2382,8 +2474,7 @@
<tr>
<th>context</td>
<td>used for identifying language to display dialog in as well as accessing the
- <code><a href="/reference/android/app/NotificationManager.html">NotificationManager</a></code>.
-</td>
+ <code><a href="/reference/android/app/NotificationManager.html">NotificationManager</a></code>.</td>
</tr>
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/Scopes.html b/docs/html/reference/com/google/android/gms/common/Scopes.html
index caccc68..c103d84 100644
--- a/docs/html/reference/com/google/android/gms/common/Scopes.html
+++ b/docs/html/reference/com/google/android/gms/common/Scopes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1043,6 +1054,30 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/Scopes.html#FITNESS_NUTRITION_READ">FITNESS_NUTRITION_READ</a></td>
+ <td class="jd-descrcol" width="100%">
+ Scope for read access to nutrition data types in Google Fit.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/Scopes.html#FITNESS_NUTRITION_READ_WRITE">FITNESS_NUTRITION_READ_WRITE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Scope for read/write access to nutrition data types in Google Fit.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/Scopes.html#GAMES">GAMES</a></td>
<td class="jd-descrcol" width="100%">
Scope for accessing data from Google Play Games.
@@ -1777,6 +1812,88 @@
+<A NAME="FITNESS_NUTRITION_READ"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ FITNESS_NUTRITION_READ
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Scope for read access to nutrition data types in Google Fit.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "https://www.googleapis.com/auth/fitness.nutrition.read"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="FITNESS_NUTRITION_READ_WRITE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ FITNESS_NUTRITION_READ_WRITE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Scope for read/write access to nutrition data types in Google Fit.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "https://www.googleapis.com/auth/fitness.nutrition.write"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="GAMES"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/common/SignInButton.html b/docs/html/reference/com/google/android/gms/common/SignInButton.html
index 69cb885..daae02b 100644
--- a/docs/html/reference/com/google/android/gms/common/SignInButton.html
+++ b/docs/html/reference/com/google/android/gms/common/SignInButton.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/SupportErrorDialogFragment.html b/docs/html/reference/com/google/android/gms/common/SupportErrorDialogFragment.html
index 8ffc416..492c470 100644
--- a/docs/html/reference/com/google/android/gms/common/SupportErrorDialogFragment.html
+++ b/docs/html/reference/com/google/android/gms/common/SupportErrorDialogFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/UserRecoverableException.html b/docs/html/reference/com/google/android/gms/common/UserRecoverableException.html
index 1ea34b0..3a3ce8c 100644
--- a/docs/html/reference/com/google/android/gms/common/UserRecoverableException.html
+++ b/docs/html/reference/com/google/android/gms/common/UserRecoverableException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/annotation/KeepName.html b/docs/html/reference/com/google/android/gms/common/annotation/KeepName.html
index 7df6c1b..78b3829 100644
--- a/docs/html/reference/com/google/android/gms/common/annotation/KeepName.html
+++ b/docs/html/reference/com/google/android/gms/common/annotation/KeepName.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/annotation/package-summary.html b/docs/html/reference/com/google/android/gms/common/annotation/package-summary.html
index afd59da..9c9c299 100644
--- a/docs/html/reference/com/google/android/gms/common/annotation/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/common/annotation/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html
index 593de39..25d6325 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html
index 8e528dd..ac131d5 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html
index d775108..5fe27ba 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html
index c5be162..a5b60fb 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.html b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.html
index d8b57ed..cf0a231 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.ApiOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Api.html b/docs/html/reference/com/google/android/gms/common/api/Api.html
index 34a053d..bd5f907 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Api.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Api.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Batch.Builder.html b/docs/html/reference/com/google/android/gms/common/api/Batch.Builder.html
index 5e9435c..7803119 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Batch.Builder.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Batch.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Batch.html b/docs/html/reference/com/google/android/gms/common/api/Batch.html
index a4c7e3c..92a4c59 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Batch.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Batch.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1125,6 +1136,29 @@
<td class="jd-typecol"><nobr>
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Batch.html#forceFailureUnlessReady(com.google.android.gms.common.api.Status)">forceFailureUnlessReady</a></span>(<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a> status)</nobr>
+
+ <div class="jd-descrdiv">
+ Forces the result of the API call a failure, unless a result has otherwise already been set.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
@@ -1135,8 +1169,8 @@
<div class="jd-descrdiv">
Indicates whether the pending result has been canceled either due to calling
- {GoogleApiClient#disconnect} or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result or an
- enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result
+ or an enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
@@ -1146,7 +1180,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1162,7 +1196,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1174,11 +1208,18 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Batch.html#setResult(R)">setResult</a></span>(R result)</nobr>
+ <div class="jd-descrdiv">
+ Sets the result of the API call.
+
+
+
+ </div>
+
</td></tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1202,7 +1243,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1594,8 +1635,8 @@
<div class="jd-descrdiv">
Indicates whether the pending result has been canceled either due to calling
- {GoogleApiClient#disconnect} or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result or an
- enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result
+ or an enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
@@ -1909,6 +1950,39 @@
</div>
+<A NAME="forceFailureUnlessReady(com.google.android.gms.common.api.Status)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+ final
+
+
+ void
+ </span>
+ <span class="sympad">forceFailureUnlessReady</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a> status)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Forces the result of the API call a failure, unless a result has otherwise already been set.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="isCanceled()"></A>
<div class="jd-details api apilevel-">
@@ -1936,8 +2010,8 @@
<div class="jd-tagdata jd-tagdescr"><p>Indicates whether the pending result has been canceled either due to calling
- {GoogleApiClient#disconnect} or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result or an
- enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result
+ or an enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
</p></div>
</div>
@@ -2002,7 +2076,12 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Sets the result of the API call. Assuming that a failure or cancelation has not already
+ been set, the result will be returned to the client via <code><a href="/reference/com/google/android/gms/common/api/Batch.html#await()">await()</a></code> or
+ <code><a href="/reference/com/google/android/gms/common/api/ResultCallback.html#onResult(R)">onResult(R)</a></code>.
+
+ <p>This method must called at most once.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/BatchResult.html b/docs/html/reference/com/google/android/gms/common/api/BatchResult.html
index 3c3ef19..7258659 100644
--- a/docs/html/reference/com/google/android/gms/common/api/BatchResult.html
+++ b/docs/html/reference/com/google/android/gms/common/api/BatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -960,6 +971,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/BatchResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1235,6 +1253,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1312,7 +1337,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/BatchResultToken.html b/docs/html/reference/com/google/android/gms/common/api/BatchResultToken.html
index 857eac5..8257fea 100644
--- a/docs/html/reference/com/google/android/gms/common/api/BatchResultToken.html
+++ b/docs/html/reference/com/google/android/gms/common/api/BatchResultToken.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/CommonStatusCodes.html b/docs/html/reference/com/google/android/gms/common/api/CommonStatusCodes.html
index ec78ae3..c60ce73 100644
--- a/docs/html/reference/com/google/android/gms/common/api/CommonStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/common/api/CommonStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1051,6 +1062,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1061,7 +1084,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1073,7 +1096,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1085,7 +1108,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1097,7 +1120,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1109,7 +1132,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1121,7 +1144,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1133,7 +1156,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1145,7 +1168,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1157,7 +1180,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1169,7 +1192,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1181,7 +1204,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1193,7 +1216,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1205,7 +1228,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1217,7 +1240,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1229,7 +1252,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1241,7 +1264,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1562,6 +1585,49 @@
+<A NAME="API_NOT_AVAILABLE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ API_NOT_AVAILABLE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The client attempted to call a method from an API that failed to connect. See
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">addApiIfAvailable(Api<? extends Api.ApiOptions.NotRequiredOptions>, Scope...)</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 17
+ (0x00000011)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="CANCELED"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html
index e32885d..a905560 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1055,6 +1066,52 @@
+ <O extends <a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html">Api.ApiOptions.HasOptions</a>>
+ <a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html">GoogleApiClient.Builder</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<O>, O, com.google.android.gms.common.api.Scope...)">addApiIfAvailable</a></span>(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><O> api, O options, <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope...</a> scopes)</nobr>
+
+ <div class="jd-descrdiv">
+ Specify which Apis should attempt to connect, but are not strictly required for your app.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html">GoogleApiClient.Builder</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">addApiIfAvailable</a></span>(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><? extends <a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html">Api.ApiOptions.NotRequiredOptions</a>> api, <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope...</a> scopes)</nobr>
+
+ <div class="jd-descrdiv">
+ Specify which Apis should attempt to connect, but are not strictly required for your app.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html">GoogleApiClient.Builder</a></nobr>
</td>
@@ -1761,6 +1818,112 @@
</div>
+<A NAME="addApiIfAvailable(com.google.android.gms.common.api.Api<O>, O, com.google.android.gms.common.api.Scope...)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html">GoogleApiClient.Builder</a>
+ </span>
+ <span class="sympad">addApiIfAvailable</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><O> api, O options, <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope...</a> scopes)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Specify which Apis should attempt to connect, but are not strictly required for your app.
+ The GoogleApiClient will try to connect to these Apis, but will not necessarily fail if
+ there are only errors when connecting to an unavailable Api added with this method.
+ See <code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code> for more information.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>api</td>
+ <td>The Api requested by your app.</td>
+ </tr>
+ <tr>
+ <th>scopes</td>
+ <td>Scopes required by this API.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html">GoogleApiClient.Builder</a>
+ </span>
+ <span class="sympad">addApiIfAvailable</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><? extends <a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html">Api.ApiOptions.NotRequiredOptions</a>> api, <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope...</a> scopes)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Specify which Apis should attempt to connect, but are not strictly required for your app.
+ The GoogleApiClient will try to connect to these Apis, but will not necessarily fail if
+ there are only errors when connecting to an unavailable Api added with this method.
+ See <code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code> for more information.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>api</td>
+ <td>The Api requested by your app.</td>
+ </tr>
+ <tr>
+ <th>scopes</td>
+ <td>Scopes required by this API.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="addConnectionCallbacks(com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks)"></A>
<div class="jd-details api apilevel-">
@@ -1978,7 +2141,7 @@
<div class="jd-tagdata jd-tagdescr"><p>Enables automatic lifecycle management in a support library <code><a href="/reference/android/support/v4/app/FragmentActivity.html">FragmentActivity</a></code> that
connects the client in <code><a href="/reference/android/support/v4/app/FragmentActivity.html#onStart()">onStart()</a></code> and disconnects it in <code><a href="/reference/android/support/v4/app/FragmentActivity.html#onStop()">onStop()</a></code>.
<p/>
- It handles user recoverable errors appropriately and fires if the <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code> has no resolution.
+ It handles user recoverable errors appropriately and calls if the <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code> has no resolution.
This eliminates most of the boiler plate associated with using <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code>.
<p/>
When using this option, <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#build()">build()</a></code> must be called from the main thread.</p></div>
@@ -1997,9 +2160,11 @@
</tr>
<tr>
<th>unresolvedConnectionFailedListener</td>
- <td>Fires if the connection failed and and there was no resolution or the user chose
- not to complete the provided resolution. If this listener is fired, the client
- will no longer be auto-managed, and a new instance must be built.</td>
+ <td>Called if the connection failed and there was no resolution or the user chose
+ not to complete the provided resolution. If this listener is called, the client
+ will no longer be auto-managed, and a new instance must be built. In the event
+ that the user chooses not to complete a resolution, the <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code>
+ will have a status code of <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#CANCELED">CANCELED</a></code>.</td>
</tr>
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html
index 716c64f..3f89ffe 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html
index 91d8945..5cf86e9 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html
index 8e40ca6..92ccba5f 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html
index e90901d..3b5a566 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.html b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.html
index a19a1fb..eff823c 100644
--- a/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.html
+++ b/docs/html/reference/com/google/android/gms/common/api/GoogleApiClient.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1134,6 +1145,30 @@
+ <a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#getConnectionResult(com.google.android.gms.common.api.Api<?>)">getConnectionResult</a></span>(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><?> api)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code> for the GoogleApiClient's connection to the
+ specified API.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1151,6 +1186,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#hasConnectedApi(com.google.android.gms.common.api.Api<?>)">hasConnectedApi</a></span>(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><?> api)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns whether or not this GoogleApiClient has the specified API in a connected state.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1702,6 +1760,59 @@
</div>
+<A NAME="getConnectionResult(com.google.android.gms.common.api.Api<?>)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a>
+ </span>
+ <span class="sympad">getConnectionResult</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><?> api)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code> for the GoogleApiClient's connection to the
+ specified API. This method must only be called after <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()">connect()</a></code> has
+ been called and before <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> is called.
+ <p>
+ This method may return stale results if the GoogleApiClient is reconnecting due to a lost
+ network connection. It is guaranteed to return the most recent ConnectionResult from
+ attempting to connect the given API, but will throw an IllegalStateException if called before
+ calling connect or after calling disconnect. This method can be used to easily determine why
+ an API failed to connect if it was not available. To determine whether a given API is
+ currently connected (without potential stale results) see
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#hasConnectedApi(com.google.android.gms.common.api.Api<?>)">hasConnectedApi(Api<?>)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>api</td>
+ <td>The <code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code> to retrieve the ConnectionResult of. Passing an API that was not
+ registered with the GoogleApiClient results in an IllegalArgumentException.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getSessionId()"></A>
<div class="jd-details api apilevel-">
@@ -1736,6 +1847,48 @@
</div>
+<A NAME="hasConnectedApi(com.google.android.gms.common.api.Api<?>)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ boolean
+ </span>
+ <span class="sympad">hasConnectedApi</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><?> api)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns whether or not this GoogleApiClient has the specified API in a connected state.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>api</td>
+ <td>The <code><a href="/reference/com/google/android/gms/common/api/Api.html">Api</a></code> to test the connection of.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="isConnected()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/common/api/PendingResult.html b/docs/html/reference/com/google/android/gms/common/api/PendingResult.html
index a859314..fc117eb 100644
--- a/docs/html/reference/com/google/android/gms/common/api/PendingResult.html
+++ b/docs/html/reference/com/google/android/gms/common/api/PendingResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1048,8 +1059,8 @@
<div class="jd-descrdiv">
Indicates whether the pending result has been canceled either due to calling
- {GoogleApiClient#disconnect} or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result or an
- enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result
+ or an enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
@@ -1288,8 +1299,8 @@
<div class="jd-tagdata jd-tagdescr"><p>Indicates whether the pending result has been canceled either due to calling
- {GoogleApiClient#disconnect} or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result or an
- enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#disconnect()">disconnect()</a></code> or calling <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code> directly on the pending result
+ or an enclosing <code><a href="/reference/com/google/android/gms/common/api/Batch.html">Batch</a></code>.
</p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/PendingResults.html b/docs/html/reference/com/google/android/gms/common/api/PendingResults.html
index 2168c55..d9736a0 100644
--- a/docs/html/reference/com/google/android/gms/common/api/PendingResults.html
+++ b/docs/html/reference/com/google/android/gms/common/api/PendingResults.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Releasable.html b/docs/html/reference/com/google/android/gms/common/api/Releasable.html
index 6bc56af..0c38bba 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Releasable.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Releasable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -921,7 +932,7 @@
<a href="/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html">AutocompletePredictionBuffer</a>,
and
- <a href="#" onclick="return toggleInherited(document.getElementById('subclasses-indirect', null))">29 others.</a>
+ <a href="#" onclick="return toggleInherited(document.getElementById('subclasses-indirect', null))">31 others.</a>
@@ -1022,9 +1033,9 @@
<tr class="alt-color api apilevel-" >
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/tagmanager/ContainerHolder.html">ContainerHolder</a></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a></td>
<td class="jd-descrcol" width="100%">
- Holder for an active container.
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>.
@@ -1033,6 +1044,17 @@
<tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html">DataApi.GetFdForAssetResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a file descriptor for the requested asset.
@@ -1043,7 +1065,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/data/DataBuffer.html">DataBuffer</a><T></td>
<td class="jd-descrcol" width="100%">
Interface for a buffer of typed data.
@@ -1054,7 +1076,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataEventBuffer.html">DataEventBuffer</a></td>
<td class="jd-descrcol" width="100%">
Data structure holding references to a set of events.
@@ -1065,7 +1087,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataItemBuffer.html">DataItemBuffer</a></td>
<td class="jd-descrcol" width="100%">
Data structure holding reference to a set of <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">DataItem</a></code>s.
@@ -1076,6 +1098,17 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html">DriveApi.MetadataBufferResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result that contains a <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html">MetadataBuffer</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
<tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/event/EventBuffer.html">EventBuffer</a></td>
<td class="jd-descrcol" width="100%">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Result.html b/docs/html/reference/com/google/android/gms/common/api/Result.html
index 88704e1..b7d80ca 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Result.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Result.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -919,7 +930,7 @@
and
- <a href="#" onclick="return toggleInherited(document.getElementById('subclasses-indirect', null))">52 others.</a>
+ <a href="#" onclick="return toggleInherited(document.getElementById('subclasses-indirect', null))">60 others.</a>
@@ -1043,6 +1054,50 @@
<tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html">CapabilityApi.AddLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">addLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html">CapabilityApi.GetAllCapabilitiesResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html">CapabilityApi.GetCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html">CapabilityApi.RemoveLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">removeLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/Cast.ApplicationConnectionResult.html">Cast.ApplicationConnectionResult</a></td>
<td class="jd-descrcol" width="100%">
When a connection to a receiver application has been established, this object contains
@@ -1056,9 +1111,9 @@
<tr class=" api apilevel-" >
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html">Connections.StartAdvertisingResult</a></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a></td>
<td class="jd-descrcol" width="100%">
- Result delivered when a local endpoint starts being advertised.
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>.
@@ -1067,9 +1122,31 @@
<tr class="alt-color api apilevel-" >
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/tagmanager/ContainerHolder.html">ContainerHolder</a></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a></td>
<td class="jd-descrcol" width="100%">
- Holder for an active container.
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html">Connections.StartAdvertisingResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result delivered when a local endpoint starts being advertised.
@@ -1078,6 +1155,17 @@
<tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html">DailyTotalResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">readDailyTotal(GoogleApiClient, DataType)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html">DataApi.DataItemResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a single data item.
@@ -1088,7 +1176,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html">DataApi.DeleteDataItemsResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the number of deleted items.
@@ -1099,7 +1187,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html">DataApi.GetFdForAssetResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a file descriptor for the requested asset.
@@ -1110,7 +1198,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataEventBuffer.html">DataEventBuffer</a></td>
<td class="jd-descrcol" width="100%">
Data structure holding references to a set of events.
@@ -1121,7 +1209,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataItemBuffer.html">DataItemBuffer</a></td>
<td class="jd-descrcol" width="100%">
Data structure holding reference to a set of <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">DataItem</a></code>s.
@@ -1132,7 +1220,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html">DataReadResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)">readData(GoogleApiClient, DataReadRequest)</a></code>.
@@ -1143,7 +1231,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataSourcesResult.html">DataSourcesResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#findDataSources(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)">findDataSources(GoogleApiClient, DataSourcesRequest)</a></code>.
@@ -1154,7 +1242,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataTypeResult.html">DataTypeResult</a></td>
<td class="jd-descrcol" width="100%">
Result of
@@ -1166,7 +1254,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html">DriveApi.DriveContentsResult</a></td>
<td class="jd-descrcol" width="100%">
Result that contains a <code><a href="/reference/com/google/android/gms/drive/DriveContents.html">DriveContents</a></code>.
@@ -1177,7 +1265,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html">DriveApi.DriveIdResult</a></td>
<td class="jd-descrcol" width="100%">
Result that contains a <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>.
@@ -1188,7 +1276,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html">DriveApi.MetadataBufferResult</a></td>
<td class="jd-descrcol" width="100%">
Result that contains a <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html">MetadataBuffer</a></code>.
@@ -1199,7 +1287,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html">DriveFolder.DriveFileResult</a></td>
<td class="jd-descrcol" width="100%">
A result that contains a <code><a href="/reference/com/google/android/gms/drive/DriveFile.html">DriveFile</a></code>.
@@ -1210,7 +1298,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html">DriveFolder.DriveFolderResult</a></td>
<td class="jd-descrcol" width="100%">
A result that contains a <code><a href="/reference/com/google/android/gms/drive/DriveFolder.html">DriveFolder</a></code>.
@@ -1221,7 +1309,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html">DrivePreferencesApi.FileUploadPreferencesResult</a></td>
<td class="jd-descrcol" width="100%">
Result that contains a <code><a href="/reference/com/google/android/gms/drive/FileUploadPreferences.html">FileUploadPreferences</a></code> reference.
@@ -1232,7 +1320,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveResource.MetadataResult.html">DriveResource.MetadataResult</a></td>
<td class="jd-descrcol" width="100%">
Result that is returned in response to metadata requests.
@@ -1243,7 +1331,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/event/Events.LoadEventsResult.html">Events.LoadEventsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when event data has been loaded.
@@ -1254,7 +1342,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html">GamesMetadata.LoadGamesResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when game metadata has been loaded.
@@ -1265,7 +1353,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html">Invitations.LoadInvitationsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when invitations have been loaded.
@@ -1276,7 +1364,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html">Leaderboards.LeaderboardMetadataResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when leaderboard metadata has been loaded.
@@ -1287,7 +1375,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html">Leaderboards.LoadPlayerScoreResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when a player's leaderboard score has been loaded.
@@ -1298,7 +1386,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html">Leaderboards.LoadScoresResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when leaderboard scores have been loaded.
@@ -1309,7 +1397,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html">Leaderboards.SubmitScoreResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when a leaderboard score has been submitted.
@@ -1320,7 +1408,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html">ListSubscriptionsResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/RecordingApi.html#listSubscriptions(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">listSubscriptions(GoogleApiClient, DataType)</a></code>.
@@ -1331,7 +1419,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsResult.html">LocationSettingsResult</a></td>
<td class="jd-descrcol" width="100%">
Result of checking settings via <code><a href="/reference/com/google/android/gms/location/SettingsApi.html#checkLocationSettings(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationSettingsRequest)">checkLocationSettings(GoogleApiClient, LocationSettingsRequest)</a></code>,
@@ -1344,7 +1432,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html">MessageApi.SendMessageResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the request id assigned to the message.
@@ -1355,7 +1443,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html">Moments.LoadMomentsResult</a></td>
<td class="jd-descrcol" width="100%">
Information about the set of moments that was loaded.
@@ -1366,7 +1454,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html">NodeApi.GetConnectedNodesResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a list of connected nodes.
@@ -1377,7 +1465,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html">NodeApi.GetLocalNodeResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the name and id that represents this device.
@@ -1388,7 +1476,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html">PanoramaApi.PanoramaResult</a></td>
<td class="jd-descrcol" width="100%">
Result interface for loading panorama info.
@@ -1399,7 +1487,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/plus/People.LoadPeopleResult.html">People.LoadPeopleResult</a></td>
<td class="jd-descrcol" width="100%">
Information about the set of people that was loaded.
@@ -1410,7 +1498,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/places/PlaceBuffer.html">PlaceBuffer</a></td>
<td class="jd-descrcol" width="100%">
Data structure providing access to a list of <code><a href="/reference/com/google/android/gms/location/places/Place.html">Places</a></code>.
@@ -1421,7 +1509,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html">PlaceLikelihoodBuffer</a></td>
<td class="jd-descrcol" width="100%">
A <code>DataBuffer</code> that represents a list of <code>PlaceLikelihood</code>s.
@@ -1432,7 +1520,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/Players.LoadPlayersResult.html">Players.LoadPlayersResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when player data has been loaded.
@@ -1443,7 +1531,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html">Players.LoadProfileSettingsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when the profile settings of the signed-in player have been loaded.
@@ -1454,7 +1542,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html">Quests.AcceptQuestResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when accepting a quest.
@@ -1465,7 +1553,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html">Quests.ClaimMilestoneResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when claiming a milestone.
@@ -1476,7 +1564,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html">Quests.LoadQuestsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when quest data has been loaded.
@@ -1487,7 +1575,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/cast/RemoteMediaPlayer.MediaChannelResult.html">RemoteMediaPlayer.MediaChannelResult</a></td>
<td class="jd-descrcol" width="100%">
Result of a media command.
@@ -1498,7 +1586,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html">Requests.LoadRequestsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when requests have loaded.
@@ -1509,7 +1597,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html">Requests.UpdateRequestsResult</a></td>
<td class="jd-descrcol" width="100%">
Result delivered when requests are updated.
@@ -1520,7 +1608,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html">SafetyNetApi.AttestationResult</a></td>
<td class="jd-descrcol" width="100%">
Result that contains an attestation result.
@@ -1531,6 +1619,17 @@
</tr>
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(GoogleApiClient, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/SessionReadResult.html">SessionReadResult</a></td>
<td class="jd-descrcol" width="100%">
@@ -1758,6 +1857,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1835,7 +1941,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/ResultCallback.html b/docs/html/reference/com/google/android/gms/common/api/ResultCallback.html
index 0245766..c0899a0 100644
--- a/docs/html/reference/com/google/android/gms/common/api/ResultCallback.html
+++ b/docs/html/reference/com/google/android/gms/common/api/ResultCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -992,9 +1003,12 @@
<div class="jd-tagdata jd-tagdescr"><p>Called when the <code><a href="/reference/com/google/android/gms/common/api/Result.html">Result</a></code> is ready.
- It is the responsibility of each callback to release any resources associated with the
+ <p>It is the responsibility of the callback to release any resources associated with the
result. Some result types may implement <code><a href="/reference/com/google/android/gms/common/api/Releasable.html">Releasable</a></code>, in which case
- <code><a href="/reference/com/google/android/gms/common/api/Releasable.html#release()">release()</a></code> should be used to free the associated resources.</p></div>
+ <code><a href="/reference/com/google/android/gms/common/api/Releasable.html#release()">release()</a></code> should be used to free the associated resources.
+
+ <p>This method is called on the main thread, unless overridden by
+ {GoogleApiClient.Builder#setHandler}.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Scope.html b/docs/html/reference/com/google/android/gms/common/api/Scope.html
index e62a1fb..d586d1b 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Scope.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Scope.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/api/Status.html b/docs/html/reference/com/google/android/gms/common/api/Status.html
index d787e5c..2ff8b96 100644
--- a/docs/html/reference/com/google/android/gms/common/api/Status.html
+++ b/docs/html/reference/com/google/android/gms/common/api/Status.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1197,6 +1208,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Status.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1710,6 +1728,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -2073,7 +2098,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/common/api/package-summary.html b/docs/html/reference/com/google/android/gms/common/api/package-summary.html
index 54fdeec..166b2ef 100644
--- a/docs/html/reference/com/google/android/gms/common/api/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/common/api/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/AbstractDataBuffer.html b/docs/html/reference/com/google/android/gms/common/data/AbstractDataBuffer.html
index 849a46e..2882b97 100644
--- a/docs/html/reference/com/google/android/gms/common/data/AbstractDataBuffer.html
+++ b/docs/html/reference/com/google/android/gms/common/data/AbstractDataBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/DataBuffer.html b/docs/html/reference/com/google/android/gms/common/data/DataBuffer.html
index d1e7c49..d7ae66c 100644
--- a/docs/html/reference/com/google/android/gms/common/data/DataBuffer.html
+++ b/docs/html/reference/com/google/android/gms/common/data/DataBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html
index d9ae1b4..d0b3db6 100644
--- a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html
+++ b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.html b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.html
index a165e1f..e6e274b 100644
--- a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.html
+++ b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserver.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserverSet.html b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserverSet.html
index f714097..775d4b3 100644
--- a/docs/html/reference/com/google/android/gms/common/data/DataBufferObserverSet.html
+++ b/docs/html/reference/com/google/android/gms/common/data/DataBufferObserverSet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/DataBufferUtils.html b/docs/html/reference/com/google/android/gms/common/data/DataBufferUtils.html
index 0a00265..c802e3e 100644
--- a/docs/html/reference/com/google/android/gms/common/data/DataBufferUtils.html
+++ b/docs/html/reference/com/google/android/gms/common/data/DataBufferUtils.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/Freezable.html b/docs/html/reference/com/google/android/gms/common/data/Freezable.html
index dd4cb28..d244b70 100644
--- a/docs/html/reference/com/google/android/gms/common/data/Freezable.html
+++ b/docs/html/reference/com/google/android/gms/common/data/Freezable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/FreezableUtils.html b/docs/html/reference/com/google/android/gms/common/data/FreezableUtils.html
index 884e16f..e395261 100644
--- a/docs/html/reference/com/google/android/gms/common/data/FreezableUtils.html
+++ b/docs/html/reference/com/google/android/gms/common/data/FreezableUtils.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/data/package-summary.html b/docs/html/reference/com/google/android/gms/common/data/package-summary.html
index b225812..eaf3754 100644
--- a/docs/html/reference/com/google/android/gms/common/data/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/common/data/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html b/docs/html/reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html
index 2c99405..a3a8ab8 100644
--- a/docs/html/reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html
+++ b/docs/html/reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/images/ImageManager.html b/docs/html/reference/com/google/android/gms/common/images/ImageManager.html
index abfe37b..901c08d 100644
--- a/docs/html/reference/com/google/android/gms/common/images/ImageManager.html
+++ b/docs/html/reference/com/google/android/gms/common/images/ImageManager.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/images/WebImage.html b/docs/html/reference/com/google/android/gms/common/images/WebImage.html
index e1e6523..a0cb182 100644
--- a/docs/html/reference/com/google/android/gms/common/images/WebImage.html
+++ b/docs/html/reference/com/google/android/gms/common/images/WebImage.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/images/package-summary.html b/docs/html/reference/com/google/android/gms/common/images/package-summary.html
index de035ad..30dab1a 100644
--- a/docs/html/reference/com/google/android/gms/common/images/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/common/images/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/common/package-summary.html b/docs/html/reference/com/google/android/gms/common/package-summary.html
index bb4dfa0..989bdd2 100644
--- a/docs/html/reference/com/google/android/gms/common/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/common/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -849,6 +860,18 @@
<tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GoogleApiAvailability.html">GoogleApiAvailability</a></td>
+ <td class="jd-descrcol" width="100%">
+ Helper class for verifying that the Google Play services APK is available and
+ up-to-date on this device.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html">GooglePlayServicesUtil</a></td>
<td class="jd-descrcol" width="100%">
Utility class for verifying that the Google Play services APK is available and
@@ -860,7 +883,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/Scopes.html">Scopes</a></td>
<td class="jd-descrcol" width="100%">
OAuth 2.0 scopes for use with Google Play services.
@@ -871,7 +894,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/SignInButton.html">SignInButton</a></td>
<td class="jd-descrcol" width="100%">
The Google sign-in button to authenticate the user.
@@ -882,7 +905,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/SupportErrorDialogFragment.html">SupportErrorDialogFragment</a></td>
<td class="jd-descrcol" width="100%">
Wraps the <code><a href="/reference/android/app/Dialog.html">Dialog</a></code> returned by
diff --git a/docs/html/reference/com/google/android/gms/drive/CreateFileActivityBuilder.html b/docs/html/reference/com/google/android/gms/drive/CreateFileActivityBuilder.html
index d8bbc53..d6c0dcb 100644
--- a/docs/html/reference/com/google/android/gms/drive/CreateFileActivityBuilder.html
+++ b/docs/html/reference/com/google/android/gms/drive/CreateFileActivityBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/Drive.html b/docs/html/reference/com/google/android/gms/drive/Drive.html
index 5078a36..231c02f 100644
--- a/docs/html/reference/com/google/android/gms/drive/Drive.html
+++ b/docs/html/reference/com/google/android/gms/drive/Drive.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html b/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html
index 998a1c8..d247c99 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html b/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html
index bd65dcf..bc7b685c 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html b/docs/html/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html
index b0c0d96..baacca8 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -781,6 +792,13 @@
+
+
+
+
+
+
+
<div class="sum-details-links">
Summary:
@@ -832,6 +850,8 @@
<a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">Releasable</a>
+
@@ -988,6 +1008,55 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Releasable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Releasable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">com.google.android.gms.common.api.Releasable</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Releasable">
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Releasable.html#release()">release</a></span>()</nobr>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveApi.html b/docs/html/reference/com/google/android/gms/drive/DriveApi.html
index cc6691b..0d090077 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveApi.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1722,7 +1733,7 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>A PendingResult which can be used to retrieve the result set. Be sure to call
- <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> when you're done with the result.
+ <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release()</a></code> when you're done with the result.
</li></ul>
</div>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveContents.html b/docs/html/reference/com/google/android/gms/drive/DriveContents.html
index 51232ff..30fdb92 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveContents.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveContents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html b/docs/html/reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html
index 92d6af3..35dca50 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveFile.html b/docs/html/reference/com/google/android/gms/drive/DriveFile.html
index edb85fc..66f67e4 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveFile.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveFile.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html b/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html
index 62e292e..4008b38 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html b/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html
index aff74bb..abd491a 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveFolder.html b/docs/html/reference/com/google/android/gms/drive/DriveFolder.html
index 4b7d119..87188f6 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveFolder.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveFolder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1540,8 +1551,7 @@
</tr>
<tr>
<th>changeSet</td>
- <td>A set of metadata fields that should be initially set. This must
- minimally include a title and mime type.</td>
+ <td>A set of metadata fields that should be initially set.</td>
</tr>
<tr>
<th>driveContents</td>
@@ -1613,8 +1623,7 @@
</tr>
<tr>
<th>changeSet</td>
- <td>A set of metadata fields that should be initially set. This must
- minimally include a title and mime type.</td>
+ <td>A set of metadata fields that should be initially set.</td>
</tr>
<tr>
<th>driveContents</td>
@@ -1728,7 +1737,7 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>A PendingResult which can be used to retrieve the children list. Be sure to call
- <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> when you're done with the result.
+ <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release()</a></code> when you're done with the result.
</li></ul>
</div>
@@ -1780,7 +1789,7 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>A PendingResult which can be used to retrieve the children list. Be sure to call
- <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> when you're done with the result.
+ <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release()</a></code> when you're done with the result.
</li></ul>
</div>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveId.html b/docs/html/reference/com/google/android/gms/drive/DriveId.html
index 29cc084..ecd1fd7 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveId.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveId.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1237,6 +1248,29 @@
<td class="jd-typecol"><nobr>
+ final
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/drive/DriveId.html#toInvariantString()">toInvariantString</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns an invariant string for this <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
@@ -1256,7 +1290,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1867,7 +1901,8 @@
The String representation is not guaranteed to be stable over time for a given resource so
should never be compared for equality. Always use <code><a href="/reference/com/google/android/gms/drive/DriveId.html#decodeFromString(java.lang.String)">decodeFromString(String)</a></code> and
then <code><a href="/reference/com/google/android/gms/drive/DriveId.html#equals(java.lang.Object)">equals(Object)</a></code> to compare two identifiers to see if they refer to the
- same resource.
+ same resource. Otherwise, <code><a href="/reference/com/google/android/gms/drive/DriveId.html#toInvariantString()">toInvariantString()</a></code> is stable and can be safely
+ used for <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code> comparison.
</p></div>
</div>
@@ -2013,6 +2048,47 @@
</div>
+<A NAME="toInvariantString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+ final
+
+
+ String
+ </span>
+ <span class="sympad">toInvariantString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns an invariant string for this <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>. This is stable over time, so for a
+ given <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>, this value will always remain the same, and is guaranteed to be unique
+ for each <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>. The client can use it directly to compare equality of
+ <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>s, since two <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>s are equal if and only if its invariant string
+ is equal.
+ <p>
+ Note: This value cannot be used to <code><a href="/reference/com/google/android/gms/drive/DriveId.html#decodeFromString(java.lang.String)">decodeFromString(String)</a></code>, since it's not meant
+ to encode a <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>, but can be useful for client-side string-based <code><a href="/reference/com/google/android/gms/drive/DriveId.html">DriveId</a></code>
+ comparison, or for logging purposes.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="toString()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html b/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html
index 1786fb6..4890225 100644
--- a/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.html b/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.html
index e7254c2..1a3904f 100644
--- a/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.html
+++ b/docs/html/reference/com/google/android/gms/drive/DrivePreferencesApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveResource.MetadataResult.html b/docs/html/reference/com/google/android/gms/drive/DriveResource.MetadataResult.html
index be43cb6..c8f7f70 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveResource.MetadataResult.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveResource.MetadataResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveResource.html b/docs/html/reference/com/google/android/gms/drive/DriveResource.html
index f5d8fb9..ef01ea8 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveResource.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveResource.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1498,7 +1509,7 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>A PendingResult which can be used to retrieve the parents list. Be sure to call
- <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> when you're done with the result.
+ <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release()</a></code> when you're done with the result.
</li></ul>
</div>
diff --git a/docs/html/reference/com/google/android/gms/drive/DriveStatusCodes.html b/docs/html/reference/com/google/android/gms/drive/DriveStatusCodes.html
index 4615a7e..897ea2b 100644
--- a/docs/html/reference/com/google/android/gms/drive/DriveStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/drive/DriveStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -951,6 +962,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveStatusCodes.html#DRIVE_CONTENTS_TOO_LARGE">DRIVE_CONTENTS_TOO_LARGE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The operation failed because the given contents exceeded the maximum allowed contents size.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveStatusCodes.html#DRIVE_EXTERNAL_STORAGE_REQUIRED">DRIVE_EXTERNAL_STORAGE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
<em>
@@ -964,7 +987,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveStatusCodes.html#DRIVE_RATE_LIMIT_EXCEEDED">DRIVE_RATE_LIMIT_EXCEEDED</a></td>
<td class="jd-descrcol" width="100%">
@@ -976,7 +999,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/drive/DriveStatusCodes.html#DRIVE_RESOURCE_NOT_AVAILABLE">DRIVE_RESOURCE_NOT_AVAILABLE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1021,6 +1044,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1031,7 +1066,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1043,7 +1078,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1055,7 +1090,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1067,7 +1102,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1079,7 +1114,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1091,7 +1126,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1103,7 +1138,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1115,7 +1150,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1127,7 +1162,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1139,7 +1174,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1151,7 +1186,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1163,7 +1198,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1175,7 +1210,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1187,7 +1222,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1199,7 +1234,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1211,7 +1246,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1560,6 +1595,48 @@
+<A NAME="DRIVE_CONTENTS_TOO_LARGE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ DRIVE_CONTENTS_TOO_LARGE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The operation failed because the given contents exceeded the maximum allowed contents size.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1508
+ (0x000005e4)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="DRIVE_EXTERNAL_STORAGE_REQUIRED"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html b/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html
index d47f426..6b23f87 100644
--- a/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1517,7 +1528,7 @@
particular action either succeeds or fails when applied on the server. A notification
will only be delivered if <code><a href="/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html#setNotifyOnCompletion(boolean)">setNotifyOnCompletion(boolean)</a></code> is called. This tag may contain
any information that will be helpful to the caller in the event of a conflict or a
- failure to apply an action on the server, for example,a commit identifier or a delta
+ failure to apply an action on the server, for example, a commit identifier or a delta
representing the changes made in the commit.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
diff --git a/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.html b/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.html
index 019c6f0..d10aec5 100644
--- a/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.html
+++ b/docs/html/reference/com/google/android/gms/drive/ExecutionOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1332,7 +1343,6 @@
<code><a href="/reference/com/google/android/gms/drive/DriveContents.html#reopenForWrite(com.google.android.gms.common.api.GoogleApiClient)">reopenForWrite(GoogleApiClient)</a></code>. This is because the API can only
detect conflicts if the written contents are based upon a known revision. In both cases the
base revision is considered the one obtained through the first <code><a href="/reference/com/google/android/gms/drive/DriveFile.html#open(com.google.android.gms.common.api.GoogleApiClient, int, com.google.android.gms.drive.DriveFile.DownloadProgressListener)">open(GoogleApiClient, int, DriveFile.DownloadProgressListener)</a></code>.
-
</p></div>
diff --git a/docs/html/reference/com/google/android/gms/drive/FileUploadPreferences.html b/docs/html/reference/com/google/android/gms/drive/FileUploadPreferences.html
index 36370ca..13ef203 100644
--- a/docs/html/reference/com/google/android/gms/drive/FileUploadPreferences.html
+++ b/docs/html/reference/com/google/android/gms/drive/FileUploadPreferences.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/Metadata.html b/docs/html/reference/com/google/android/gms/drive/Metadata.html
index bcae8eb..de3974a 100644
--- a/docs/html/reference/com/google/android/gms/drive/Metadata.html
+++ b/docs/html/reference/com/google/android/gms/drive/Metadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/MetadataBuffer.html b/docs/html/reference/com/google/android/gms/drive/MetadataBuffer.html
index a284bcd..7bb4bf0 100644
--- a/docs/html/reference/com/google/android/gms/drive/MetadataBuffer.html
+++ b/docs/html/reference/com/google/android/gms/drive/MetadataBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -918,7 +929,7 @@
<h2>Class Overview</h2>
<p itemprop="articleBody">A data buffer that points to Metadata entries. Objects of this class are returned in responses to
list requests (such as <code><a href="/reference/com/google/android/gms/drive/DriveApi.html#query(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.drive.query.Query)">query(GoogleApiClient, Query)</a></code>). This object behaves as an <code><a href="/reference/java/lang/Iterable.html">Iterable</a></code>, as
- well as allowing indexed access to its entries. Be sure to call <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> on any buffers
+ well as allowing indexed access to its entries. Be sure to call <code><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release()</a></code> on any buffers
when you are done with them.
</p>
@@ -1029,6 +1040,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/drive/MetadataBuffer.html#release()">release</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Releases resources used by the buffer.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
</table>
@@ -1818,6 +1852,39 @@
</div>
+<A NAME="release()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">release</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Releases resources used by the buffer. This method is idempotent.
+</p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html b/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html
index e859096d..e84fe80 100644
--- a/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html
+++ b/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.html b/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.html
index 110d717..8c3570c 100644
--- a/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.html
+++ b/docs/html/reference/com/google/android/gms/drive/MetadataChangeSet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/OpenFileActivityBuilder.html b/docs/html/reference/com/google/android/gms/drive/OpenFileActivityBuilder.html
index b09f528..88a78cfd 100644
--- a/docs/html/reference/com/google/android/gms/drive/OpenFileActivityBuilder.html
+++ b/docs/html/reference/com/google/android/gms/drive/OpenFileActivityBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/ChangeEvent.html b/docs/html/reference/com/google/android/gms/drive/events/ChangeEvent.html
index 6168ef5..2551a8e 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/ChangeEvent.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/ChangeEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -789,9 +800,9 @@
-
+
diff --git a/docs/html/reference/com/google/android/gms/drive/events/ChangeListener.html b/docs/html/reference/com/google/android/gms/drive/events/ChangeListener.html
index 6566de7..9c2f920 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/ChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/ChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/CompletionEvent.html b/docs/html/reference/com/google/android/gms/drive/events/CompletionEvent.html
index c3f88ee..41bedf9 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/CompletionEvent.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/CompletionEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -792,9 +803,9 @@
-
-
+
+
@@ -918,7 +929,7 @@
Refer to <code><a href="/reference/com/google/android/gms/drive/events/DriveEvent.html">DriveEvent</a></code> for additional information about event listeners and subscriptions.
<p>
- Completion events are only delivered to the application that committed the original change. If
+ Completion events are only delivered to the application that committed the original request. If
the original change modified the metadata or content of the file and the action failed to
complete on the server, this class provides access to the modified versions of the metadata and
content that could not be committed.
@@ -1355,7 +1366,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/drive/events/CompletionEvent.html#getTrackingTags()">getTrackingTags</a></span>()</nobr>
<div class="jd-descrdiv">
- Returns a <code><a href="/reference/java/util/List.html">List</a></code> of tracking tags provided through <code><a href="/reference/com/google/android/gms/drive/DriveContents.html#commit(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.drive.MetadataChangeSet)">commit(GoogleApiClient, MetadataChangeSet)</a></code>.
+ Returns a <code><a href="/reference/java/util/List.html">List</a></code> of tracking tags provided through
+ <code><a href="/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html#setTrackingTag(java.lang.String)">setTrackingTag(String)</a></code>.
@@ -2144,8 +2156,9 @@
<div class="jd-tagdata jd-tagdescr"><p>Returns the account name that was used by the GoogleApiClient that requested this
notification, or <code>null</code> if the default account was used.
- <p>This method is provided so that when a completion event is delivered, the correct
- GoogleApiClient can be built to work with the file.
+ <p>
+ This method is provided so that when a completion event is delivered, the correct
+ <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> can be built to work with the file.
</p></div>
</div>
@@ -2378,9 +2391,9 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/java/util/List.html">List</a></code> of tracking tags provided through <code><a href="/reference/com/google/android/gms/drive/DriveContents.html#commit(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.drive.MetadataChangeSet)">commit(GoogleApiClient, MetadataChangeSet)</a></code>. The
- application can use these tags to relate this event with the specific method execution that
- generated it.
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="/reference/java/util/List.html">List</a></code> of tracking tags provided through
+ <code><a href="/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html#setTrackingTag(java.lang.String)">setTrackingTag(String)</a></code>. The application can use these tags to relate
+ this event with the specific method execution that generated it.
<p>
If the list contains multiple elements, the ordering of the elements is guaranteed to be the
diff --git a/docs/html/reference/com/google/android/gms/drive/events/CompletionListener.html b/docs/html/reference/com/google/android/gms/drive/events/CompletionListener.html
index 294afef..866ce54 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/CompletionListener.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/CompletionListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/DriveEvent.html b/docs/html/reference/com/google/android/gms/drive/events/DriveEvent.html
index 7f2fd6d..2bc26fc 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/DriveEvent.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/DriveEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/DriveEventService.html b/docs/html/reference/com/google/android/gms/drive/events/DriveEventService.html
index c0cded7..ae0c9d2 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/DriveEventService.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/DriveEventService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/ResourceEvent.html b/docs/html/reference/com/google/android/gms/drive/events/ResourceEvent.html
index b5f9c15..f1649fc 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/ResourceEvent.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/ResourceEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/events/package-summary.html b/docs/html/reference/com/google/android/gms/drive/events/package-summary.html
index c2a693b..efb6459 100644
--- a/docs/html/reference/com/google/android/gms/drive/events/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/drive/events/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html b/docs/html/reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html
index 0a1c19d..a2d86f9 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/MetadataField.html b/docs/html/reference/com/google/android/gms/drive/metadata/MetadataField.html
index eba4f72..f441023 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/MetadataField.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/MetadataField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html
index fc90072..17f77b3 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html
index cfcaa68..d7a5de4 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html
index 7abde7a..ede1dd7 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/SortableMetadataField.html b/docs/html/reference/com/google/android/gms/drive/metadata/SortableMetadataField.html
index a538e70..5ec0421 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/SortableMetadataField.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/SortableMetadataField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/metadata/package-summary.html b/docs/html/reference/com/google/android/gms/drive/metadata/package-summary.html
index b9630d4e..a917bfd 100644
--- a/docs/html/reference/com/google/android/gms/drive/metadata/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/drive/metadata/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/package-summary.html b/docs/html/reference/com/google/android/gms/drive/package-summary.html
index 0b2eba8..5cee80a 100644
--- a/docs/html/reference/com/google/android/gms/drive/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/drive/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/Filter.html b/docs/html/reference/com/google/android/gms/drive/query/Filter.html
index ecc1a3e..8071ee1 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/Filter.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/Filter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/Filters.html b/docs/html/reference/com/google/android/gms/drive/query/Filters.html
index 314d9c9..b9a9a77 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/Filters.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/Filters.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1299,6 +1310,29 @@
<a href="/reference/com/google/android/gms/drive/query/Filter.html">Filter</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/drive/query/Filters.html#ownedByMe()">ownedByMe</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns a filter that matches only items that the current user owns.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ <a href="/reference/com/google/android/gms/drive/query/Filter.html">Filter</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/drive/query/Filters.html#sharedWithMe()">sharedWithMe</a></span>()</nobr>
<div class="jd-descrdiv">
@@ -2078,6 +2112,39 @@
</div>
+<A NAME="ownedByMe()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ <a href="/reference/com/google/android/gms/drive/query/Filter.html">Filter</a>
+ </span>
+ <span class="sympad">ownedByMe</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a filter that matches only items that the current user owns.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="sharedWithMe()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/Query.Builder.html b/docs/html/reference/com/google/android/gms/drive/query/Query.Builder.html
index d94204a..546a980 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/Query.Builder.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/Query.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/Query.html b/docs/html/reference/com/google/android/gms/drive/query/Query.html
index 22ca93d..d2be77e 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/Query.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/Query.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/SearchableField.html b/docs/html/reference/com/google/android/gms/drive/query/SearchableField.html
index d1e1e26..bf1ceac 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/SearchableField.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/SearchableField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/SortOrder.Builder.html b/docs/html/reference/com/google/android/gms/drive/query/SortOrder.Builder.html
index 9a169cb..e10c185 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/SortOrder.Builder.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/SortOrder.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/SortOrder.html b/docs/html/reference/com/google/android/gms/drive/query/SortOrder.html
index f1d77a6..0f933bc 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/SortOrder.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/SortOrder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/SortableField.html b/docs/html/reference/com/google/android/gms/drive/query/SortableField.html
index a15b04a..1978a77 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/SortableField.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/SortableField.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/query/package-summary.html b/docs/html/reference/com/google/android/gms/drive/query/package-summary.html
index effbe90..c6534da 100644
--- a/docs/html/reference/com/google/android/gms/drive/query/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/drive/query/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/widget/DataBufferAdapter.html b/docs/html/reference/com/google/android/gms/drive/widget/DataBufferAdapter.html
index 96211d5..56e994b 100644
--- a/docs/html/reference/com/google/android/gms/drive/widget/DataBufferAdapter.html
+++ b/docs/html/reference/com/google/android/gms/drive/widget/DataBufferAdapter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/drive/widget/package-summary.html b/docs/html/reference/com/google/android/gms/drive/widget/package-summary.html
index 4e9193e..1e74eab 100644
--- a/docs/html/reference/com/google/android/gms/drive/widget/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/drive/widget/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/BleApi.html b/docs/html/reference/com/google/android/gms/fitness/BleApi.html
index 14bdfda..e72a748 100644
--- a/docs/html/reference/com/google/android/gms/fitness/BleApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/BleApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/ConfigApi.html b/docs/html/reference/com/google/android/gms/fitness/ConfigApi.html
index 39ec918..3daf73b 100644
--- a/docs/html/reference/com/google/android/gms/fitness/ConfigApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/ConfigApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/Fitness.html b/docs/html/reference/com/google/android/gms/fitness/Fitness.html
index 2da092b..875eaee 100644
--- a/docs/html/reference/com/google/android/gms/fitness/Fitness.html
+++ b/docs/html/reference/com/google/android/gms/fitness/Fitness.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -944,7 +955,7 @@
Fitness.SensorsApi.add(
mGoogleApiClient,
new SensorRequest.Builder()
- .setDataType(DataTypes.STEP_COUNT_DELTA)
+ .setDataType(DataType.STEP_COUNT_DELTA)
.build(),
this);
}
@@ -1413,6 +1424,46 @@
public
static
final
+ <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/Fitness.html#SCOPE_NUTRITION_READ">SCOPE_NUTRITION_READ</a></td>
+ <td class="jd-descrcol" width="100%">
+ Scope for read access to the nutrition data types in Google Fit, which include:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code>
+ </ul>
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/Fitness.html#SCOPE_NUTRITION_READ_WRITE">SCOPE_NUTRITION_READ_WRITE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Scope for read/write access to nutrition data types in Google Fit, which include:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code>
+ </ul>
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><<a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html">Api.ApiOptions.NoOptions</a>></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/Fitness.html#SENSORS_API">SENSORS_API</a></td>
<td class="jd-descrcol" width="100%">
@@ -2581,6 +2632,76 @@
+<A NAME="SCOPE_NUTRITION_READ"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope</a>
+ </span>
+ SCOPE_NUTRITION_READ
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Scope for read access to the nutrition data types in Google Fit, which include:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code>
+ </ul>
+</p></div>
+
+
+ </div>
+</div>
+
+
+
+<A NAME="SCOPE_NUTRITION_READ_WRITE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/common/api/Scope.html">Scope</a>
+ </span>
+ SCOPE_NUTRITION_READ_WRITE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Scope for read/write access to nutrition data types in Google Fit, which include:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code>
+ </ul>
+</p></div>
+
+
+ </div>
+</div>
+
+
+
<A NAME="SENSORS_API"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/FitnessActivities.html b/docs/html/reference/com/google/android/gms/fitness/FitnessActivities.html
index 373181f..66cbe72 100644
--- a/docs/html/reference/com/google/android/gms/fitness/FitnessActivities.html
+++ b/docs/html/reference/com/google/android/gms/fitness/FitnessActivities.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/FitnessStatusCodes.html b/docs/html/reference/com/google/android/gms/fitness/FitnessStatusCodes.html
index 40a580b..b2d6cfb 100644
--- a/docs/html/reference/com/google/android/gms/fitness/FitnessStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/fitness/FitnessStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1215,6 +1226,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1225,7 +1248,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1237,7 +1260,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1249,7 +1272,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1261,7 +1284,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1273,7 +1296,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1285,7 +1308,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1297,7 +1320,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1309,7 +1332,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1321,7 +1344,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1333,7 +1356,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1345,7 +1368,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1357,7 +1380,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1369,7 +1392,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1381,7 +1404,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1393,7 +1416,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1405,7 +1428,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
diff --git a/docs/html/reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html b/docs/html/reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html
index 2acfbe6..6724c7b 100644
--- a/docs/html/reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/HistoryApi.html b/docs/html/reference/com/google/android/gms/fitness/HistoryApi.html
index e8726c0..9566b2b 100644
--- a/docs/html/reference/com/google/android/gms/fitness/HistoryApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/HistoryApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -853,12 +864,12 @@
PendingResult<DataReadResult> pendingResult = Fitness.HistoryApi.readData(
client,
new DataReadRequest.Builder()
- .read(DataTypes.STEP_COUNT_DELTA)
+ .read(DataType.TYPE_STEP_COUNT_DELTA)
.setTimeRange(startTime.getMillis(), endTime.getMillis(), TimeUnit.MILLISECONDS)
.build());
DataReadResult readDataResult = pendingResult.await();
- DataSet dataSet = readDataResult.getDataSet(DataTypes.STEP_COUNT_DELTA);
+ DataSet dataSet = readDataResult.getDataSet(DataType.TYPE_STEP_COUNT_DELTA);
</pre>
</p>
@@ -999,6 +1010,29 @@
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html">DailyTotalResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">readDailyTotal</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a> dataType)</nobr>
+
+ <div class="jd-descrdiv">
+ Reads the current daily total for the given <code>dataType</code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html">DataReadResult</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1174,6 +1208,74 @@
</div>
+<A NAME="readDailyTotal(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html">DailyTotalResult</a>>
+ </span>
+ <span class="sympad">readDailyTotal</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a> dataType)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Reads the current daily total for the given <code>dataType</code>. The daily total will be
+ computed from midnight of the current day on the device's current timezone. The method
+ can be used as follows:
+ <pre>
+ PendingResult<DailyTotalResult> result = HistoryApi.readDailyTotal(client, TYPE_STEP_COUNT_DELTA);
+ DailyTotalResult totalResult = result.await(30, SECONDS);
+ if (totalResult.getStatus().isSuccess()) {
+ DataSet totalSet = totalResult.getTotal();
+ long total = totalSet.isEmpty()
+ ? 0
+ : totalSet.getDataPoints().get(0).getValue(FIELD_STEPS).asInt();
+ } else {
+ // handle failure
+ }
+ </pre>
+
+ <p>This is a simplified version of
+ <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)">readData()</a></code>. When the requested data
+ type is <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_STEP_COUNT_DELTA">TYPE_STEP_COUNT_DELTA</a></code>, authentication is not required to call this
+ method, making it specially suited for use by Watchface and Widget activities that don't
+ have the ability to show an authentication panel to the user.
+
+ <p>This method is equivalent to:
+ <pre>
+ readData(client, new DataReadRequest.Builder()
+ .setTimeRange(midnight.getMillis(), now.getMillis(), TimeUnit.MILLISECONDS)
+ .bucketByTime(1, TimeUnit.DAYS)
+ .aggregate(DataTypes.STEP_COUNT_DELTA, AggregateDataTypes.STEP_COUNT_DELTA)
+ .build());
+ </pre></p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>a pending result containing the requested data. The pending result will contain a
+ single DataSet. If no data has been collected for the requested data type today, the
+ DataSet will be empty.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/RecordingApi.html b/docs/html/reference/com/google/android/gms/fitness/RecordingApi.html
index 1fb0a91..c966444 100644
--- a/docs/html/reference/com/google/android/gms/fitness/RecordingApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/RecordingApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/SensorsApi.html b/docs/html/reference/com/google/android/gms/fitness/SensorsApi.html
index ddaee82..6bbd04c 100644
--- a/docs/html/reference/com/google/android/gms/fitness/SensorsApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/SensorsApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1133,8 +1144,8 @@
extract the DataPoint from the intent. See the documentation of
<code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> for more details.
<p>
- This method can be called several times with the same intent to change the
- desired sampling rate.</p></div>
+ Any previously registered requests that have the same PendingIntent
+ (as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>) will be replaced by this request.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1320,8 +1331,9 @@
</tr>
<tr>
<th>pendingIntent</td>
- <td>the intent that was used in the
- <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#add(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)">add</a></code> request.</td>
+ <td>the PendingIntent that was used in the
+ <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#add(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)">add</a></code> request or is
+ equal as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>.</td>
</tr>
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html b/docs/html/reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html
index 8c5e903..f6a6a2b 100644
--- a/docs/html/reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/SessionsApi.html b/docs/html/reference/com/google/android/gms/fitness/SessionsApi.html
index 7f9f7ee..c8f2509 100644
--- a/docs/html/reference/com/google/android/gms/fitness/SessionsApi.html
+++ b/docs/html/reference/com/google/android/gms/fitness/SessionsApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1293,7 +1304,10 @@
Finally, the Intent's type will be set to
<a href="/reference/com/google/android/gms/fitness/FitnessActivities.html#MIME_TYPE_PREFIX">MIME_TYPE_PREFIX</a></a> followed by the name of the activity
associated with this session, and can be computed by
- <code><a href="/reference/com/google/android/gms/fitness/FitnessActivities.html#getMimeType(java.lang.String)">getMimeType(String)</a></code>.</p></div>
+ <code><a href="/reference/com/google/android/gms/fitness/FitnessActivities.html#getMimeType(java.lang.String)">getMimeType(String)</a></code>.
+ <p>
+ Any previously registered sessions that have the same PendingIntent
+ (as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>) will be replaced by this session.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1467,6 +1481,12 @@
<th>client</td>
<td>an existing GoogleApiClient. Must be connected at the time of this call.</td>
</tr>
+ <tr>
+ <th>intent</td>
+ <td>the PendingIntent that was used in the
+ <code><a href="/reference/com/google/android/gms/fitness/SessionsApi.html#registerForSessions(com.google.android.gms.common.api.GoogleApiClient, android.app.PendingIntent)">registerForSessions</a></code>
+ call or is equal as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>.</td>
+ </tr>
</table>
</div>
<div class="jd-tagdata">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/BleDevice.html b/docs/html/reference/com/google/android/gms/fitness/data/BleDevice.html
index 16cfde4..7b72d9a 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/BleDevice.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/BleDevice.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -803,9 +814,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1001,31 +1009,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/BleDevice.html">BleDevice</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/BleDevice.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1515,44 +1498,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/BleDevice.html">BleDevice</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Bucket.html b/docs/html/reference/com/google/android/gms/fitness/data/Bucket.html
index 3539edb..c429461 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Bucket.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Bucket.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -806,9 +817,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1083,31 +1091,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Bucket.html">Bucket</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Bucket.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1836,44 +1819,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Bucket.html">Bucket</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/DataPoint.html b/docs/html/reference/com/google/android/gms/fitness/data/DataPoint.html
index e2cf5a5..5e30694 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/DataPoint.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/DataPoint.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -803,9 +814,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1011,31 +1019,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataPoint.html">DataPoint</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataPoint.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1733,44 +1716,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataPoint.html">DataPoint</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/DataSet.html b/docs/html/reference/com/google/android/gms/fitness/data/DataSet.html
index e02337b..436bcc3 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/DataSet.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/DataSet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -803,9 +814,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1011,31 +1019,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataSet.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1267,6 +1250,29 @@
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/DataSet.html#isEmpty()">isEmpty</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns whether this data set contains no data points.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1276,7 +1282,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1591,44 +1597,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
@@ -1994,6 +1962,43 @@
</div>
+<A NAME="isEmpty()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">isEmpty</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns whether this data set contains no data points.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if this data set has no data points, false otherwise.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="toString()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/DataSource.Builder.html b/docs/html/reference/com/google/android/gms/fitness/data/DataSource.Builder.html
index 7bc4149..6e42931 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/DataSource.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/DataSource.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1114,33 +1125,6 @@
<a href="/reference/com/google/android/gms/fitness/data/DataSource.Builder.html">DataSource.Builder</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/DataSource.Builder.html#setObfuscated(boolean)">setObfuscated</a></span>(boolean isObfuscated)</nobr>
-
- <div class="jd-descrdiv">
- <em>
- This method is deprecated.
- Obfuscation of data sources is no longer supported. This method is a
- no-op and will be removed in an upcoming release.
-</em>
-
-
-
- </div>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- <a href="/reference/com/google/android/gms/fitness/data/DataSource.Builder.html">DataSource.Builder</a></nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/DataSource.Builder.html#setStreamName(java.lang.String)">setStreamName</a></span>(String streamName)</nobr>
<div class="jd-descrdiv">
@@ -1155,7 +1139,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1708,44 +1692,6 @@
</div>
-<A NAME="setObfuscated(boolean)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
- <a href="/reference/com/google/android/gms/fitness/data/DataSource.Builder.html">DataSource.Builder</a>
- </span>
- <span class="sympad">setObfuscated</span>
- <span class="normal">(boolean isObfuscated)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
- <p>
- <p class="caution"><strong>
- This method is deprecated.</strong><br/>
- Obfuscation of data sources is no longer supported. This method is a
- no-op and will be removed in an upcoming release.
-
- </p>
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
<A NAME="setStreamName(java.lang.String)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/DataSource.html b/docs/html/reference/com/google/android/gms/fitness/data/DataSource.html
index e8a9608..a51ee6e 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/DataSource.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/DataSource.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -809,9 +820,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1090,31 +1098,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataSource.html">DataSource</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataSource.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1831,44 +1814,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataSource.html">DataSource</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/DataType.html b/docs/html/reference/com/google/android/gms/fitness/data/DataType.html
index 25d4ece..08dee86 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/DataType.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/DataType.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1114,7 +1125,11 @@
<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#AGGREGATE_CALORIES_CONSUMED">AGGREGATE_CALORIES_CONSUMED</a></td>
<td class="jd-descrcol" width="100%">
- Aggregate calories consumed,in kcal, during a time interval.
+ <em>
+ This field is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#AGGREGATE_NUTRITION_SUMMARY">AGGREGATE_NUTRITION_SUMMARY</a></code> instead, which contains calories as
+ well as other nutrients. This data type will be removed in a future release.
+</em>
@@ -1210,6 +1225,23 @@
static
final
<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#AGGREGATE_NUTRITION_SUMMARY">AGGREGATE_NUTRITION_SUMMARY</a></td>
+ <td class="jd-descrcol" width="100%">
+ In the <code>com.google.nutrition.summary</code> data type, each data point represents the sum of
+ all nutrition entries over the time interval of the data point.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#AGGREGATE_POWER_SUMMARY">AGGREGATE_POWER_SUMMARY</a></td>
<td class="jd-descrcol" width="100%">
In the <code>com.google.power.summary</code> data type, each data point represents
@@ -1221,7 +1253,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1239,7 +1271,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1255,7 +1287,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1273,22 +1305,6 @@
</tr>
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1366,8 +1382,11 @@
<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CALORIES_CONSUMED">TYPE_CALORIES_CONSUMED</a></td>
<td class="jd-descrcol" width="100%">
- In the <code>com.google.calories.consumed</code> data type, each data point represents the number
- of calories consumed, in kcal, over the time interval of the data point.
+ <em>
+ This field is deprecated.
+ Use <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code> instead which holds calories as well as other
+ nutrients. This data type will be removed in a future release.
+</em>
@@ -1551,6 +1570,23 @@
static
final
<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></td>
+ <td class="jd-descrcol" width="100%">
+ In the <code>com.google.nutrition</code> data type, each data point represents the value of
+ all nutrients consumed as part of a meal or a food item.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_POWER_SAMPLE">TYPE_POWER_SAMPLE</a></td>
<td class="jd-descrcol" width="100%">
In the <code>com.google.power.sample</code> data type, each data point represents an
@@ -1562,7 +1598,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1579,7 +1615,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1596,7 +1632,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1613,7 +1649,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -2344,11 +2380,16 @@
+ <p>
+ <p class="caution"><strong>
+ This field is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#AGGREGATE_NUTRITION_SUMMARY">AGGREGATE_NUTRITION_SUMMARY</a></code> instead, which contains calories as
+ well as other nutrients. This data type will be removed in a future release.
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>Aggregate calories consumed,in kcal, during a time interval. This data type is equivalent
to the one used for non-aggregated data. The full definition can be found at
- <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CALORIES_CONSUMED">TYPE_CALORIES_CONSUMED</a></code>.
-</p></div>
+ <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CALORIES_CONSUMED">TYPE_CALORIES_CONSUMED</a></code>.</p></div>
</div>
@@ -2487,11 +2528,11 @@
<ul>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_ACTIVITY_SEGMENT">activity.segment</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_BODY_FAT_PERCENTAGE">body.fat.percentage</a></code>
- <li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CALORIES_CONSUMED">calories.consumed</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CALORIES_EXPENDED">calories.expended</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_DISTANCE_DELTA">distance.delta</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_HEART_RATE_BPM">heart_rate.bpm</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_LOCATION_SAMPLE">location.sample</a></code>
+ <li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">nutrition</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_SPEED">speed</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_STEP_COUNT_DELTA">step_count.delta</a></code>
<li/><code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_WEIGHT">weight</a></code>
@@ -2551,6 +2592,46 @@
+<A NAME="AGGREGATE_NUTRITION_SUMMARY"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a>
+ </span>
+ AGGREGATE_NUTRITION_SUMMARY
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>In the <code>com.google.nutrition.summary</code> data type, each data point represents the sum of
+ all nutrition entries over the time interval of the data point.
+ <p>
+ In the nutrients field map, each value will represent the sum of the nutrient over all of
+ the entries in the interval. If the nutrient was not present in any of the entries, it won't
+ be present on the aggregate map either.
+ <p>
+ If all of the original entries are for the same meal, the <code>meal_type</code> field will also
+ be set.
+</p></div>
+
+
+ </div>
+</div>
+
+
+
<A NAME="AGGREGATE_POWER_SUMMARY"></A>
<div class="jd-details api apilevel-">
@@ -2692,37 +2773,6 @@
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
<A NAME="TYPE_ACTIVITY_SAMPLE"></A>
<div class="jd-details api apilevel-">
@@ -2898,14 +2948,19 @@
-
+ <p>
+ <p class="caution"><strong>
+ This field is deprecated.</strong><br/>
+ Use <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_NUTRITION">TYPE_NUTRITION</a></code> instead which holds calories as well as other
+ nutrients. This data type will be removed in a future release.
+
+ </p>
<div class="jd-tagdata jd-tagdescr"><p>In the <code>com.google.calories.consumed</code> data type, each data point represents the number
of calories consumed, in kcal, over the time interval of the data point. The field value
is stored as a float.
<p>
Start and end times should be set to denote the duration over which the calories were
- consumed.
-</p></div>
+ consumed.</p></div>
</div>
@@ -3310,6 +3365,86 @@
+<A NAME="TYPE_NUTRITION"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a>
+ </span>
+ TYPE_NUTRITION
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>In the <code>com.google.nutrition</code> data type, each data point represents the value of
+ all nutrients consumed as part of a meal or a food item.
+ <p>
+ The data point contains several fields. The nutrients field and either the meal type and/or
+ the food item field are required.
+ <ul>
+ <li><code>nutrients</code> contains all of the nutrient data for the entry
+ <li><code>meal_type</code> lists the type of meal, if known
+ <li><code>food_item</code> lists the particular food item for the entry, if known
+ </ul>
+ <p>
+ In case the meal time is known, it should be reflected in the timestamps. Otherwise, start
+ and end times should be set to the range in which the meal occurred.
+ <p>
+ The <code>meal_type</code> field accepts the following values, which are defined as constants in
+ <code><a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></code>:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_BREAKFAST">MEAL_TYPE_BREAKFAST</a></code>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_LUNCH">MEAL_TYPE_LUNCH</a></code>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_DINNER">MEAL_TYPE_DINNER</a></code>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_SNACK">MEAL_TYPE_SNACK</a></code>
+ <li><code><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_UNKNOWN">MEAL_TYPE_UNKNOWN</a></code>
+ </ul>
+ When the meal type isn't known, the field may be absent or set to "unknown". Apps should
+ handle both cases accordingly.
+ <p>
+ The <code>nutrients</code> field is a map where the key holds the type of nutrient and the
+ value holds the amount of the nutrient for the entry. Key values are represented by the
+ <code>NUTRIENT_XXX</code> constants in <code><a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></code>. In
+ case the amount of the nutrient for the entry is not known, no value for that nutrient should
+ be added to the map. You may optionally use a value of zero when it is known that the
+ nutrient is not present in the entry. Multiple nutrients can be added by calling
+ <code><a href="/reference/com/google/android/gms/fitness/data/Value.html#setKeyValue(java.lang.String, float)">setKeyValue(String, float)</a></code> repeatedly.
+ <p>
+ Here's an example of creating a DataPoint to represent the user eating a banana:
+ <pre>
+ DataSource nutritionSource = new DataSource.Builder()
+ .setDataType(TYPE_NUTRITION)
+ ...
+ .build();
+
+ DataPoint banana = DataPoint.create(nutritionSource);
+ banana.setTimestamp(now.getMillis(), MILLISECONDS);
+ banana.getValue(FIELD_FOOD_ITEM).setString("banana");
+ banana.getValue(FIELD_MEAL_TYPE).setInt(MEAL_TYPE_SNACK);
+ banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_TOTAL_FAT, 0.4f);
+ banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_SODIUM, 1f);
+ banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_POTASSIUM, 422f);
+ </pre>
+</p></div>
+
+
+ </div>
+</div>
+
+
+
<A NAME="TYPE_POWER_SAMPLE"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Device.html b/docs/html/reference/com/google/android/gms/fitness/data/Device.html
index 9a78bf6..da0eb5a 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Device.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Device.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -806,9 +817,6 @@
- | <a href="#lfields">Fields</a>
-
-
| <a href="#pubctors">Ctors</a>
@@ -1097,31 +1105,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Device.html">Device</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Device.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1918,44 +1901,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Device.html">Device</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Field.html b/docs/html/reference/com/google/android/gms/fitness/data/Field.html
index b902696..0f97e7e 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Field.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Field.html
@@ -151,7 +151,7 @@
<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">
@@ -201,7 +201,7 @@
<div id="header-wrapper">
<div id="header">
-
+
<div class="wrap" id="header-wrap">
@@ -245,8 +245,8 @@
</ul>
-
-
+
+
<div class="menu-container">
<div class="moremenu">
<div id="more-btn"></div>
@@ -267,8 +267,8 @@
<li><a href="http://source.android.com">Android Open Source Project</a></li>
</ul>
-
-
+
+
<div class="header">Language</div>
<div id="language" class="locales">
<select name="language" onChange="changeLangPref(this.value, true)">
@@ -286,8 +286,8 @@
loadLangPref();
//-->
</script>
-
-
+
+
<br class="clearfix" />
</div><!-- end 'mid' -->
<div class="bottom"></div>
@@ -401,10 +401,10 @@
</li>
<li><a href="/google/index.html">Google Services</a>
</li>
-
+
<li><a href="/samples/index.html">Samples</a>
</li>
-
+
</ul>
</li>
<li class="distribute last">
@@ -424,14 +424,14 @@
</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"
@@ -469,17 +469,17 @@
<li class="google"><a href="/google/index.html"
>Google Services</a>
</li>
-
+
<li class="samples"><a href="/samples/index.html"
>Samples</a>
</li>
-
+
</ul>
</div>
</div>
<!-- /Sendondary x-nav DEVELOP -->
-
+
<div id="searchResults" class="wrap" style="display:none;">
<h2 id="searchTitle">Results</h2>
@@ -492,7 +492,7 @@
<a class="logo" href="#top"></a>
<a class="top" href="#top"></a>
<ul class="breadcrumb">
-
+
<li class="current">Field</li>
</ul>
</div>
@@ -502,7 +502,7 @@
-
+
<div class="wrap clearfix" id="body-content">
<div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
<div id="devdoc-nav" class="scroll-pane">
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -748,12 +759,12 @@
</script>
-
+
</div>
<script type="text/javascript">
showGoogleRefTree();
-
+
</script>
</div> <!-- end side-nav -->
<script>
@@ -763,7 +774,7 @@
</script>
-
+
@@ -773,21 +784,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<div class="sum-details-links">
@@ -799,22 +810,22 @@
<a href="#constants">Constants</a>
-
+
| <a href="#inhconstants">Inherited Constants</a>
-
+
| <a href="#lfields">Fields</a>
-
+
| <a href="#pubmethods">Methods</a>
-
+
@@ -824,9 +835,9 @@
</div><!-- end sum-details-links -->
<div class="api-level">
-
-
-
+
+
+
</div>
</div><!-- end api-info-block -->
@@ -836,31 +847,31 @@
<div id="jd-header">
public
-
- final
-
+
+ final
+
class
<h1 itemprop="name">Field</h1>
-
+
extends Object<br/>
-
-
-
-
-
-
- implements
-
- Parcelable
-
-
-
-
+
+
+
+
+ implements
+
+ Parcelable
+
+
+
+
+
+
</div><!-- end header -->
@@ -872,18 +883,18 @@
<tr>
-
+
<td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
-
+
<tr>
-
+
<td class="jd-inheritance-space"> ↳</td>
-
+
<td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.fitness.data.Field</td>
</tr>
-
+
</table>
@@ -951,31 +962,320 @@
<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_FLOAT">FORMAT_FLOAT</a></td>
<td class="jd-descrcol" width="100%">
Format constant indicating the field holds float values.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_INT32">FORMAT_INT32</a></td>
<td class="jd-descrcol" width="100%">
Format constant indicating the field holds integer values.
-
-
+
+
</td>
</tr>
-
-
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_MAP">FORMAT_MAP</a></td>
+ <td class="jd-descrcol" width="100%">
+ Format constant indicating the field holds a map of string keys to values.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_STRING">FORMAT_STRING</a></td>
+ <td class="jd-descrcol" width="100%">
+ Format constant indicating the field holds string values.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_BREAKFAST">MEAL_TYPE_BREAKFAST</a></td>
+ <td class="jd-descrcol" width="100%">
+ Meal type constant representing a breakfast meal.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_DINNER">MEAL_TYPE_DINNER</a></td>
+ <td class="jd-descrcol" width="100%">
+ Meal type constant representing a dinner meal.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_LUNCH">MEAL_TYPE_LUNCH</a></td>
+ <td class="jd-descrcol" width="100%">
+ Meal type constant representing a lunch meal.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_SNACK">MEAL_TYPE_SNACK</a></td>
+ <td class="jd-descrcol" width="100%">
+ Meal type constant representing a snack meal.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#MEAL_TYPE_UNKNOWN">MEAL_TYPE_UNKNOWN</a></td>
+ <td class="jd-descrcol" width="100%">
+ Meal type constant representing the meal type is unknown
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_CALCIUM">NUTRIENT_CALCIUM</a></td>
+ <td class="jd-descrcol" width="100%">
+ Calcium amount in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_CALORIES">NUTRIENT_CALORIES</a></td>
+ <td class="jd-descrcol" width="100%">
+ Calories in kcal.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_CHOLESTEROL">NUTRIENT_CHOLESTEROL</a></td>
+ <td class="jd-descrcol" width="100%">
+ Cholesterol in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_DIETARY_FIBER">NUTRIENT_DIETARY_FIBER</a></td>
+ <td class="jd-descrcol" width="100%">
+ Dietary fiber in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_IRON">NUTRIENT_IRON</a></td>
+ <td class="jd-descrcol" width="100%">
+ Iron amount in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_MONOUNSATURATED_FAT">NUTRIENT_MONOUNSATURATED_FAT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Monounsaturated fat in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_POLYUNSATURATED_FAT">NUTRIENT_POLYUNSATURATED_FAT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Polyunsaturated fat in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_POTASSIUM">NUTRIENT_POTASSIUM</a></td>
+ <td class="jd-descrcol" width="100%">
+ Potassium in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_PROTEIN">NUTRIENT_PROTEIN</a></td>
+ <td class="jd-descrcol" width="100%">
+ Protein amount in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_SATURATED_FAT">NUTRIENT_SATURATED_FAT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Saturated fat in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_SODIUM">NUTRIENT_SODIUM</a></td>
+ <td class="jd-descrcol" width="100%">
+ Sodium in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_SUGAR">NUTRIENT_SUGAR</a></td>
+ <td class="jd-descrcol" width="100%">
+ Sugar amount in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_TOTAL_CARBS">NUTRIENT_TOTAL_CARBS</a></td>
+ <td class="jd-descrcol" width="100%">
+ Total carbohydrates in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_TOTAL_FAT">NUTRIENT_TOTAL_FAT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Total fat in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_TRANS_FAT">NUTRIENT_TRANS_FAT</a></td>
+ <td class="jd-descrcol" width="100%">
+ Trans fat in grams.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_VITAMIN_A">NUTRIENT_VITAMIN_A</a></td>
+ <td class="jd-descrcol" width="100%">
+ Vitamin A amount in International Units (IU).
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#NUTRIENT_VITAMIN_C">NUTRIENT_VITAMIN_C</a></td>
+ <td class="jd-descrcol" width="100%">
+ Vitamin C amount in milligrams.
+
+
+
+ </td>
+ </tr>
+
+
</table>
@@ -1005,33 +1305,33 @@
</div>
<div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
<table class="jd-sumtable-expando">
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
<td class="jd-descrcol" width="100%">
-
-
-
+
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
<td class="jd-descrcol" width="100%">
-
-
-
+
+
+
</td>
</tr>
-
-
+
+
</table>
</div>
</div>
@@ -1047,24 +1347,8 @@
<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
- </td>
- </tr>
-
-
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1073,14 +1357,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_ACCURACY">FIELD_ACCURACY</a></td>
<td class="jd-descrcol" width="100%">
The accuracy of an accompanied value (such as location).
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1089,14 +1373,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_ACTIVITY">FIELD_ACTIVITY</a></td>
<td class="jd-descrcol" width="100%">
An activity type of <code><a href="/reference/com/google/android/gms/fitness/FitnessActivities.html">FitnessActivities</a></code>, encoded as an integer for efficiency.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1105,14 +1389,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_ALTITUDE">FIELD_ALTITUDE</a></td>
<td class="jd-descrcol" width="100%">
An altitude of a location represented as a float, in meters above sea level.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1121,14 +1405,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_AVERAGE">FIELD_AVERAGE</a></td>
<td class="jd-descrcol" width="100%">
An average value.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1137,14 +1421,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_BPM">FIELD_BPM</a></td>
<td class="jd-descrcol" width="100%">
A heart rate in beats per minute.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1153,14 +1437,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_CALORIES">FIELD_CALORIES</a></td>
<td class="jd-descrcol" width="100%">
Calories in kcal.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1176,7 +1460,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1185,14 +1469,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_CONFIDENCE">FIELD_CONFIDENCE</a></td>
<td class="jd-descrcol" width="100%">
The confidence of an accompanied value, specified as a value between 0.0 and 100.0.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1201,14 +1485,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_DISTANCE">FIELD_DISTANCE</a></td>
<td class="jd-descrcol" width="100%">
A distance in meters.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1217,13 +1501,29 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_DURATION">FIELD_DURATION</a></td>
<td class="jd-descrcol" width="100%">
A duration in milliseconds.
-
-
+
+
</td>
</tr>
-
-
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_FOOD_ITEM">FIELD_FOOD_ITEM</a></td>
+ <td class="jd-descrcol" width="100%">
+ The corresponding food item for a nutrition entry.
+
+
+
+ </td>
+ </tr>
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1233,13 +1533,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_HEIGHT">FIELD_HEIGHT</a></td>
<td class="jd-descrcol" width="100%">
A height in meters.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1249,13 +1549,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_HIGH_LATITUDE">FIELD_HIGH_LATITUDE</a></td>
<td class="jd-descrcol" width="100%">
A high latitude of a location bounding box represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1265,13 +1565,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_HIGH_LONGITUDE">FIELD_HIGH_LONGITUDE</a></td>
<td class="jd-descrcol" width="100%">
A high longitude of a location bounding box represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1281,13 +1581,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_LATITUDE">FIELD_LATITUDE</a></td>
<td class="jd-descrcol" width="100%">
A latitude of a location represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1297,13 +1597,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_LONGITUDE">FIELD_LONGITUDE</a></td>
<td class="jd-descrcol" width="100%">
A longitude of a location represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1313,13 +1613,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_LOW_LATITUDE">FIELD_LOW_LATITUDE</a></td>
<td class="jd-descrcol" width="100%">
A low latitude of a location bounding box represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1329,13 +1629,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_LOW_LONGITUDE">FIELD_LOW_LONGITUDE</a></td>
<td class="jd-descrcol" width="100%">
A low longitude of a location bounding box represented as a float, in degrees.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
@@ -1345,46 +1645,94 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_MAX">FIELD_MAX</a></td>
<td class="jd-descrcol" width="100%">
A maximum value.
-
-
+
+
</td>
</tr>
-
-
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_MEAL_TYPE">FIELD_MEAL_TYPE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Type of meal, represented as the appropriate int constant.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_MIN">FIELD_MIN</a></td>
<td class="jd-descrcol" width="100%">
A minimum value.
-
-
+
+
</td>
</tr>
-
-
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_NUM_SEGMENTS">FIELD_NUM_SEGMENTS</a></td>
+ <td class="jd-descrcol" width="100%">
+ A number of segments.
+
+
+
+ </td>
+ </tr>
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_NUTRIENTS">FIELD_NUTRIENTS</a></td>
+ <td class="jd-descrcol" width="100%">
+ Nutrients ingested by the user, represented as a float map of nutrient key to quantity.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_PERCENTAGE">FIELD_PERCENTAGE</a></td>
<td class="jd-descrcol" width="100%">
A percentage value, between 0 and 100.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1393,14 +1741,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_REVOLUTIONS">FIELD_REVOLUTIONS</a></td>
<td class="jd-descrcol" width="100%">
A count of revolutions.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1409,14 +1757,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_RPM">FIELD_RPM</a></td>
<td class="jd-descrcol" width="100%">
Revolutions per minute or rate per minute.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1425,14 +1773,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_SPEED">FIELD_SPEED</a></td>
<td class="jd-descrcol" width="100%">
A speed in meter/sec.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1441,14 +1789,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_STEPS">FIELD_STEPS</a></td>
<td class="jd-descrcol" width="100%">
A count of steps.
-
-
+
+
</td>
</tr>
-
-
- <tr class=" api apilevel-" >
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1457,14 +1805,14 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_WATTS">FIELD_WATTS</a></td>
<td class="jd-descrcol" width="100%">
Power in watts.
-
-
+
+
</td>
</tr>
-
-
- <tr class="alt-color api apilevel-" >
+
+
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
@@ -1473,13 +1821,13 @@
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Field.html#FIELD_WEIGHT">FIELD_WEIGHT</a></td>
<td class="jd-descrcol" width="100%">
A weight in kilograms.
-
-
+
+
</td>
</tr>
-
-
+
+
</table>
@@ -1498,129 +1846,129 @@
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#describeContents()">describeContents</a></span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#equals(java.lang.Object)">equals</a></span>(Object that)</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#getFormat()">getFormat</a></span>()</nobr>
-
+
<div class="jd-descrdiv">
Returns the format of the field, as one of the format constant values.
-
-
+
+
</div>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#getName()">getName</a></span>()</nobr>
-
+
<div class="jd-descrdiv">
Returns the name of the field.
-
-
+
+
</div>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#hashCode()">hashCode</a></span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#toString()">toString</a></span>()</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Field.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel dest, int flags)</nobr>
-
+
</td></tr>
@@ -1655,182 +2003,182 @@
</div>
<div id="inherited-methods-java.lang.Object-summary" style="display: none;">
<table class="jd-sumtable-expando">
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
Object</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">clone</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">equals</span>(Object arg0)</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">finalize</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
Class<?></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">getClass</span>()</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">hashCode</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notify</span>()</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notifyAll</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
-
-
-
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">toString</span>()</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0, int arg1)</nobr>
-
+
</td></tr>
-
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
-
-
+
+
final
-
-
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0)</nobr>
-
+
</td></tr>
@@ -1857,38 +2205,39 @@
</div>
<div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
<table class="jd-sumtable-expando">
-
-
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
-
-
-
-
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">describeContents</span>()</nobr>
-
+
</td></tr>
-
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
-
-
-
-
+
+
+
+
+
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
-
+
</td></tr>
@@ -1929,40 +2278,40 @@
<A NAME="FORMAT_FLOAT"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
int
</span>
FORMAT_FLOAT
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Format constant indicating the field holds float values. </p></div>
-
+
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
-
+
2
(0x00000002)
-
+
</span>
</div>
-
+
</div>
</div>
@@ -1970,40 +2319,1043 @@
<A NAME="FORMAT_INT32"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
int
</span>
FORMAT_INT32
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Format constant indicating the field holds integer values. </p></div>
-
+
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
-
+
1
(0x00000001)
-
+
</span>
</div>
-
+
+ </div>
+</div>
+
+
+
+<A NAME="FORMAT_MAP"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FORMAT_MAP
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Format constant indicating the field holds a map of string keys to values.
+ The valid key space and units for the corresponding value should be documented as
+ part of the data type definition.
+
+ <p>Map values can be set using <code><a href="/reference/com/google/android/gms/fitness/data/Value.html#setKeyValue(java.lang.String, float)">setKeyValue(String, float)</a></code> and read using
+ <code><a href="/reference/com/google/android/gms/fitness/data/Value.html#getKeyValue(java.lang.String)">getKeyValue(String)</a></code>.
+
+ <p>Keys should be kept small whenever possible. Data streams with large keys and
+ high data frequency may be down sampled.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 4
+ (0x00000004)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="FORMAT_STRING"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FORMAT_STRING
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Format constant indicating the field holds string values.
+ Strings should be kept small whenever possible. Data streams with large string
+ values and high data frequency may be down sampled.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 3
+ (0x00000003)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="MEAL_TYPE_BREAKFAST"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MEAL_TYPE_BREAKFAST
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Meal type constant representing a breakfast meal.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="MEAL_TYPE_DINNER"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MEAL_TYPE_DINNER
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Meal type constant representing a dinner meal.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 3
+ (0x00000003)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="MEAL_TYPE_LUNCH"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MEAL_TYPE_LUNCH
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Meal type constant representing a lunch meal.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 2
+ (0x00000002)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="MEAL_TYPE_SNACK"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MEAL_TYPE_SNACK
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Meal type constant representing a snack meal.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 4
+ (0x00000004)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="MEAL_TYPE_UNKNOWN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MEAL_TYPE_UNKNOWN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Meal type constant representing the meal type is unknown
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_CALCIUM"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_CALCIUM
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Calcium amount in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "calcium"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_CALORIES"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_CALORIES
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Calories in kcal.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "calories"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_CHOLESTEROL"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_CHOLESTEROL
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Cholesterol in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "cholesterol"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_DIETARY_FIBER"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_DIETARY_FIBER
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Dietary fiber in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "dietary_fiber"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_IRON"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_IRON
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Iron amount in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "iron"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_MONOUNSATURATED_FAT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_MONOUNSATURATED_FAT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Monounsaturated fat in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "fat.monounsaturated"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_POLYUNSATURATED_FAT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_POLYUNSATURATED_FAT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Polyunsaturated fat in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "fat.polyunsaturated"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_POTASSIUM"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_POTASSIUM
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Potassium in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "potassium"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_PROTEIN"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_PROTEIN
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Protein amount in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "protein"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_SATURATED_FAT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_SATURATED_FAT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Saturated fat in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "fat.saturated"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_SODIUM"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_SODIUM
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sodium in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "sodium"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_SUGAR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_SUGAR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sugar amount in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "sugar"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_TOTAL_CARBS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_TOTAL_CARBS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Total carbohydrates in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "carbs.total"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_TOTAL_FAT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_TOTAL_FAT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Total fat in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "fat.total"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_TRANS_FAT"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_TRANS_FAT
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Trans fat in grams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "fat.trans"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_VITAMIN_A"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_VITAMIN_A
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Vitamin A amount in International Units (IU). For converting from daily percentages, the
+ <a href="http://www.fda.gov/Food/GuidanceRegulation/GuidanceDocumentsRegulatoryInformation/LabelingNutrition/ucm064928.htm">
+ FDA recommended</a> 5000 IUs Daily Value can be used.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "vitamin_a"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="NUTRIENT_VITAMIN_C"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ NUTRIENT_VITAMIN_C
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Vitamin C amount in milligrams.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "vitamin_c"
+
+ </span>
+ </div>
+
</div>
</div>
@@ -2019,64 +3371,33 @@
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
<A NAME="FIELD_ACCURACY"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_ACCURACY
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>The accuracy of an accompanied value (such as location).
</p></div>
-
+
</div>
</div>
@@ -2084,33 +3405,33 @@
<A NAME="FIELD_ACTIVITY"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_ACTIVITY
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>An activity type of <code><a href="/reference/com/google/android/gms/fitness/FitnessActivities.html">FitnessActivities</a></code>, encoded as an integer for efficiency. The
activity value should be stored using <code><a href="/reference/com/google/android/gms/fitness/data/Value.html#setActivity(java.lang.String)">setActivity(String)</a></code>,
and read using <code><a href="/reference/com/google/android/gms/fitness/data/Value.html#asActivity()">asActivity()</a></code>
</p></div>
-
+
</div>
</div>
@@ -2118,32 +3439,32 @@
<A NAME="FIELD_ALTITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_ALTITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>An altitude of a location represented as a float, in meters above sea level.
Some location samples don't have an altitude value so this field might not be set.
</p></div>
-
+
</div>
</div>
@@ -2151,31 +3472,31 @@
<A NAME="FIELD_AVERAGE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_AVERAGE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>An average value.
</p></div>
-
+
</div>
</div>
@@ -2183,31 +3504,31 @@
<A NAME="FIELD_BPM"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_BPM
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A heart rate in beats per minute.
</p></div>
-
+
</div>
</div>
@@ -2215,31 +3536,31 @@
<A NAME="FIELD_CALORIES"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_CALORIES
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Calories in kcal.
</p></div>
-
+
</div>
</div>
@@ -2279,31 +3600,31 @@
<A NAME="FIELD_CONFIDENCE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_CONFIDENCE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>The confidence of an accompanied value, specified as a value between 0.0 and 100.0.
</p></div>
-
+
</div>
</div>
@@ -2311,31 +3632,31 @@
<A NAME="FIELD_DISTANCE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_DISTANCE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A distance in meters.
</p></div>
-
+
</div>
</div>
@@ -2343,31 +3664,63 @@
<A NAME="FIELD_DURATION"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_DURATION
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A duration in milliseconds.
</p></div>
-
+
+ </div>
+</div>
+
+
+
+<A NAME="FIELD_FOOD_ITEM"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
+ </span>
+ FIELD_FOOD_ITEM
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The corresponding food item for a nutrition entry.
+</p></div>
+
+
</div>
</div>
@@ -2375,31 +3728,31 @@
<A NAME="FIELD_HEIGHT"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_HEIGHT
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A height in meters.
</p></div>
-
+
</div>
</div>
@@ -2407,31 +3760,31 @@
<A NAME="FIELD_HIGH_LATITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_HIGH_LATITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A high latitude of a location bounding box represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2439,31 +3792,31 @@
<A NAME="FIELD_HIGH_LONGITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_HIGH_LONGITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A high longitude of a location bounding box represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2471,31 +3824,31 @@
<A NAME="FIELD_LATITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_LATITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A latitude of a location represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2503,31 +3856,31 @@
<A NAME="FIELD_LONGITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_LONGITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A longitude of a location represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2535,31 +3888,31 @@
<A NAME="FIELD_LOW_LATITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_LOW_LATITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A low latitude of a location bounding box represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2567,31 +3920,31 @@
<A NAME="FIELD_LOW_LONGITUDE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_LOW_LONGITUDE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A low longitude of a location bounding box represented as a float, in degrees.
</p></div>
-
+
</div>
</div>
@@ -2599,31 +3952,63 @@
<A NAME="FIELD_MAX"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_MAX
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A maximum value.
</p></div>
-
+
+ </div>
+</div>
+
+
+
+<A NAME="FIELD_MEAL_TYPE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
+ </span>
+ FIELD_MEAL_TYPE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Type of meal, represented as the appropriate int constant.
+</p></div>
+
+
</div>
</div>
@@ -2631,31 +4016,97 @@
<A NAME="FIELD_MIN"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_MIN
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A minimum value.
</p></div>
-
+
+ </div>
+</div>
+
+
+
+<A NAME="FIELD_NUM_SEGMENTS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
+ </span>
+ FIELD_NUM_SEGMENTS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>A number of segments.
+</p></div>
+
+
+ </div>
+</div>
+
+
+
+<A NAME="FIELD_NUTRIENTS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
+ </span>
+ FIELD_NUTRIENTS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Nutrients ingested by the user, represented as a float map of nutrient key to quantity.
+ The valid keys of the map are listed in this class using the <code>NUTRIENT_</code> prefix.
+ The documentation for each key describes the unit of its value.
+</p></div>
+
+
</div>
</div>
@@ -2663,31 +4114,31 @@
<A NAME="FIELD_PERCENTAGE"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_PERCENTAGE
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A percentage value, between 0 and 100.
</p></div>
-
+
</div>
</div>
@@ -2695,31 +4146,31 @@
<A NAME="FIELD_REVOLUTIONS"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_REVOLUTIONS
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A count of revolutions.
</p></div>
-
+
</div>
</div>
@@ -2727,31 +4178,31 @@
<A NAME="FIELD_RPM"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_RPM
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Revolutions per minute or rate per minute.
</p></div>
-
+
</div>
</div>
@@ -2759,31 +4210,31 @@
<A NAME="FIELD_SPEED"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_SPEED
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A speed in meter/sec.
</p></div>
-
+
</div>
</div>
@@ -2791,31 +4242,31 @@
<A NAME="FIELD_STEPS"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_STEPS
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A count of steps.
</p></div>
-
+
</div>
</div>
@@ -2823,31 +4274,31 @@
<A NAME="FIELD_WATTS"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_WATTS
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Power in watts.
</p></div>
-
+
</div>
</div>
@@ -2855,31 +4306,31 @@
<A NAME="FIELD_WEIGHT"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
- static
- final
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/fitness/data/Field.html">Field</a>
</span>
FIELD_WEIGHT
</h4>
<div class="api-level">
-
-
-
+
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>A weight in kilograms.
</p></div>
-
+
</div>
</div>
@@ -2904,14 +4355,14 @@
<A NAME="describeContents()"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
int
</span>
<span class="sympad">describeContents</span>
@@ -2919,15 +4370,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
@@ -2936,14 +4387,14 @@
<A NAME="equals(java.lang.Object)"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
boolean
</span>
<span class="sympad">equals</span>
@@ -2951,15 +4402,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
@@ -2968,14 +4419,14 @@
<A NAME="getFormat()"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
int
</span>
<span class="sympad">getFormat</span>
@@ -2983,15 +4434,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Returns the format of the field, as one of the format constant values.
</p></div>
@@ -3001,14 +4452,14 @@
<A NAME="getName()"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
String
</span>
<span class="sympad">getName</span>
@@ -3016,15 +4467,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p>Returns the name of the field.
</p></div>
@@ -3034,14 +4485,14 @@
<A NAME="hashCode()"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
int
</span>
<span class="sympad">hashCode</span>
@@ -3049,15 +4500,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
@@ -3066,14 +4517,14 @@
<A NAME="toString()"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
String
</span>
<span class="sympad">toString</span>
@@ -3081,15 +4532,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
@@ -3098,14 +4549,14 @@
<A NAME="writeToParcel(android.os.Parcel, int)"></A>
-<div class="jd-details api apilevel-">
+<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
- public
-
-
-
-
+ public
+
+
+
+
void
</span>
<span class="sympad">writeToParcel</span>
@@ -3113,15 +4564,15 @@
</h4>
<div class="api-level">
<div></div>
-
-
+
+
</div>
<div class="jd-details-descr">
-
-
-
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
@@ -3139,17 +4590,17 @@
<A NAME="navbar_top"></A>
<div id="footer" class="wrap" >
-
+
<div id="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">
-
+
<script src="/timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>
@@ -3157,7 +4608,7 @@
<div id="footerlinks">
-
+
<p>
<a href="/about/index.html">About Android</a> |
<a href="/legal.html">Legal</a> |
@@ -3170,7 +4621,7 @@
</div><!-- end doc-content -->
-</div> <!-- end body-content -->
+</div> <!-- end body-content -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Session.Builder.html b/docs/html/reference/com/google/android/gms/fitness/data/Session.Builder.html
index 22f70b5..d90933c 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Session.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Session.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1003,6 +1014,29 @@
<a href="/reference/com/google/android/gms/fitness/data/Session.Builder.html">Session.Builder</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Session.Builder.html#setActiveTime(long, java.util.concurrent.TimeUnit)">setActiveTime</a></span>(long time, TimeUnit timeUnit)</nobr>
+
+ <div class="jd-descrdiv">
+ Sets the active session period duration.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ <a href="/reference/com/google/android/gms/fitness/data/Session.Builder.html">Session.Builder</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Session.Builder.html#setActivity(java.lang.String)">setActivity</a></span>(String activity)</nobr>
<div class="jd-descrdiv">
@@ -1016,7 +1050,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1039,7 +1073,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1062,7 +1096,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1085,7 +1119,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1108,7 +1142,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1471,6 +1505,39 @@
</div>
+<A NAME="setActiveTime(long, java.util.concurrent.TimeUnit)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/fitness/data/Session.Builder.html">Session.Builder</a>
+ </span>
+ <span class="sympad">setActiveTime</span>
+ <span class="normal">(long time, TimeUnit timeUnit)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sets the active session period duration.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="setActivity(java.lang.String)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Session.html b/docs/html/reference/com/google/android/gms/fitness/data/Session.html
index e2366e8..abe9fa2 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Session.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Session.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -809,9 +820,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1101,31 +1109,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Session.html">Session</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Session.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1207,6 +1190,29 @@
+ long</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Session.html#getActiveTime(java.util.concurrent.TimeUnit)">getActiveTime</a></span>(TimeUnit timeUnit)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the active time period of the session.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1223,7 +1229,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1246,7 +1252,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1269,7 +1275,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1292,7 +1298,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1315,7 +1321,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1338,7 +1344,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1361,7 +1367,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1384,6 +1390,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Session.html#hasActiveTime()">hasActiveTime</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns whether the session active time is set.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1851,44 +1880,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Session.html">Session</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
@@ -2011,6 +2002,50 @@
</div>
+<A NAME="getActiveTime(java.util.concurrent.TimeUnit)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ long
+ </span>
+ <span class="sympad">getActiveTime</span>
+ <span class="normal">(TimeUnit timeUnit)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the active time period of the session.
+
+ <p>Make sure to use <code><a href="/reference/com/google/android/gms/fitness/data/Session.html#hasActiveTime()">hasActiveTime()</a></code> before using this method.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td><code><a href="/reference/com/google/android/gms/fitness/data/Session.html#hasActiveTime()">hasActiveTime()</a></code> returns <code>false</code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getActivity()"></A>
<div class="jd-details api apilevel-">
@@ -2291,6 +2326,39 @@
</div>
+<A NAME="hasActiveTime()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">hasActiveTime</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns whether the session active time is set.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="hashCode()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Subscription.html b/docs/html/reference/com/google/android/gms/fitness/data/Subscription.html
index f61d41e..4b7581e 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Subscription.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Subscription.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -803,9 +814,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -999,31 +1007,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Subscription.html">Subscription</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Subscription.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1480,44 +1463,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Subscription.html">Subscription</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/Value.html b/docs/html/reference/com/google/android/gms/fitness/data/Value.html
index 4a79a09..600e4d2 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/Value.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/Value.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -803,9 +814,6 @@
- | <a href="#lfields">Fields</a>
-
-
@@ -1005,31 +1013,6 @@
-<!-- =========== FIELD SUMMARY =========== -->
-<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Value.html">Value</a>></nobr></td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/data/Value.html#CREATOR">CREATOR</a></td>
- <td class="jd-descrcol" width="100%">
-
-
-
-
- </td>
- </tr>
-
-
-
-</table>
-
-
@@ -1121,6 +1104,52 @@
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Value.html#asString()">asString</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the value of this object as a string.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Value.html#clearKey(java.lang.String)">clearKey</a></span>(String key)</nobr>
+
+ <div class="jd-descrdiv">
+ Clears any value currently associated with the given <code>key</code> in the map.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1177,6 +1206,29 @@
+ Float</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Value.html#getKeyValue(java.lang.String)">getKeyValue</a></span>(String key)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the value of the given key in the map as a float.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1186,7 +1238,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1209,7 +1261,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1232,7 +1284,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1255,7 +1307,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1278,6 +1330,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Value.html#setKeyValue(java.lang.String, float)">setKeyValue</a></span>(String key, float value)</nobr>
+
+ <div class="jd-descrdiv">
+ Updates the value for a given key in the map to the given float value.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1285,6 +1360,29 @@
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/data/Value.html#setString(java.lang.String)">setString</a></span>(String value)</nobr>
+
+ <div class="jd-descrdiv">
+ Updates this value object to represent a string value.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1294,7 +1392,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1609,44 +1707,6 @@
<!-- Fields -->
-<!-- ========= FIELD DETAIL ======== -->
-<h2>Fields</h2>
-
-
-
-
-<A NAME="CREATOR"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
- static
- final
- Creator<<a href="/reference/com/google/android/gms/fitness/data/Value.html">Value</a>>
- </span>
- CREATOR
- </h4>
- <div class="api-level">
-
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
-
- </div>
-</div>
-
-
-
-
<!-- Public ctors -->
@@ -1795,6 +1855,91 @@
</div>
+<A NAME="asString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">asString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the value of this object as a string.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>if the object does not hold a string value
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="clearKey(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">clearKey</span>
+ <span class="normal">(String key)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Clears any value currently associated with the given <code>key</code> in the map. This method can
+ be used only on <code><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_MAP">map</a></code> values.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>key</td>
+ <td>the key we're modifying
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="describeContents()"></A>
<div class="jd-details api apilevel-">
@@ -1897,6 +2042,52 @@
</div>
+<A NAME="getKeyValue(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ Float
+ </span>
+ <span class="sympad">getKeyValue</span>
+ <span class="normal">(String key)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the value of the given key in the map as a float.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li><code>null</code> if the key doesn't have a set value in the map
+</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>if the object does not hold a map value</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="hashCode()"></A>
<div class="jd-details api apilevel-">
@@ -2091,6 +2282,103 @@
</div>
+<A NAME="setKeyValue(java.lang.String, float)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">setKeyValue</span>
+ <span class="normal">(String key, float value)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Updates the value for a given key in the map to the given float value. Any previous
+ values associated with the key are erased. This method can be used only on
+ <code><a href="/reference/com/google/android/gms/fitness/data/Field.html#FORMAT_MAP">map</a></code> values.
+
+ <p>Key values should be kept small whenever possible. This is specially important for high
+ frequency streams, since large keys may result in down sampling.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>key</td>
+ <td>the key we're modifying</td>
+ </tr>
+ <tr>
+ <th>value</td>
+ <td>the new value for the given key
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="setString(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">setString</span>
+ <span class="normal">(String value)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Updates this value object to represent a string value. Any previous values associated
+ with this object are erased.
+
+ <p>String values should be kept small whenever possible. This is specially important for
+ high frequency streams, since large values may result in down sampling.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>value</td>
+ <td>the new value that this objects holds
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="toString()"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/fitness/data/package-summary.html b/docs/html/reference/com/google/android/gms/fitness/data/package-summary.html
index 39eae35..b1ecc4a 100644
--- a/docs/html/reference/com/google/android/gms/fitness/data/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/fitness/data/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/package-summary.html b/docs/html/reference/com/google/android/gms/fitness/package-summary.html
index cfee1eb..82368a9 100644
--- a/docs/html/reference/com/google/android/gms/fitness/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/fitness/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/BleScanCallback.html b/docs/html/reference/com/google/android/gms/fitness/request/BleScanCallback.html
index d51b0ef..73f59de 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/BleScanCallback.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/BleScanCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html
index f8fde92..54790db 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html
index 4046552..c179aab 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html
index a8fb6a2..53ef2cb 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1627,7 +1638,10 @@
detailed data source or aggregate data source should be specified in the request
<p>
This method can be used instead of <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#aggregate(com.google.android.gms.fitness.data.DataSource, com.google.android.gms.fitness.data.DataType)">aggregate(DataSource, DataType)</a></code>
- when the application is not interested in a specific data source.</p></div>
+ when the application is not interested in a specific data source.
+ <p>
+ The resulting aggregated data can be queried via
+ <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getBuckets()">getBuckets()</a></code> and <code><a href="/reference/com/google/android/gms/fitness/data/Bucket.html#getDataSet(com.google.android.gms.fitness.data.DataType)">getDataSet(DataType)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -1696,9 +1710,12 @@
aggregate data types for a given input data type
see <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html#getAggregatesForInput(com.google.android.gms.fitness.data.DataType)">getAggregatesForInput(DataType)</a></code>.
<p>
- Aggregation should be requested in conjunction with one of the bucketing strategy: by
+ Aggregation should be requested in conjunction with one of the bucketing strategies: by
time, session or activity. At least one valid detailed data source or aggregate data
- source should be specified in the request.</p></div>
+ source should be specified in the request.
+ <p>
+ The resulting aggregated data can be queried via
+ <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getBuckets()">getBuckets()</a></code> and <code><a href="/reference/com/google/android/gms/fitness/data/Bucket.html#getDataSet(com.google.android.gms.fitness.data.DataType)">getDataSet(DataType)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -2241,7 +2258,10 @@
aggregate data source should be specified in the request.
<p>
This method can be used instead of <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataSource)">read(DataSource)</a></code> when the
- application is not interested in a specific data source.</p></div>
+ application is not interested in a specific data source.
+ <p>
+ The resulting unaggregated data can be queried via
+ <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getDataSet(com.google.android.gms.fitness.data.DataType)">getDataSet(DataType)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
@@ -2297,7 +2317,10 @@
<div class="jd-tagdata jd-tagdescr"><p>Adds a specific data source we want to read data from to this request. At least one
- valid detailed data source or aggregate data source should be specified in the request.</p></div>
+ valid detailed data source or aggregate data source should be specified in the request.
+ <p>
+ The resulting unaggregated data can be queried via
+ <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getDataSet(com.google.android.gms.fitness.data.DataSource)">getDataSet(DataSource)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.html
index 2599376..a2fb2cf 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataReadRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html
index 7a011f4..d9715f2 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html
index 4e8202a..eeb9a52 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html
index a522068..24f2109 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html
index 2114042..6719eb8 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/OnDataPointListener.html b/docs/html/reference/com/google/android/gms/fitness/request/OnDataPointListener.html
index a96981f..d73e5cd 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/OnDataPointListener.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/OnDataPointListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html
index bd0367e..f83d383 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.html
index 16d5938..9aed66d 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SensorRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html
index 21b9f2f..6130684 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.html
index 8d8a4a9..a9899f3 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SessionInsertRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html
index c8824f1..a8fe966 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.html
index 6af4342..13d5530 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/SessionReadRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html b/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html
index dd23349..aa0571c 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.html b/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.html
index 1f6ca73..7cf8c31 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/StartBleScanRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/request/package-summary.html b/docs/html/reference/com/google/android/gms/fitness/request/package-summary.html
index 8853d31..3274e21 100644
--- a/docs/html/reference/com/google/android/gms/fitness/request/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/fitness/request/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/BleDevicesResult.html b/docs/html/reference/com/google/android/gms/fitness/result/BleDevicesResult.html
index a42aaf0..d45a942 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/BleDevicesResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/BleDevicesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1148,6 +1159,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/BleDevicesResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1448,6 +1466,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1759,7 +1784,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/DailyTotalResult.html b/docs/html/reference/com/google/android/gms/fitness/result/DailyTotalResult.html
new file mode 100644
index 0000000..fc400f3
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/fitness/result/DailyTotalResult.html
@@ -0,0 +1,1716 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>DailyTotalResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">DailyTotalResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+ <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ class
+<h1 itemprop="name">DailyTotalResult</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+ Parcelable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.fitness.result.DailyTotalResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result of <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">readDailyTotal(GoogleApiClient, DataType)</a></code>. Use <code><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#getTotal()">getTotal()</a></code>
+ to access the data point containing the daily total for the requested data type.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+android.os.Parcelable
+<div id="inherited-constants-android.os.Parcelable">
+ <div id="inherited-constants-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#equals(java.lang.Object)">equals</a></span>(Object that)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ <a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#getTotal()">getTotal</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the resulting data set containing the daily total for the requested data type.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#hashCode()">hashCode</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ android.os.Parcelable
+
+<div id="inherited-methods-android.os.Parcelable">
+ <div id="inherited-methods-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">describeContents</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="equals(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">equals</span>
+ <span class="normal">(Object that)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getStatus()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>
+ </span>
+ <span class="sympad">getStatus</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getTotal()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a>
+ </span>
+ <span class="sympad">getTotal</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the resulting data set containing the daily total for the requested data type.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>the resulting data set, empty if there was no data for the data type,
+ and <code>null</code> if the request failed.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="hashCode()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">hashCode</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/DataReadResult.html b/docs/html/reference/com/google/android/gms/fitness/result/DataReadResult.html
index bd35465..7f05e0f 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/DataReadResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/DataReadResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1207,6 +1218,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1507,6 +1525,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1744,10 +1769,18 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns all of the <code><a href="/reference/com/google/android/gms/fitness/data/Bucket.html">Buckets</a></code> with aggregated data. There will be exactly one
- data set for each aggregated data source requested in the <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.html">DataReadRequest</a></code> per
- bucket. Returns an empty list if the read request failed.
-</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns all of the <code><a href="/reference/com/google/android/gms/fitness/data/Bucket.html">Buckets</a></code> with aggregated data. In each bucket,
+ there will be exactly one data set for each aggregated data source requested in the
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.html">DataReadRequest</a></code>.
+ <p>
+ Buckets only contain aggregated data requested via
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#aggregate(com.google.android.gms.fitness.data.DataSource, com.google.android.gms.fitness.data.DataType)">aggregate(DataSource, DataType)</a></code>. Non-aggregated data can
+ be accessed via <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getDataSet(com.google.android.gms.fitness.data.DataType)">getDataSet(DataType)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>an empty list if the read request failed.
+</li></ul>
+ </div>
</div>
</div>
@@ -1779,7 +1812,11 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns the resulting data set for the given <code>dataSource</code>.</p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the resulting data set for the given <code>dataSource</code>.
+ <p>
+ This method returns only non-aggregated data sets that were queried via
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataSource)">read(DataSource)</a></code>. Aggregated data can be queried via
+ <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getBuckets()">getBuckets()</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a data set for the given data source, empty if no data was found.</li></ul>
@@ -1827,7 +1864,12 @@
<div class="jd-tagdata jd-tagdescr"><p>Returns the resulting data set for the given <code>dataType</code>. If more than one data source
for the given data type was requested, this method will return the data for an arbitrary
- one. Use <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getDataSet(com.google.android.gms.fitness.data.DataSource)">getDataSet(DataSource)</a></code> to read each specific data source.</p></div>
+ one. Use <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getDataSet(com.google.android.gms.fitness.data.DataSource)">getDataSet(DataSource)</a></code> to read each specific data source.
+ <p>
+ This method returns only non-aggregated data sets that were queried via
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataType)">read(DataType)</a></code> or
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataSource)">read(DataSource)</a></code>.
+ Aggregated data can be queried via <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getBuckets()">getBuckets()</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a data set for the given data type, empty if no data was found.</li></ul>
@@ -1875,6 +1917,11 @@
<div class="jd-tagdata jd-tagdescr"><p>Returns all of the data sets in the result. There will be exactly one data set for each
data source requested in the <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.html">DataReadRequest</a></code>.
+ <p>
+ This method returns only non-aggregated data sets that were queried via
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataType)">read(DataType)</a></code> or
+ <code><a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html#read(com.google.android.gms.fitness.data.DataSource)">read(DataSource)</a></code>.
+ Aggregated data can be queried via <code><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html#getBuckets()">getBuckets()</a></code>.
</p></div>
</div>
@@ -1907,7 +1954,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/DataSourcesResult.html b/docs/html/reference/com/google/android/gms/fitness/result/DataSourcesResult.html
index 6b1ed0e..85069ba 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/DataSourcesResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/DataSourcesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1148,6 +1159,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DataSourcesResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1448,6 +1466,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1759,7 +1784,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/DataTypeResult.html b/docs/html/reference/com/google/android/gms/fitness/result/DataTypeResult.html
index 9e4d23e..c6df1ec 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/DataTypeResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/DataTypeResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1128,6 +1139,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/DataTypeResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1428,6 +1446,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1698,7 +1723,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html b/docs/html/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html
index 8e29aa9..f1254f2 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1101,6 +1112,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1447,6 +1465,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1684,7 +1709,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/SessionReadResult.html b/docs/html/reference/com/google/android/gms/fitness/result/SessionReadResult.html
index 2bc638b..ba0dcce 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/SessionReadResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/SessionReadResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1178,6 +1189,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/fitness/result/SessionReadResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1478,6 +1496,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1849,7 +1874,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/SessionStopResult.html b/docs/html/reference/com/google/android/gms/fitness/result/SessionStopResult.html
index b2f591c..9a0eacf 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/SessionStopResult.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/SessionStopResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1430,6 +1441,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/fitness/result/package-summary.html b/docs/html/reference/com/google/android/gms/fitness/result/package-summary.html
index 80cb483..9cdcbb2 100644
--- a/docs/html/reference/com/google/android/gms/fitness/result/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/fitness/result/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -823,6 +834,17 @@
<tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DailyTotalResult.html">DailyTotalResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">readDailyTotal(GoogleApiClient, DataType)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html">DataReadResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)">readData(GoogleApiClient, DataReadRequest)</a></code>.
@@ -833,7 +855,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataSourcesResult.html">DataSourcesResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#findDataSources(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)">findDataSources(GoogleApiClient, DataSourcesRequest)</a></code>.
@@ -844,7 +866,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/DataTypeResult.html">DataTypeResult</a></td>
<td class="jd-descrcol" width="100%">
Result of
@@ -856,7 +878,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html">ListSubscriptionsResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/RecordingApi.html#listSubscriptions(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataType)">listSubscriptions(GoogleApiClient, DataType)</a></code>.
@@ -867,7 +889,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/SessionReadResult.html">SessionReadResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/SessionsApi.html#readSession(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SessionReadRequest)">readSession(GoogleApiClient, SessionReadRequest)</a></code>.
@@ -878,7 +900,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/result/SessionStopResult.html">SessionStopResult</a></td>
<td class="jd-descrcol" width="100%">
Result of <code><a href="/reference/com/google/android/gms/fitness/SessionsApi.html#stopSession(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">stopSession(GoogleApiClient, String)</a></code>.
diff --git a/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorService.html b/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorService.html
index 3625240..9302b9d 100644
--- a/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorService.html
+++ b/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html b/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html
index 576e588..f40a50f 100644
--- a/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html
+++ b/docs/html/reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html b/docs/html/reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html
index 546db41..f467c16 100644
--- a/docs/html/reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html
+++ b/docs/html/reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/fitness/service/package-summary.html b/docs/html/reference/com/google/android/gms/fitness/service/package-summary.html
index 5332766..7fb0c0a 100644
--- a/docs/html/reference/com/google/android/gms/fitness/service/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/fitness/service/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Game.html b/docs/html/reference/com/google/android/gms/games/Game.html
index bd1cb0d..fe75569 100644
--- a/docs/html/reference/com/google/android/gms/games/Game.html
+++ b/docs/html/reference/com/google/android/gms/games/Game.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/GameBuffer.html b/docs/html/reference/com/google/android/gms/games/GameBuffer.html
index 00a6a3a..3c4d5ba 100644
--- a/docs/html/reference/com/google/android/gms/games/GameBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/GameBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/GameEntity.html b/docs/html/reference/com/google/android/gms/games/GameEntity.html
index f70eda3..7440188 100644
--- a/docs/html/reference/com/google/android/gms/games/GameEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/GameEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.Builder.html b/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.Builder.html
index 279e7a8..39e6184 100644
--- a/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.html b/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.html
index 7b130cd..14c7b90 100644
--- a/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.html
+++ b/docs/html/reference/com/google/android/gms/games/Games.GamesOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Games.html b/docs/html/reference/com/google/android/gms/games/Games.html
index ac19683..8a93168 100644
--- a/docs/html/reference/com/google/android/gms/games/Games.html
+++ b/docs/html/reference/com/google/android/gms/games/Games.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/GamesActivityResultCodes.html b/docs/html/reference/com/google/android/gms/games/GamesActivityResultCodes.html
index 73ce7fa..f5f14b3 100644
--- a/docs/html/reference/com/google/android/gms/games/GamesActivityResultCodes.html
+++ b/docs/html/reference/com/google/android/gms/games/GamesActivityResultCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html b/docs/html/reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html
index 241f635..4b1541d3 100644
--- a/docs/html/reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html
+++ b/docs/html/reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1014,6 +1025,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/GamesMetadata.html b/docs/html/reference/com/google/android/gms/games/GamesMetadata.html
index 858e26d..8598032 100644
--- a/docs/html/reference/com/google/android/gms/games/GamesMetadata.html
+++ b/docs/html/reference/com/google/android/gms/games/GamesMetadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/GamesStatusCodes.html b/docs/html/reference/com/google/android/gms/games/GamesStatusCodes.html
index 2a8b616..46d7918 100644
--- a/docs/html/reference/com/google/android/gms/games/GamesStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/games/GamesStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1404,6 +1415,18 @@
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_REQUEST_TOO_MANY_RECIPIENTS">STATUS_REQUEST_TOO_MANY_RECIPIENTS</a></td>
+ <td class="jd-descrcol" width="100%">
+ Sending request failed due to too many recipients.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_REQUEST_UPDATE_PARTIAL_SUCCESS">STATUS_REQUEST_UPDATE_PARTIAL_SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
Some of the batched network operations succeeded.
@@ -1414,7 +1437,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_REQUEST_UPDATE_TOTAL_FAILURE">STATUS_REQUEST_UPDATE_TOTAL_FAILURE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1426,7 +1449,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_COMMIT_FAILED">STATUS_SNAPSHOT_COMMIT_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1438,7 +1461,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_CONFLICT">STATUS_SNAPSHOT_CONFLICT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1450,7 +1473,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_CONFLICT_MISSING">STATUS_SNAPSHOT_CONFLICT_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1462,7 +1485,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_CONTENTS_UNAVAILABLE">STATUS_SNAPSHOT_CONTENTS_UNAVAILABLE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1474,7 +1497,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_CREATION_FAILED">STATUS_SNAPSHOT_CREATION_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1486,7 +1509,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_FOLDER_UNAVAILABLE">STATUS_SNAPSHOT_FOLDER_UNAVAILABLE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1498,7 +1521,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_SNAPSHOT_NOT_FOUND">STATUS_SNAPSHOT_NOT_FOUND</a></td>
<td class="jd-descrcol" width="100%">
@@ -1510,7 +1533,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/GamesStatusCodes.html#STATUS_TIMEOUT">STATUS_TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -3479,6 +3502,48 @@
+<A NAME="STATUS_REQUEST_TOO_MANY_RECIPIENTS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ STATUS_REQUEST_TOO_MANY_RECIPIENTS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sending request failed due to too many recipients.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 2002
+ (0x000007d2)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="STATUS_REQUEST_UPDATE_PARTIAL_SUCCESS"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/games/Notifications.html b/docs/html/reference/com/google/android/gms/games/Notifications.html
index 251f8c2..b2919ba 100644
--- a/docs/html/reference/com/google/android/gms/games/Notifications.html
+++ b/docs/html/reference/com/google/android/gms/games/Notifications.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/PageDirection.html b/docs/html/reference/com/google/android/gms/games/PageDirection.html
index 7263272..a1fe321 100644
--- a/docs/html/reference/com/google/android/gms/games/PageDirection.html
+++ b/docs/html/reference/com/google/android/gms/games/PageDirection.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Player.html b/docs/html/reference/com/google/android/gms/games/Player.html
index f56b687..1956e2f 100644
--- a/docs/html/reference/com/google/android/gms/games/Player.html
+++ b/docs/html/reference/com/google/android/gms/games/Player.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/PlayerBuffer.html b/docs/html/reference/com/google/android/gms/games/PlayerBuffer.html
index 58ed67c..b3e01b7 100644
--- a/docs/html/reference/com/google/android/gms/games/PlayerBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/PlayerBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/PlayerEntity.html b/docs/html/reference/com/google/android/gms/games/PlayerEntity.html
index 40e2357..9a87442 100644
--- a/docs/html/reference/com/google/android/gms/games/PlayerEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/PlayerEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/PlayerLevel.html b/docs/html/reference/com/google/android/gms/games/PlayerLevel.html
index 441a09c..f366ac7 100644
--- a/docs/html/reference/com/google/android/gms/games/PlayerLevel.html
+++ b/docs/html/reference/com/google/android/gms/games/PlayerLevel.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/PlayerLevelInfo.html b/docs/html/reference/com/google/android/gms/games/PlayerLevelInfo.html
index fd7a8e0..0fba878 100644
--- a/docs/html/reference/com/google/android/gms/games/PlayerLevelInfo.html
+++ b/docs/html/reference/com/google/android/gms/games/PlayerLevelInfo.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/Players.LoadPlayersResult.html b/docs/html/reference/com/google/android/gms/games/Players.LoadPlayersResult.html
index e0a2b85..943b4cb 100644
--- a/docs/html/reference/com/google/android/gms/games/Players.LoadPlayersResult.html
+++ b/docs/html/reference/com/google/android/gms/games/Players.LoadPlayersResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1013,6 +1024,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html b/docs/html/reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html
index 948a288..e2ba1f0 100644
--- a/docs/html/reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1016,6 +1027,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/Players.html b/docs/html/reference/com/google/android/gms/games/Players.html
index 72970c0..97a8c4f 100644
--- a/docs/html/reference/com/google/android/gms/games/Players.html
+++ b/docs/html/reference/com/google/android/gms/games/Players.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/Achievement.html b/docs/html/reference/com/google/android/gms/games/achievement/Achievement.html
index b617235..c1fe728 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/Achievement.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/Achievement.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/AchievementBuffer.html b/docs/html/reference/com/google/android/gms/games/achievement/AchievementBuffer.html
index 268def0..4118d7a 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/AchievementBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/AchievementBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/AchievementEntity.html b/docs/html/reference/com/google/android/gms/games/achievement/AchievementEntity.html
index c7f16b5..7cd8e99 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/AchievementEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/AchievementEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html
index 50e60ff..d5dd9e8 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1013,6 +1024,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html
index 4be08a5..db535ab 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1018,6 +1029,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.html b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.html
index 82727f8..6484f3b 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/Achievements.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/Achievements.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/achievement/package-summary.html b/docs/html/reference/com/google/android/gms/games/achievement/package-summary.html
index 674e370..5523e92 100644
--- a/docs/html/reference/com/google/android/gms/games/achievement/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/achievement/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/event/Event.html b/docs/html/reference/com/google/android/gms/games/event/Event.html
index 790de8d..41367ba 100644
--- a/docs/html/reference/com/google/android/gms/games/event/Event.html
+++ b/docs/html/reference/com/google/android/gms/games/event/Event.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/event/EventBuffer.html b/docs/html/reference/com/google/android/gms/games/event/EventBuffer.html
index 7f3736e..a484566 100644
--- a/docs/html/reference/com/google/android/gms/games/event/EventBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/event/EventBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/event/EventEntity.html b/docs/html/reference/com/google/android/gms/games/event/EventEntity.html
index c4b65cd..707964a 100644
--- a/docs/html/reference/com/google/android/gms/games/event/EventEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/event/EventEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/event/Events.LoadEventsResult.html b/docs/html/reference/com/google/android/gms/games/event/Events.LoadEventsResult.html
index 93969a0..0b59479 100644
--- a/docs/html/reference/com/google/android/gms/games/event/Events.LoadEventsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/event/Events.LoadEventsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1013,6 +1024,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/event/Events.html b/docs/html/reference/com/google/android/gms/games/event/Events.html
index 29eeb60..73d0be7 100644
--- a/docs/html/reference/com/google/android/gms/games/event/Events.html
+++ b/docs/html/reference/com/google/android/gms/games/event/Events.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/event/package-summary.html b/docs/html/reference/com/google/android/gms/games/event/package-summary.html
index 97d0937..07bb9fd 100644
--- a/docs/html/reference/com/google/android/gms/games/event/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/event/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboard.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboard.html
index 64bd8ab..668d2cd 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboard.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboard.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html
index 693ccdd..3ac9ae6 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html
index 9f0318f..eb76e22 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html
index 6f4a97c..c48ed88 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html
index cd15e52..e61e9a0 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html
index d5b32d4..b35021c 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1013,6 +1024,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html
index ff3c9db..641043b5 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1004,6 +1015,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html
index 156347f..d90d9a3 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1029,6 +1040,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html
index 9a7130a..aaba72e 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1014,6 +1025,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.html b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.html
index 8d6b292..cca1909 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/Leaderboards.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html b/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html
index f124a97..2c0f8f9 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html b/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html
index b30a7ea..989482f 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/leaderboard/package-summary.html b/docs/html/reference/com/google/android/gms/games/leaderboard/package-summary.html
index f4f78a3..ca5ab65 100644
--- a/docs/html/reference/com/google/android/gms/games/leaderboard/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/leaderboard/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitation.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitation.html
index f60cf3a..6fb4b00 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitation.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitation.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html
index 4237125..31492cf 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationEntity.html b/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationEntity.html
index 2b1f7435..367e48f 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/InvitationEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html
index ec4d905..0852064 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1009,6 +1020,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.html
index 078cdb2..0df8cc7 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Invitations.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Multiplayer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Multiplayer.html
index 4bfd14e..6043d98 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Multiplayer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Multiplayer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html b/docs/html/reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html
index a2e2bd2..5827c11 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Participant.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Participant.html
index 8f2bb96..e121883 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Participant.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Participant.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html
index 8d5bd00..42ebfd4 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html
index 2ade242..aee4395 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantResult.html
index 444ad5a..82fb775 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html
index 2290eee..d352265 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/Participatable.html b/docs/html/reference/com/google/android/gms/games/multiplayer/Participatable.html
index d0085e2..351e4f7 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/Participatable.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/Participatable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/package-summary.html b/docs/html/reference/com/google/android/gms/games/multiplayer/package-summary.html
index f99d01d..50fc977 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html
index f5e6f3f..8ca1601 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html
index f49a510..2b6406d 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html
index 7808ef7..864979a 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html
index ce2a8bb..fc71b64 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/Room.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/Room.html
index c4fd919..8ea005e 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/Room.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/Room.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html
index c9d0303..94f77fb 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html
index f316b53..d51b52c 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html
index 1390da0..9e816bf 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html
index bb1cc8b..7ba6735 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html
index 1e4fcdb..5157adb 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html
index 52732d8..c9cd07a 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html
index aef6be0..044ad30 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html
index 8f2aff7..ef1e136 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html
index 92b8f14..4bc1348 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html
index 9c5e9ec..9209e5d 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html
index 27e697dc..cf65d3a 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html
index bec0f88..51fa361 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html
index 4b79814..10403f7 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html
index c7659d3..0d9cb25 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1005,6 +1016,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html
index 8e1de26..8acad17 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1007,6 +1018,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html
index 964a28c..b0d67e3 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1009,6 +1020,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html
index f3c3cc0..4edffe6 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1002,6 +1013,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html
index 8c24bfc..1d64db8 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1009,6 +1020,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html
index 4cdec59..046150c 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1012,6 +1023,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html
index 32dcd91..429eaca 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html
index 7c286ab..4ca71d6 100644
--- a/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/package-summary.html b/docs/html/reference/com/google/android/gms/games/package-summary.html
index 8fc6030..9e2fd40 100644
--- a/docs/html/reference/com/google/android/gms/games/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Milestone.html b/docs/html/reference/com/google/android/gms/games/quest/Milestone.html
index 683441d..f1c19d2 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Milestone.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Milestone.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/MilestoneBuffer.html b/docs/html/reference/com/google/android/gms/games/quest/MilestoneBuffer.html
index ea980ab..e68b105 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/MilestoneBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/MilestoneBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/MilestoneEntity.html b/docs/html/reference/com/google/android/gms/games/quest/MilestoneEntity.html
index 240af0b..ff11d79 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/MilestoneEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/MilestoneEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Quest.html b/docs/html/reference/com/google/android/gms/games/quest/Quest.html
index 0f1b0ff..caf659b 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Quest.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Quest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/QuestBuffer.html b/docs/html/reference/com/google/android/gms/games/quest/QuestBuffer.html
index 3a46a80..09dc322 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/QuestBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/QuestBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/QuestEntity.html b/docs/html/reference/com/google/android/gms/games/quest/QuestEntity.html
index 5663d30..f7195c2 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/QuestEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/QuestEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/QuestUpdateListener.html b/docs/html/reference/com/google/android/gms/games/quest/QuestUpdateListener.html
index acb1ae6..2389df4 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/QuestUpdateListener.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/QuestUpdateListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html b/docs/html/reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html
index a3bc3aa..df00ad2 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -998,6 +1009,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html b/docs/html/reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html
index b9da085..be7e8ad 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1019,6 +1030,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html b/docs/html/reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html
index 664df98..0538bea 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1016,6 +1027,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/quest/Quests.html b/docs/html/reference/com/google/android/gms/games/quest/Quests.html
index 231050f..5d033c9 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/Quests.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/Quests.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/quest/package-summary.html b/docs/html/reference/com/google/android/gms/games/quest/package-summary.html
index 630dbe9..b127f33 100644
--- a/docs/html/reference/com/google/android/gms/games/quest/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/quest/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/request/GameRequest.html b/docs/html/reference/com/google/android/gms/games/request/GameRequest.html
index 5717697..07a7664 100644
--- a/docs/html/reference/com/google/android/gms/games/request/GameRequest.html
+++ b/docs/html/reference/com/google/android/gms/games/request/GameRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/request/GameRequestBuffer.html b/docs/html/reference/com/google/android/gms/games/request/GameRequestBuffer.html
index 9d74341..582551b 100644
--- a/docs/html/reference/com/google/android/gms/games/request/GameRequestBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/request/GameRequestBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/request/GameRequestEntity.html b/docs/html/reference/com/google/android/gms/games/request/GameRequestEntity.html
index b294380..eee1a1e 100644
--- a/docs/html/reference/com/google/android/gms/games/request/GameRequestEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/request/GameRequestEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/request/OnRequestReceivedListener.html b/docs/html/reference/com/google/android/gms/games/request/OnRequestReceivedListener.html
index 552fa49..fb933cd 100644
--- a/docs/html/reference/com/google/android/gms/games/request/OnRequestReceivedListener.html
+++ b/docs/html/reference/com/google/android/gms/games/request/OnRequestReceivedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html b/docs/html/reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html
index 5216089..ddcf84c 100644
--- a/docs/html/reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1016,6 +1027,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html b/docs/html/reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html
index 4693374..8b1a50f 100644
--- a/docs/html/reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1040,6 +1051,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/request/Requests.html b/docs/html/reference/com/google/android/gms/games/request/Requests.html
index fbd0db2..d133df0 100644
--- a/docs/html/reference/com/google/android/gms/games/request/Requests.html
+++ b/docs/html/reference/com/google/android/gms/games/request/Requests.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -934,6 +945,18 @@
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#MAX_REQUEST_RECIPIENTS">MAX_REQUEST_RECIPIENTS</a></td>
+ <td class="jd-descrcol" width="100%">
+ The maximum number of recipients for a gift/request.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_DEFAULT_LIFETIME_DAYS">REQUEST_DEFAULT_LIFETIME_DAYS</a></td>
<td class="jd-descrcol" width="100%">
Value used to signal the server to use the default request lifetime.
@@ -944,7 +967,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_DIRECTION_INBOUND">REQUEST_DIRECTION_INBOUND</a></td>
<td class="jd-descrcol" width="100%">
@@ -956,7 +979,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_DIRECTION_OUTBOUND">REQUEST_DIRECTION_OUTBOUND</a></td>
<td class="jd-descrcol" width="100%">
@@ -968,7 +991,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_UPDATE_OUTCOME_FAIL">REQUEST_UPDATE_OUTCOME_FAIL</a></td>
<td class="jd-descrcol" width="100%">
@@ -980,7 +1003,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_UPDATE_OUTCOME_RETRY">REQUEST_UPDATE_OUTCOME_RETRY</a></td>
<td class="jd-descrcol" width="100%">
@@ -992,7 +1015,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_UPDATE_OUTCOME_SUCCESS">REQUEST_UPDATE_OUTCOME_SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1004,7 +1027,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_UPDATE_TYPE_ACCEPT">REQUEST_UPDATE_TYPE_ACCEPT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1016,7 +1039,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#REQUEST_UPDATE_TYPE_DISMISS">REQUEST_UPDATE_TYPE_DISMISS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1028,7 +1051,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#SORT_ORDER_EXPIRING_SOON_FIRST">SORT_ORDER_EXPIRING_SOON_FIRST</a></td>
<td class="jd-descrcol" width="100%">
@@ -1040,7 +1063,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/games/request/Requests.html#SORT_ORDER_SOCIAL_AGGREGATION">SORT_ORDER_SOCIAL_AGGREGATION</a></td>
<td class="jd-descrcol" width="100%">
@@ -1453,6 +1476,48 @@
+<A NAME="MAX_REQUEST_RECIPIENTS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ MAX_REQUEST_RECIPIENTS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The maximum number of recipients for a gift/request.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 8
+ (0x00000008)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="REQUEST_DEFAULT_LIFETIME_DAYS"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/games/request/package-summary.html b/docs/html/reference/com/google/android/gms/games/request/package-summary.html
index fbb23f9..10eed55 100644
--- a/docs/html/reference/com/google/android/gms/games/request/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/request/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshot.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshot.html
index 51c7293..3d1d849 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshot.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshot.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotContents.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotContents.html
index 0de8990..07078b8 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotContents.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotContents.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotEntity.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotEntity.html
index f58657f..5459ee9 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html
index 48b27c4..9dd4dad 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html
index 63f2687..310bab9 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html
index a439a72..662bdc5 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html
index 5a7d928..42578eb 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html
index f148e9e..c7618e9 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html
index 69b32c3..cd668cd 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1006,6 +1017,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html
index 61e176d..b09f10b 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -999,6 +1010,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html
index 7ae2177..db3052c 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1013,6 +1024,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html
index d3cc47c..eb8bd69 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1091,6 +1102,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.html b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.html
index 5bd257f..bfce28c 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/Snapshots.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/games/snapshot/package-summary.html b/docs/html/reference/com/google/android/gms/games/snapshot/package-summary.html
index 9198652..96cfdce 100644
--- a/docs/html/reference/com/google/android/gms/games/snapshot/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/games/snapshot/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html b/docs/html/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html
index c7ba18e..1375b91 100644
--- a/docs/html/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html
+++ b/docs/html/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1077,10 +1088,10 @@
<tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
- <td class="jd-linkcol"><a href="/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html#REGISTRATION_ID">REGISTRATION_ID</a></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html#MESSAGE_TYPE_SEND_EVENT">MESSAGE_TYPE_SEND_EVENT</a></td>
<td class="jd-descrcol" width="100%">
- Extra that contains the registration ID associated with a subscription
-
+ Returned by <code><a href="/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html#getMessageType(android.content.Intent)">getMessageType(Intent)</a></code> to indicate a sent message has been received by the GCM
+ server.
@@ -1754,7 +1765,7 @@
-<A NAME="REGISTRATION_ID"></A>
+<A NAME="MESSAGE_TYPE_SEND_EVENT"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
@@ -1764,7 +1775,7 @@
final
String
</span>
- REGISTRATION_ID
+ MESSAGE_TYPE_SEND_EVENT
</h4>
<div class="api-level">
@@ -1777,7 +1788,8 @@
- <div class="jd-tagdata jd-tagdescr"><p>Extra that contains the registration ID associated with a subscription
+ <div class="jd-tagdata jd-tagdescr"><p>Returned by <code><a href="/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html#getMessageType(android.content.Intent)">getMessageType(Intent)</a></code> to indicate a sent message has been received by the GCM
+ server. The intent includes the message ID of the message.
</p></div>
@@ -1785,7 +1797,7 @@
<span class="jd-tagtitle">Constant Value: </span>
<span>
- "registration_id"
+ "send_event"
</span>
</div>
diff --git a/docs/html/reference/com/google/android/gms/gcm/package-summary.html b/docs/html/reference/com/google/android/gms/gcm/package-summary.html
index ba5623f..ff21c45 100644
--- a/docs/html/reference/com/google/android/gms/gcm/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/gcm/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/Address.AddressOptions.html b/docs/html/reference/com/google/android/gms/identity/intents/Address.AddressOptions.html
index ddc470e..166d689 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/Address.AddressOptions.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/Address.AddressOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/Address.html b/docs/html/reference/com/google/android/gms/identity/intents/Address.html
index be3065d..b97095a 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/Address.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/Address.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html
index 4bb61cf..9052c6a 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html
index 91a8d52..2444b71 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html
index 45a2e7e..f5905c3 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html
index c24c282..27cc89c 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.html b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.html
index 189ed03..d3afe6f 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/AddressConstants.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html b/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html
index 1957007..4a0accf 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.html b/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.html
index 85c4066..d876c77 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/UserAddressRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/model/CountrySpecification.html b/docs/html/reference/com/google/android/gms/identity/intents/model/CountrySpecification.html
index 11e4cbe..2001e28 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/model/CountrySpecification.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/model/CountrySpecification.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/model/UserAddress.html b/docs/html/reference/com/google/android/gms/identity/intents/model/UserAddress.html
index 9bf677e..4e8a911 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/model/UserAddress.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/model/UserAddress.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/model/package-summary.html b/docs/html/reference/com/google/android/gms/identity/intents/model/package-summary.html
index 2e83892..849c64f 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/model/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/model/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/identity/intents/package-summary.html b/docs/html/reference/com/google/android/gms/identity/intents/package-summary.html
index 369f284..6baa893 100644
--- a/docs/html/reference/com/google/android/gms/identity/intents/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/identity/intents/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/ActivityRecognition.html b/docs/html/reference/com/google/android/gms/location/ActivityRecognition.html
index c8fdab8..4943dd0 100644
--- a/docs/html/reference/com/google/android/gms/location/ActivityRecognition.html
+++ b/docs/html/reference/com/google/android/gms/location/ActivityRecognition.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/ActivityRecognitionApi.html b/docs/html/reference/com/google/android/gms/location/ActivityRecognitionApi.html
index ecc728e..22061db 100644
--- a/docs/html/reference/com/google/android/gms/location/ActivityRecognitionApi.html
+++ b/docs/html/reference/com/google/android/gms/location/ActivityRecognitionApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1038,8 +1049,9 @@
</tr>
<tr>
<th>callbackIntent</td>
- <td>pending intent object that no longer needs activity
- detection updates</td>
+ <td>the PendingIntent that was used in
+ <code><a href="/reference/com/google/android/gms/location/ActivityRecognitionApi.html#requestActivityUpdates(com.google.android.gms.common.api.GoogleApiClient, long, android.app.PendingIntent)">requestActivityUpdates(GoogleApiClient, long, PendingIntent)</a></code>
+ or is equal as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>.</td>
</tr>
</table>
</div>
@@ -1126,8 +1138,8 @@
See the documentation of <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> for more
details.
<p>
- Applications can call this function several times in a row with the same
- callbackIntent to change the desired activity detection interval.
+ Any requests previously registered with <code><a href="/reference/com/google/android/gms/location/ActivityRecognitionApi.html#requestActivityUpdates(com.google.android.gms.common.api.GoogleApiClient, long, android.app.PendingIntent)">requestActivityUpdates(GoogleApiClient, long, PendingIntent)</a></code> that have the same
+ PendingIntent (as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>) will be replaced by this request.
<p>
Calling this function requires the
com.google.android.gms.permission.ACTIVITY_RECOGNITION permission.</p></div>
diff --git a/docs/html/reference/com/google/android/gms/location/ActivityRecognitionResult.html b/docs/html/reference/com/google/android/gms/location/ActivityRecognitionResult.html
index b360216..5cb8c88 100644
--- a/docs/html/reference/com/google/android/gms/location/ActivityRecognitionResult.html
+++ b/docs/html/reference/com/google/android/gms/location/ActivityRecognitionResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/DetectedActivity.html b/docs/html/reference/com/google/android/gms/location/DetectedActivity.html
index 57c0559..74860f7 100644
--- a/docs/html/reference/com/google/android/gms/location/DetectedActivity.html
+++ b/docs/html/reference/com/google/android/gms/location/DetectedActivity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/FusedLocationProviderApi.html b/docs/html/reference/com/google/android/gms/location/FusedLocationProviderApi.html
index 6e32226..9eabd1c 100644
--- a/docs/html/reference/com/google/android/gms/location/FusedLocationProviderApi.html
+++ b/docs/html/reference/com/google/android/gms/location/FusedLocationProviderApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -967,6 +978,52 @@
+ <a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#getLocationAvailability(com.google.android.gms.common.api.GoogleApiClient)">getLocationAvailability</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the availability of location data.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#removeLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationCallback)">removeLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a> callback)</nobr>
+
+ <div class="jd-descrdiv">
+ Removes all location updates for the given location result listener.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1016,7 +1073,7 @@
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener, android.os.Looper)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener, Looper looper)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationCallback, android.os.Looper)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a> callback, Looper looper)</nobr>
<div class="jd-descrdiv">
Requests location updates with a callback on the specified Looper thread.
@@ -1039,6 +1096,29 @@
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener, android.os.Looper)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener, Looper looper)</nobr>
+
+ <div class="jd-descrdiv">
+ Requests location updates with a callback on the specified Looper thread.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener)</nobr>
<div class="jd-descrdiv">
@@ -1052,7 +1132,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1075,7 +1155,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1098,7 +1178,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1309,6 +1389,108 @@
</div>
+<A NAME="getLocationAvailability(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a>
+ </span>
+ <span class="sympad">getLocationAvailability</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the availability of location data.
+ When <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html#isLocationAvailable()">isLocationAvailable()</a></code>
+ returns true, then the location returned by <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#getLastLocation(com.google.android.gms.common.api.GoogleApiClient)">getLastLocation(GoogleApiClient)</a></code> will be reasonably
+ up to date within the hints specified by the active <code><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></code>s.
+ <p>
+ If the client isn't connected to Google Play services and the request times out,
+ null is returned.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>An existing GoogleApiClient. If not connected null will be returned.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="removeLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationCallback)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">removeLocationUpdates</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a> callback)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Removes all location updates for the given location result listener.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>An existing GoogleApiClient. It must be connected at the time of this call,
+ which is normally achieved by calling <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()">connect()</a></code> and
+ waiting for <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code>
+ to be called.</td>
+ </tr>
+ <tr>
+ <th>callback</td>
+ <td>The callback to remove.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>a PendingResult for the call, check <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine if it was
+ successful.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="removeLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationListener)"></A>
<div class="jd-details api apilevel-">
@@ -1404,7 +1586,9 @@
</tr>
<tr>
<th>callbackIntent</td>
- <td>The callback intent to remove.</td>
+ <td>The PendingIntent that was used in
+ <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, android.app.PendingIntent)">requestLocationUpdates(GoogleApiClient, LocationRequest, PendingIntent)</a></code>
+ or is equal as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>.</td>
</tr>
</table>
</div>
@@ -1419,6 +1603,89 @@
</div>
+<A NAME="requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationCallback, android.os.Looper)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">requestLocationUpdates</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a> callback, Looper looper)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Requests location updates with a callback on the specified Looper thread.
+ <p>
+ This method is suited for the foreground use cases,more specifically
+ for requesting locations while being connected to <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code>. For
+ background use cases, the <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> version of the method is recommended, see
+ <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, android.app.PendingIntent)">requestLocationUpdates(GoogleApiClient, LocationRequest, PendingIntent)</a></code>.
+ <p>
+ Any previous LocationRequests registered on this LocationListener will be replaced.
+ <p>
+ Callbacks for <code><a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a></code> will be made on the specified thread, which must
+ already be a prepared looper thread.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>An existing GoogleApiClient. It must be connected at the time of this call,
+ which is normally achieved by calling <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()">connect()</a></code> and
+ waiting for <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code>
+ to be called.</td>
+ </tr>
+ <tr>
+ <th>request</td>
+ <td>The location request for the updates.</td>
+ </tr>
+ <tr>
+ <th>callback</td>
+ <td>The callback for the location updates.</td>
+ </tr>
+ <tr>
+ <th>looper</td>
+ <td>The Looper object whose message queue will be used to implement the callback
+ mechanism, or null to make callbacks on the calling thread.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>a PendingResult for the call, check <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine if it was
+ successful.</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>If looper is null and this method is executed in a
+ thread that has not called Looper.prepare().
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener, android.os.Looper)"></A>
<div class="jd-details api apilevel-">
@@ -1485,8 +1752,18 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a PendingResult for the call, check <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine if it was
- successful.
-</li></ul>
+ successful.</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>If looper is null and this method is executed in a
+ thread that has not called Looper.prepare().
+</td>
+ </tr>
+ </table>
</div>
</div>
@@ -1557,8 +1834,18 @@
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a PendingResult for the call, check <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine if it was
- successful.
-</li></ul>
+ successful.</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalStateException</td>
+ <td>If this method is executed in a thread that has not called
+ Looper.prepare().
+</td>
+ </tr>
+ </table>
</div>
</div>
@@ -1599,7 +1886,8 @@
<code><a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a></code> version of the method is recommended, see
<code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener)">requestLocationUpdates(GoogleApiClient, LocationRequest, LocationListener)</a></code>.
<p>
- Any previous LocationRequests registered on this PendingIntent will be replaced.
+ Any previously registered requests that have the same PendingIntent
+ (as defined by <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code>) will be replaced by this request.
<p>
Location updates are sent with a key of <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#KEY_LOCATION_CHANGED">KEY_LOCATION_CHANGED</a></code>
and a <code><a href="/reference/android/location/Location.html">Location</a></code> value on the intent.</p></div>
diff --git a/docs/html/reference/com/google/android/gms/location/Geofence.Builder.html b/docs/html/reference/com/google/android/gms/location/Geofence.Builder.html
index 4e9798e..9273aed 100644
--- a/docs/html/reference/com/google/android/gms/location/Geofence.Builder.html
+++ b/docs/html/reference/com/google/android/gms/location/Geofence.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/Geofence.html b/docs/html/reference/com/google/android/gms/location/Geofence.html
index 6490808..0cf488b 100644
--- a/docs/html/reference/com/google/android/gms/location/Geofence.html
+++ b/docs/html/reference/com/google/android/gms/location/Geofence.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/GeofenceStatusCodes.html b/docs/html/reference/com/google/android/gms/location/GeofenceStatusCodes.html
index 4dfc2d6..06dee33 100644
--- a/docs/html/reference/com/google/android/gms/location/GeofenceStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/location/GeofenceStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1018,6 +1029,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1028,7 +1051,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1040,7 +1063,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1052,7 +1075,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1064,7 +1087,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1076,7 +1099,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1088,7 +1111,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1100,7 +1123,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1112,7 +1135,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1124,7 +1147,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1136,7 +1159,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1148,7 +1171,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1160,7 +1183,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1172,7 +1195,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1184,7 +1207,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1196,7 +1219,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1208,7 +1231,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
diff --git a/docs/html/reference/com/google/android/gms/location/GeofencingApi.html b/docs/html/reference/com/google/android/gms/location/GeofencingApi.html
index 9fa468e..105073f 100644
--- a/docs/html/reference/com/google/android/gms/location/GeofencingApi.html
+++ b/docs/html/reference/com/google/android/gms/location/GeofencingApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1352,7 +1363,8 @@
<div class="jd-tagdata jd-tagdescr"><p>Removes all geofences associated with the given <code>pendingIntent</code>.
<p>
- Warning: please use <code><a href="/reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT">FLAG_UPDATE_CURRENT</a></code>
+ Warning: <code><a href="/reference/android/app/PendingIntent.html#equals(java.lang.Object)">equals(Object)</a></code> is used for comparison. Please use
+ <code><a href="/reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT">FLAG_UPDATE_CURRENT</a></code>
rather than <code><a href="/reference/android/app/PendingIntent.html#FLAG_CANCEL_CURRENT">FLAG_CANCEL_CURRENT</a></code> when
creating the pending intent, otherwise you will not get the same pending
intent you provided to
diff --git a/docs/html/reference/com/google/android/gms/location/GeofencingEvent.html b/docs/html/reference/com/google/android/gms/location/GeofencingEvent.html
index cbff80e..b3c496b 100644
--- a/docs/html/reference/com/google/android/gms/location/GeofencingEvent.html
+++ b/docs/html/reference/com/google/android/gms/location/GeofencingEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/GeofencingRequest.Builder.html b/docs/html/reference/com/google/android/gms/location/GeofencingRequest.Builder.html
index 3f47ca2..5888d8d 100644
--- a/docs/html/reference/com/google/android/gms/location/GeofencingRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/location/GeofencingRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/GeofencingRequest.html b/docs/html/reference/com/google/android/gms/location/GeofencingRequest.html
index 209f11f..61a4ddb 100644
--- a/docs/html/reference/com/google/android/gms/location/GeofencingRequest.html
+++ b/docs/html/reference/com/google/android/gms/location/GeofencingRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/LocationAvailability.html b/docs/html/reference/com/google/android/gms/location/LocationAvailability.html
new file mode 100644
index 0000000..8886fe6
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/location/LocationAvailability.html
@@ -0,0 +1,1888 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>LocationAvailability | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">LocationAvailability</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+ <a href="#inhconstants">Inherited Constants</a>
+
+
+
+ | <a href="#lfields">Fields</a>
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+ final
+
+ class
+<h1 itemprop="name">LocationAvailability</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+ implements
+
+ Parcelable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.LocationAvailability</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Status on the availability of location data</p>
+
+
+
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/">ERROR(LocationCallback#onLocationAvailability}
+/{@link LocationCallback#onLocationAvailability})</a></code></li>
+ </ul>
+ </div>
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+android.os.Parcelable
+<div id="inherited-constants-android.os.Parcelable">
+ <div id="inherited-constants-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ LocationAvailabilityCreator</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#CREATOR">CREATOR</a></td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#describeContents()">describeContents</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#equals(java.lang.Object)">equals</a></span>(Object other)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ <a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#extractLocationAvailability(android.content.Intent)">extractLocationAvailability</a></span>(Intent intent)</nobr>
+
+ <div class="jd-descrdiv">
+ Extracts the <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code> from an Intent.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#hasLocationAvailability(android.content.Intent)">hasLocationAvailability</a></span>(Intent intent)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns true if an Intent contains a <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#hashCode()">hashCode</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#isLocationAvailable()">isLocationAvailable</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns true if the device location is known and reasonably up to date within the hints
+ requested by the active <code><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></code>s.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationAvailability.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel parcel, int flags)</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ android.os.Parcelable
+
+<div id="inherited-methods-android.os.Parcelable">
+ <div id="inherited-methods-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">describeContents</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="CREATOR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ LocationAvailabilityCreator
+ </span>
+ CREATOR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+ </div>
+</div>
+
+
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="describeContents()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">describeContents</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="equals(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">equals</span>
+ <span class="normal">(Object other)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="extractLocationAvailability(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ <a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a>
+ </span>
+ <span class="sympad">extractLocationAvailability</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Extracts the <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code> from an Intent.
+
+ <p>This is a utility function which extracts the <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code>
+ from the extras of an Intent that was sent in response to a location request.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>a <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code>, or <code>null</code> if the Intent doesn't contain
+ this data.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="hasLocationAvailability(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ boolean
+ </span>
+ <span class="sympad">hasLocationAvailability</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns true if an Intent contains a <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code>.
+
+ <p>This is a utility function that can be called from inside an intent
+ receiver to make sure the received intent contains location availability data.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if the intent contains a <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></code>, false
+ otherwise.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="hashCode()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">hashCode</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="isLocationAvailable()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">isLocationAvailable</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns true if the device location is known and reasonably up to date within the hints
+ requested by the active <code><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></code>s. Failure to determine location may result
+ from a number of causes including disabled location settings or an inability to retrieve
+ sensor data in the device's environment.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="writeToParcel(android.os.Parcel, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">writeToParcel</span>
+ <span class="normal">(Parcel parcel, int flags)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/location/LocationCallback.html b/docs/html/reference/com/google/android/gms/location/LocationCallback.html
new file mode 100644
index 0000000..1f0e4ca
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/location/LocationCallback.html
@@ -0,0 +1,1470 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>LocationCallback | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">LocationCallback</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+ <a href="#pubctors">Ctors</a>
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+ abstract
+ class
+<h1 itemprop="name">LocationCallback</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.LocationCallback</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Used for receiving notifications from the <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html">FusedLocationProviderApi</a></code> when the device
+ location has changed or can no longer be determined. The methods are called if the
+ <code><a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a></code> has been registered with the location client using the
+ <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationCallback, android.os.Looper)">requestLocationUpdates(GoogleApiClient, LocationRequest, LocationCallback, Looper)</a></code>
+ method.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ </nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationCallback.html#LocationCallback()">LocationCallback</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationCallback.html#onLocationAvailability(com.google.android.gms.location.LocationAvailability)">onLocationAvailability</a></span>(<a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a> locationAvailability)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when there is a change in the availability of location data.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationCallback.html#onLocationResult(com.google.android.gms.location.LocationResult)">onLocationResult</a></span>(<a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a> result)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when device location information is available.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="LocationCallback()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+
+ </span>
+ <span class="sympad">LocationCallback</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onLocationAvailability(com.google.android.gms.location.LocationAvailability)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onLocationAvailability</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a> locationAvailability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when there is a change in the availability of location data.
+
+ <p>When <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html#isLocationAvailable()">isLocationAvailable()</a></code> returns <code>false</code> you can assume
+ that location will not be returned in <code><a href="/reference/com/google/android/gms/location/LocationCallback.html#onLocationResult(com.google.android.gms.location.LocationResult)">onLocationResult(LocationResult)</a></code> until something changes
+ in the device's settings or environment. Even when
+ <code><a href="/reference/com/google/android/gms/location/LocationAvailability.html#isLocationAvailable()">isLocationAvailable()</a></code> returns <code>true</code> the
+ <code><a href="/reference/com/google/android/gms/location/LocationCallback.html#onLocationResult(com.google.android.gms.location.LocationResult)">onLocationResult(LocationResult)</a></code> may not always be called regularly, however the device location
+ is known and both the most recently delivered location and
+ <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html#getLastLocation(com.google.android.gms.common.api.GoogleApiClient)">getLastLocation(GoogleApiClient)</a></code> will be reasonably up to date given the
+ hints specified by the active <code><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></code>s.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>locationAvailability</td>
+ <td>The current status of location availability.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="onLocationResult(com.google.android.gms.location.LocationResult)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onLocationResult</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a> result)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when device location information is available.
+
+ <p>The most recent location returned by <code><a href="/reference/com/google/android/gms/location/LocationResult.html#getLastLocation()">getLastLocation()</a></code> is not
+ guaranteed to be immediately fresh, but will be reasonably up to date given the hints
+ specified by the active <code><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></code>s.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>result</td>
+ <td>The latest location result available.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/location/LocationListener.html b/docs/html/reference/com/google/android/gms/location/LocationListener.html
index e0afade..952aff1 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationListener.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/LocationRequest.html b/docs/html/reference/com/google/android/gms/location/LocationRequest.html
index 748a6b4..d051d41 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationRequest.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -806,6 +817,9 @@
+ | <a href="#lfields">Fields</a>
+
+
@@ -1101,6 +1115,31 @@
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ LocationRequestCreator</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationRequest.html#CREATOR">CREATOR</a></td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
@@ -1247,6 +1286,29 @@
+ long</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationRequest.html#getMaxWaitTime()">getMaxWaitTime</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Gets the maximum wait time in milliseconds for location updates.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1263,7 +1325,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1286,7 +1348,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1311,7 +1373,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1327,7 +1389,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1350,7 +1412,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1373,7 +1435,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1396,7 +1458,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1419,6 +1481,29 @@
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationRequest.html#setMaxWaitTime(long)">setMaxWaitTime</a></span>(long millis)</nobr>
+
+ <div class="jd-descrdiv">
+ Sets the maximum wait time in milliseconds for location updates.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -2008,6 +2093,44 @@
<!-- Fields -->
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="CREATOR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ LocationRequestCreator
+ </span>
+ CREATOR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+ </div>
+</div>
+
+
+
+
<!-- Public ctors -->
@@ -2246,6 +2369,49 @@
</div>
+<A NAME="getMaxWaitTime()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ long
+ </span>
+ <span class="sympad">getMaxWaitTime</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Gets the maximum wait time in milliseconds for location updates. If the wait time
+ is smaller than the interval requested with <code><a href="/reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)">setInterval(long)</a></code>, then the interval
+ will be used instead.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>maximum wait time in milliseconds, inexact</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">See Also</h5>
+ <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/location/LocationRequest.html#setMaxWaitTime(long)">setMaxWaitTime(long)</a></code></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getNumUpdates()"></A>
<div class="jd-details api apilevel-">
@@ -2649,6 +2815,69 @@
</div>
+<A NAME="setMaxWaitTime(long)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ <a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a>
+ </span>
+ <span class="sympad">setMaxWaitTime</span>
+ <span class="normal">(long millis)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sets the maximum wait time in milliseconds for location updates.
+
+ <p>If you pass a value at least 2x larger than the interval specified with
+ <code><a href="/reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)">setInterval(long)</a></code>, then location delivery may be delayed and multiple locations can
+ be delivered at once. Locations are determined at the <code><a href="/reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)">setInterval(long)</a></code> rate, but can be
+ delivered in batch after the interval you set in this method. This can consume less battery
+ and give more accurate locations, depending on the device's hardware capabilities. You
+ should set this value to be as large as possible for your needs if you don't need
+ immediate location delivery.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>millis</td>
+ <td>desired maximum wait time in millisecond, inexact</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>the same object, so that setters can be chained
+</li></ul>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Throws</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>IllegalArgumentException</td>
+ <td>if the interval is less than zero</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="setNumUpdates(int)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/location/LocationResult.html b/docs/html/reference/com/google/android/gms/location/LocationResult.html
new file mode 100644
index 0000000..b9305b0
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/location/LocationResult.html
@@ -0,0 +1,1999 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>LocationResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">LocationResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+ <a href="#inhconstants">Inherited Constants</a>
+
+
+
+ | <a href="#lfields">Fields</a>
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+ final
+
+ class
+<h1 itemprop="name">LocationResult</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+ implements
+
+ Parcelable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.LocationResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A data class representing a geographic location result from the fused location provider.
+
+ <p>All locations returned by <code><a href="/reference/com/google/android/gms/location/LocationResult.html#getLocations()">getLocations()</a></code> are guaranteed to have a valid latitude,
+ longitude, and UTC timestamp. On API level 17 or later they are also guaranteed to have
+ elapsed real-time since boot. All other parameters are optional.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+android.os.Parcelable
+<div id="inherited-constants-android.os.Parcelable">
+ <div id="inherited-constants-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ LocationResultCreator</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationResult.html#CREATOR">CREATOR</a></td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ <a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#create(java.util.List<android.location.Location>)">create</a></span>(List<Location> locations)</nobr>
+
+ <div class="jd-descrdiv">
+ Creates a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code> for the given locations.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#describeContents()">describeContents</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#equals(java.lang.Object)">equals</a></span>(Object other)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ <a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#extractResult(android.content.Intent)">extractResult</a></span>(Intent intent)</nobr>
+
+ <div class="jd-descrdiv">
+ Extracts the <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code> from an Intent.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Location</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#getLastLocation()">getLastLocation</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the most recent location available in this result, or null if no locations
+ are available.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ List<Location></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#getLocations()">getLocations</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns locations computed, ordered from oldest to newest.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+ static
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#hasResult(android.content.Intent)">hasResult</a></span>(Intent intent)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns true if an Intent contains a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#hashCode()">hashCode</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#toString()">toString</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationResult.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel parcel, int flags)</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ android.os.Parcelable
+
+<div id="inherited-methods-android.os.Parcelable">
+ <div id="inherited-methods-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">describeContents</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="CREATOR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ LocationResultCreator
+ </span>
+ CREATOR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+ </div>
+</div>
+
+
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="create(java.util.List<android.location.Location>)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ <a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a>
+ </span>
+ <span class="sympad">create</span>
+ <span class="normal">(List<Location> locations)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Creates a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code> for the given locations.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="describeContents()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">describeContents</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="equals(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ boolean
+ </span>
+ <span class="sympad">equals</span>
+ <span class="normal">(Object other)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="extractResult(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ <a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a>
+ </span>
+ <span class="sympad">extractResult</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Extracts the <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code> from an Intent.
+
+ <p>This is a utility function which extracts the <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code>
+ from the extras of an Intent that was sent from the fused location provider.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code>, or <code>null</code> if the Intent doesn't contain a result.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getLastLocation()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ Location
+ </span>
+ <span class="sympad">getLastLocation</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the most recent location available in this result, or null if no locations
+ are available.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getLocations()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ List<Location>
+ </span>
+ <span class="sympad">getLocations</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns locations computed, ordered from oldest to newest.
+
+ <p>No duplicate locations will be returned to any given listener (i.e. locations will not
+ overlap in time between subsequent calls to a listener).
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="hasResult(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+
+
+
+ boolean
+ </span>
+ <span class="sympad">hasResult</span>
+ <span class="normal">(Intent intent)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns true if an Intent contains a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code>.
+
+ <p>This is a utility function that can be called from inside an intent
+ receiver to make sure the received intent is from the fused location provider.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>true if the intent contains a <code><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></code>, false
+ otherwise.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="hashCode()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">hashCode</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">toString</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="writeToParcel(android.os.Parcel, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">writeToParcel</span>
+ <span class="normal">(Parcel parcel, int flags)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/location/LocationServices.html b/docs/html/reference/com/google/android/gms/location/LocationServices.html
index 787daca..57beb69 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationServices.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationServices.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html b/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html
index 17845b7..c6aa836 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1046,7 +1057,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html#setAlwaysShow(boolean)">setAlwaysShow</a></span>(boolean show)</nobr>
<div class="jd-descrdiv">
- This method currently does nothing.
+ Always show the dialog, without the "Never" option to suppress future dialogs from this
+ app.
@@ -1504,14 +1516,13 @@
- <div class="jd-tagdata jd-tagdescr"><p>This method currently does nothing.
- In a future release, we may introduce the ability for users to suppress future dialogs
- from a given app. Calling this method before invoking the dialog will hide this option
- from users.
+ <div class="jd-tagdata jd-tagdescr"><p>Always show the dialog, without the "Never" option to suppress future dialogs from this
+ app. When this flag is set to true, the dialog will show up if the location settings do
+ not satisfy the request, even if a user has previously chosen "Never".
- Use this method if and only if your dialog is the result of an explicit user-initiated
- action that requires location. Canceling this dialog should also cancel the initiated
- action in your app.
+ NOTE: Only use this method if your dialog is the result of an explicit user-initiated
+ action that requires location to proceed. Canceling this dialog should also cancel the
+ initiated action.
</p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.html b/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.html
index b65eb16..ab4764c 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationSettingsRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -813,6 +824,9 @@
+ | <a href="#pubmethods">Methods</a>
+
+
| <a href="#inhmethods">Inherited Methods</a>
@@ -834,7 +848,7 @@
<div id="jd-header">
public
-
+ final
class
<h1 itemprop="name">LocationSettingsRequest</h1>
@@ -1059,6 +1073,47 @@
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.html#describeContents()">describeContents</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel dest, int flags)</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
@@ -1405,6 +1460,75 @@
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
+<h2>Public Methods</h2>
+
+
+
+<A NAME="describeContents()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">describeContents</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="writeToParcel(android.os.Parcel, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">writeToParcel</span>
+ <span class="normal">(Parcel dest, int flags)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
<!-- ========= METHOD DETAIL ======== -->
diff --git a/docs/html/reference/com/google/android/gms/location/LocationSettingsResult.html b/docs/html/reference/com/google/android/gms/location/LocationSettingsResult.html
index fad49b6..024d0b1 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationSettingsResult.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationSettingsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -841,7 +852,7 @@
<div id="jd-header">
public
-
+ final
class
<h1 itemprop="name">LocationSettingsResult</h1>
@@ -1066,6 +1077,22 @@
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsResult.html#describeContents()">describeContents</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
<a href="/reference/com/google/android/gms/location/LocationSettingsStates.html">LocationSettingsStates</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1082,7 +1109,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1094,6 +1121,29 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsResult.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsResult.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel dest, int flags)</nobr>
+
</td></tr>
@@ -1404,6 +1454,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1493,6 +1550,38 @@
+<A NAME="describeContents()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">describeContents</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
<A NAME="getLocationSettingsStates()"></A>
<div class="jd-details api apilevel-">
@@ -1552,6 +1641,44 @@
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="writeToParcel(android.os.Parcel, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">writeToParcel</span>
+ <span class="normal">(Parcel dest, int flags)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/LocationSettingsStates.html b/docs/html/reference/com/google/android/gms/location/LocationSettingsStates.html
index 1f0fbc1..358a331 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationSettingsStates.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationSettingsStates.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -834,7 +845,7 @@
<div id="jd-header">
public
-
+ final
class
<h1 itemprop="name">LocationSettingsStates</h1>
@@ -1043,6 +1054,22 @@
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsStates.html#describeContents()">describeContents</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
static
<a href="/reference/com/google/android/gms/location/LocationSettingsStates.html">LocationSettingsStates</a></nobr>
@@ -1061,7 +1088,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1084,7 +1111,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1107,7 +1134,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1130,7 +1157,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1153,7 +1180,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1176,7 +1203,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1199,7 +1226,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1222,7 +1249,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1245,6 +1272,22 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationSettingsStates.html#writeToParcel(android.os.Parcel, int)">writeToParcel</a></span>(Parcel dest, int flags)</nobr>
+
+ </td></tr>
+
+
+
</table>
@@ -1598,6 +1641,38 @@
+<A NAME="describeContents()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">describeContents</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
<A NAME="fromIntent(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
@@ -1902,6 +1977,38 @@
</div>
+<A NAME="writeToParcel(android.os.Parcel, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">writeToParcel</span>
+ <span class="normal">(Parcel dest, int flags)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html b/docs/html/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html
index adf3e7c..531be89 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -959,6 +970,19 @@
</tr>
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html#USER_LOCATION_REPORTING_UNAVAILABLE">USER_LOCATION_REPORTING_UNAVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ User location reporting not available, no dialog pops up
+
+
+
+
+ </td>
+ </tr>
+
+
</table>
@@ -991,6 +1015,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1001,7 +1037,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1013,7 +1049,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1025,7 +1061,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1037,7 +1073,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1049,7 +1085,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1061,7 +1097,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1073,7 +1109,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1085,7 +1121,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1097,7 +1133,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1109,7 +1145,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1121,7 +1157,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1133,7 +1169,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1145,7 +1181,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1157,7 +1193,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1169,7 +1205,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1181,7 +1217,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1540,6 +1576,48 @@
+<A NAME="USER_LOCATION_REPORTING_UNAVAILABLE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ USER_LOCATION_REPORTING_UNAVAILABLE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>User location reporting not available, no dialog pops up
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 8503
+ (0x00002137)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<!-- Fields -->
diff --git a/docs/html/reference/com/google/android/gms/location/LocationStatusCodes.html b/docs/html/reference/com/google/android/gms/location/LocationStatusCodes.html
index c2c5387..a6b4d9d 100644
--- a/docs/html/reference/com/google/android/gms/location/LocationStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/location/LocationStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/SettingsApi.html b/docs/html/reference/com/google/android/gms/location/SettingsApi.html
index 58a3334..49ef4fa 100644
--- a/docs/html/reference/com/google/android/gms/location/SettingsApi.html
+++ b/docs/html/reference/com/google/android/gms/location/SettingsApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/package-summary.html b/docs/html/reference/com/google/android/gms/location/package-summary.html
index 75e9557..25663bb 100644
--- a/docs/html/reference/com/google/android/gms/location/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/location/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -974,6 +985,29 @@
<tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationAvailability.html">LocationAvailability</a></td>
+ <td class="jd-descrcol" width="100%">
+ Status on the availability of location data
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationCallback.html">LocationCallback</a></td>
+ <td class="jd-descrcol" width="100%">
+ Used for receiving notifications from the <code><a href="/reference/com/google/android/gms/location/FusedLocationProviderApi.html">FusedLocationProviderApi</a></code> when the device
+ location has changed or can no longer be determined.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a></td>
<td class="jd-descrcol" width="100%">
A data object that contains quality of service parameters for requests to
@@ -986,6 +1020,17 @@
<tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationResult.html">LocationResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ A data class representing a geographic location result from the fused location provider.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationServices.html">LocationServices</a></td>
<td class="jd-descrcol" width="100%">
The main entry point for location services integration.
@@ -996,7 +1041,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.html">LocationSettingsRequest</a></td>
<td class="jd-descrcol" width="100%">
Specifies the types of location services the client is interested in using.
@@ -1007,7 +1052,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html">LocationSettingsRequest.Builder</a></td>
<td class="jd-descrcol" width="100%">
A builder that builds <code><a href="/reference/com/google/android/gms/location/LocationSettingsRequest.html">LocationSettingsRequest</a></code>.
@@ -1018,7 +1063,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsResult.html">LocationSettingsResult</a></td>
<td class="jd-descrcol" width="100%">
Result of checking settings via <code><a href="/reference/com/google/android/gms/location/SettingsApi.html#checkLocationSettings(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.LocationSettingsRequest)">checkLocationSettings(GoogleApiClient, LocationSettingsRequest)</a></code>,
@@ -1031,7 +1076,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsStates.html">LocationSettingsStates</a></td>
<td class="jd-descrcol" width="100%">
Stores the current states of all location-related settings.
@@ -1042,7 +1087,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationSettingsStatusCodes.html">LocationSettingsStatusCodes</a></td>
<td class="jd-descrcol" width="100%">
Location settings specific status codes, for use in <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code>
@@ -1054,7 +1099,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationStatusCodes.html">LocationStatusCodes</a></td>
<td class="jd-descrcol" width="100%">
<em>
diff --git a/docs/html/reference/com/google/android/gms/location/places/AddPlaceRequest.html b/docs/html/reference/com/google/android/gms/location/places/AddPlaceRequest.html
index 6061282..02dd871 100644
--- a/docs/html/reference/com/google/android/gms/location/places/AddPlaceRequest.html
+++ b/docs/html/reference/com/google/android/gms/location/places/AddPlaceRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1022,6 +1033,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List<Integer> placeTypes, String phoneNumber)</nobr>
+ <div class="jd-descrdiv">
+ Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.
+
+
+
+ </div>
+
</td></tr>
@@ -1038,6 +1056,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, android.net.Uri)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List<Integer> placeTypes, Uri uri)</nobr>
+ <div class="jd-descrdiv">
+ Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.
+
+
+
+ </div>
+
</td></tr>
@@ -1054,6 +1079,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String, android.net.Uri)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List<Integer> placeTypes, String phoneNumber, Uri uri)</nobr>
+ <div class="jd-descrdiv">
+ Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.
+
+
+
+ </div>
+
</td></tr>
@@ -1516,7 +1548,37 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>name</td>
+ <td>the full textual name of the business, point of interest, or other place. Limited
+ to 255 characters.</td>
+ </tr>
+ <tr>
+ <th>latLng</td>
+ <td>specifies the location of the place.</td>
+ </tr>
+ <tr>
+ <th>address</td>
+ <td>human-readable address of the place. If a place has a well-formatted,
+ human-readable address, it is more likely to pass the moderation process for inclusion
+ in the Google Places database.</td>
+ </tr>
+ <tr>
+ <th>placeTypes</td>
+ <td>list of place types that characterize this place. For a list of available
+ place types, see the documentation for the <code><a href="/reference/com/google/android/gms/location/places/Place.html">Place</a></code> interface.</td>
+ </tr>
+ <tr>
+ <th>phoneNumber</td>
+ <td>the phone number of this place.
+</td>
+ </tr>
+ </table>
+ </div>
</div>
</div>
@@ -1548,7 +1610,39 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>name</td>
+ <td>the full textual name of the business, point of interest, or other place. Limited
+ to 255 characters.</td>
+ </tr>
+ <tr>
+ <th>latLng</td>
+ <td>specifies the location of the place.</td>
+ </tr>
+ <tr>
+ <th>address</td>
+ <td>human-readable address of the place. If a place has a well-formatted,
+ human-readable address, it is more likely to pass the moderation process for inclusion
+ in the Google Places database.</td>
+ </tr>
+ <tr>
+ <th>placeTypes</td>
+ <td>list of place types that characterize this place. For a list of available
+ place types, see the documentation for the <code><a href="/reference/com/google/android/gms/location/places/Place.html">Place</a></code> interface.</td>
+ </tr>
+ <tr>
+ <th>uri</td>
+ <td>containing the address of the authoritative website for this place, such as a
+ business home page. If a place has a well-formatted website address, it is more likely
+ to pass the moderation process for inclusion in the Google Places database.
+</td>
+ </tr>
+ </table>
+ </div>
</div>
</div>
@@ -1580,7 +1674,43 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Constructor for <code><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html">AddPlaceRequest</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>name</td>
+ <td>the full textual name of the business, point of interest, or other place. Limited
+ to 255 characters.</td>
+ </tr>
+ <tr>
+ <th>latLng</td>
+ <td>specifies the location of the place.</td>
+ </tr>
+ <tr>
+ <th>address</td>
+ <td>human-readable address of the place. If a place has a well-formatted,
+ human-readable address, it is more likely to pass the moderation process for inclusion
+ in the Google Places database.</td>
+ </tr>
+ <tr>
+ <th>placeTypes</td>
+ <td>list of place types that characterize this place. For a list of available
+ place types, see the documentation for the <code><a href="/reference/com/google/android/gms/location/places/Place.html">Place</a></code> interface.</td>
+ </tr>
+ <tr>
+ <th>phoneNumber</td>
+ <td>the phone number of this place.</td>
+ </tr>
+ <tr>
+ <th>uri</td>
+ <td>containing the address of the authoritative website for this place, such as a
+ business home page. If a place has a well-formatted website address, it is more likely
+ to pass the moderation process for inclusion in the Google Places database.
+</td>
+ </tr>
+ </table>
+ </div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/places/AutocompleteFilter.html b/docs/html/reference/com/google/android/gms/location/places/AutocompleteFilter.html
index cdd8044..5d1e00d 100644
--- a/docs/html/reference/com/google/android/gms/location/places/AutocompleteFilter.html
+++ b/docs/html/reference/com/google/android/gms/location/places/AutocompleteFilter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1453,7 +1464,9 @@
<th>placeTypes</td>
<td>The place types of predictions to be returned. Only places that have a type
in this set will be returned. A null or empty set is the same as a set containing all
- possible place types.
+ possible place types. For a list of available place types, see the list of <a
+ href="https://developers.google.com/places/documentation/supported_types#table3">
+ supported types</a>.
</td>
</tr>
</table>
diff --git a/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html b/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html
index a7f373b..c7da1f65 100644
--- a/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html
+++ b/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.html b/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.html
index 5b4f15d..1055346 100644
--- a/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.html
+++ b/docs/html/reference/com/google/android/gms/location/places/AutocompletePrediction.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html b/docs/html/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html
index c04e570..2d14e2d 100644
--- a/docs/html/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html
+++ b/docs/html/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -930,8 +941,10 @@
<h2>Class Overview</h2>
<p itemprop="articleBody">A <code>DataBuffer</code> that represents a list of AutocompletePredictionEntitys.
<p>
- NOTE: The listener must release this object after it is done with it, otherwise there might be a
- memory leak.
+ NOTE: The calling application must <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> this object after it is done with it to
+ prevent a memory leak. Refer to the <a
+ href="https://developers.google.com/places/documentation/android/buffers">developer's guide</a>
+ for more information about handling buffers.
</p>
@@ -1027,6 +1040,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1654,6 +1674,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1867,7 +1894,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/places/GeoDataApi.html b/docs/html/reference/com/google/android/gms/location/places/GeoDataApi.html
index aac7149..23dc2af 100644
--- a/docs/html/reference/com/google/android/gms/location/places/GeoDataApi.html
+++ b/docs/html/reference/com/google/android/gms/location/places/GeoDataApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1109,6 +1120,10 @@
<td>for which the autocomplete predictions are to be fetched.</td>
</tr>
<tr>
+ <th>bounds</td>
+ <td>for geographically biasing the autocomplete predictions.</td>
+ </tr>
+ <tr>
<th>filter</td>
<td>criteria for customizing the autocomplete predictions.</td>
</tr>
diff --git a/docs/html/reference/com/google/android/gms/location/places/Place.html b/docs/html/reference/com/google/android/gms/location/places/Place.html
index 079b30f..2740dc2 100644
--- a/docs/html/reference/com/google/android/gms/location/places/Place.html
+++ b/docs/html/reference/com/google/android/gms/location/places/Place.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceBuffer.html b/docs/html/reference/com/google/android/gms/location/places/PlaceBuffer.html
index c48e1c8..84bc9e3 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceBuffer.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -930,8 +941,10 @@
<h2>Class Overview</h2>
<p itemprop="articleBody">Data structure providing access to a list of <code><a href="/reference/com/google/android/gms/location/places/Place.html">Places</a></code>.
<p>
- NOTE: The listener must release this object after it is done with it, otherwise there might be a
- memory leak.
+ NOTE: The calling application must <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> this object after it is done with it to
+ prevent a memory leak. Refer to the <a
+ href="https://developers.google.com/places/documentation/android/buffers">developer's guide</a>
+ for more information about handling buffers.
</p>
@@ -1022,11 +1035,41 @@
+ CharSequence</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/location/places/PlaceBuffer.html#getAttributions()">getAttributions</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the attributions to be shown to the user.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/PlaceBuffer.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1638,6 +1681,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1825,6 +1875,47 @@
</div>
+<A NAME="getAttributions()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ CharSequence
+ </span>
+ <span class="sympad">getAttributions</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the attributions to be shown to the user.
+ <p>
+ We recommend placing this information below any place information. See the
+ <a href="https://developers.google.com/places/android/attributions#third-party">Google
+ Places API Policies</a> for more details.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>attributions in HTML format, or null if there are no attributions to display.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="getStatus()"></A>
<div class="jd-details api apilevel-">
@@ -1851,7 +1942,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceDetectionApi.html b/docs/html/reference/com/google/android/gms/location/places/PlaceDetectionApi.html
index 9f00af8..250952f 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceDetectionApi.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceDetectionApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceFilter.html b/docs/html/reference/com/google/android/gms/location/places/PlaceFilter.html
index 89e3e94..1d99566 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceFilter.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceFilter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihood.html b/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihood.html
index d90cb25..b9c232f 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihood.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihood.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html b/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html
index 9c242d6..8ee9995 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -939,8 +950,10 @@
The likelihoods are not guaranteed to be correct, and in a given PlaceLikelihoodBuffer they may
not sum to 1.0.
<p>
- NOTE: The listener must release this object after it is done with it, otherwise there might be a
- memory leak.
+ NOTE: The calling application must <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> this object after it is done with it to
+ prevent a memory leak. Refer to the <a
+ href="https://developers.google.com/places/documentation/android/buffers">developer's guide</a>
+ for more information about handling buffers.
</p>
@@ -1059,6 +1072,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1686,6 +1706,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1902,11 +1929,11 @@
<div class="jd-tagdata jd-tagdescr"><p>Returns the attributions to be shown to the user.
<p>
We recommend placing this information below any search results or place information. See the
- <a href="https://developers.google.com/places/policies#attribution_requirements">Google
+ <a href="https://developers.google.com/places/android/attributions#third-party">Google
Places API Policies</a> for more details.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
- <ul class="nolist"><li>attributions in HTML format.
+ <ul class="nolist"><li>attributions in HTML format, or null if there are no attributions to display.
</li></ul>
</div>
@@ -1940,7 +1967,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceReport.html b/docs/html/reference/com/google/android/gms/location/places/PlaceReport.html
index bdb3448..4b53c13 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceReport.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceReport.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlaceTypes.html b/docs/html/reference/com/google/android/gms/location/places/PlaceTypes.html
index c7671a9..ff7718e 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlaceTypes.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlaceTypes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/Places.html b/docs/html/reference/com/google/android/gms/location/places/Places.html
index faf7d0c..3aaced8 100644
--- a/docs/html/reference/com/google/android/gms/location/places/Places.html
+++ b/docs/html/reference/com/google/android/gms/location/places/Places.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.Builder.html b/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.Builder.html
index 4bf1683..c3a8386 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.html b/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.html
index 112b8b9..2ed7a54 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlacesOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/PlacesStatusCodes.html b/docs/html/reference/com/google/android/gms/location/places/PlacesStatusCodes.html
index c3e2088..bf5d8e3 100644
--- a/docs/html/reference/com/google/android/gms/location/places/PlacesStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/location/places/PlacesStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1065,6 +1076,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1075,7 +1098,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1087,7 +1110,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1099,7 +1122,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1111,7 +1134,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1123,7 +1146,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1135,7 +1158,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1147,7 +1170,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1159,7 +1182,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1171,7 +1194,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1183,7 +1206,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1195,7 +1218,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1207,7 +1230,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1219,7 +1242,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1231,7 +1254,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1243,7 +1266,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1255,7 +1278,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
diff --git a/docs/html/reference/com/google/android/gms/location/places/package-summary.html b/docs/html/reference/com/google/android/gms/location/places/package-summary.html
index 33e5e6e..22ecd8d 100644
--- a/docs/html/reference/com/google/android/gms/location/places/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/location/places/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html b/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html
index df4d9a0..dc8bdd6 100644
--- a/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html
+++ b/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.html b/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.html
index 958659b..5fbeec3 100644
--- a/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.html
+++ b/docs/html/reference/com/google/android/gms/location/places/ui/PlacePicker.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/location/places/ui/package-summary.html b/docs/html/reference/com/google/android/gms/location/places/ui/package-summary.html
index 2e41b25..3108c76 100644
--- a/docs/html/reference/com/google/android/gms/location/places/ui/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/location/places/ui/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/CameraUpdate.html b/docs/html/reference/com/google/android/gms/maps/CameraUpdate.html
index ca84cb2..a057d17 100644
--- a/docs/html/reference/com/google/android/gms/maps/CameraUpdate.html
+++ b/docs/html/reference/com/google/android/gms/maps/CameraUpdate.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/CameraUpdateFactory.html b/docs/html/reference/com/google/android/gms/maps/CameraUpdateFactory.html
index 118df28..5a11b66 100644
--- a/docs/html/reference/com/google/android/gms/maps/CameraUpdateFactory.html
+++ b/docs/html/reference/com/google/android/gms/maps/CameraUpdateFactory.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html
index 0f976b2..d748774 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html
index ef14443..09907ba 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html
index 9601d43..da38433 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html
index 2590680..65456e5 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html
index 5d16ced..95e1a8c 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html
index e69a685..ec01176 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html
index ab3dc14..a748993 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html
index f085e9f..d90f490 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html
index 12eff5f..1768243 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html
index a84b2a0..a62a741 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html
index f38d1dc..5f17e92 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html
index 1e59cde..5932d2f 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html
index 169b03c..73bcb74 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMap.html b/docs/html/reference/com/google/android/gms/maps/GoogleMap.html
index e20b7d4..c59d041 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMap.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMap.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/GoogleMapOptions.html b/docs/html/reference/com/google/android/gms/maps/GoogleMapOptions.html
index ebd0068..36bdc66 100644
--- a/docs/html/reference/com/google/android/gms/maps/GoogleMapOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/GoogleMapOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html b/docs/html/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html
index 2964e10..dc32e63 100644
--- a/docs/html/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/LocationSource.html b/docs/html/reference/com/google/android/gms/maps/LocationSource.html
index 8343d785..009d82a 100644
--- a/docs/html/reference/com/google/android/gms/maps/LocationSource.html
+++ b/docs/html/reference/com/google/android/gms/maps/LocationSource.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/MapFragment.html b/docs/html/reference/com/google/android/gms/maps/MapFragment.html
index 85b31c1..c5e9797 100644
--- a/docs/html/reference/com/google/android/gms/maps/MapFragment.html
+++ b/docs/html/reference/com/google/android/gms/maps/MapFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -3456,6 +3467,8 @@
<li>The callback will be executed in the main thread.
<li>In the case where Google Play services is not installed on the user's device, the
callback will not be triggered until the user installs it.
+ <li>In the rare case where the GoogleMap is destroyed immediately after creation, the
+ callback is not triggered.
<li>The <code><a href="/reference/com/google/android/gms/maps/GoogleMap.html">GoogleMap</a></code> object provided by the callback is non-null.
</ul></p></div>
<div class="jd-tagdata">
diff --git a/docs/html/reference/com/google/android/gms/maps/MapView.html b/docs/html/reference/com/google/android/gms/maps/MapView.html
index 45f007b..c082043 100644
--- a/docs/html/reference/com/google/android/gms/maps/MapView.html
+++ b/docs/html/reference/com/google/android/gms/maps/MapView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/MapsInitializer.html b/docs/html/reference/com/google/android/gms/maps/MapsInitializer.html
index d69c811..56b513c 100644
--- a/docs/html/reference/com/google/android/gms/maps/MapsInitializer.html
+++ b/docs/html/reference/com/google/android/gms/maps/MapsInitializer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/OnMapReadyCallback.html b/docs/html/reference/com/google/android/gms/maps/OnMapReadyCallback.html
index deeb60d..2e7cdc5 100644
--- a/docs/html/reference/com/google/android/gms/maps/OnMapReadyCallback.html
+++ b/docs/html/reference/com/google/android/gms/maps/OnMapReadyCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html b/docs/html/reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html
index c807f60..97604e7 100644
--- a/docs/html/reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html
+++ b/docs/html/reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/Projection.html b/docs/html/reference/com/google/android/gms/maps/Projection.html
index 74ecb09..808eb80 100644
--- a/docs/html/reference/com/google/android/gms/maps/Projection.html
+++ b/docs/html/reference/com/google/android/gms/maps/Projection.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html
index b640115..1b48cdb 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html
index 0970264..6ab59e4 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html
index 72f0ae6..7e5ed1e3 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -909,7 +920,7 @@
<div class="jd-descrdiv">
Called when the user makes a tap gesture on the panorama, but only if none of the
- overlays of the map handled the gesture.
+ overlays of the panorama handled the gesture.
@@ -993,7 +1004,7 @@
<div class="jd-tagdata jd-tagdescr"><p>Called when the user makes a tap gesture on the panorama, but only if none of the
- overlays of the map handled the gesture. Implementations of this method are always
+ overlays of the panorama handled the gesture. Implementations of this method are always
invoked on the main thread.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html
new file mode 100644
index 0000000..10e8e69
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html
@@ -0,0 +1,1077 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>StreetViewPanorama.OnStreetViewPanoramaLongClickListener | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaLongClickListener</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Callback interface for when the user long presses on the panorama.
+ <p>
+ Listeners will be invoked on the main thread
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html#onStreetViewPanoramaLongClick(com.google.android.gms.maps.model.StreetViewPanoramaOrientation)">onStreetViewPanoramaLongClick</a></span>(<a href="/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html">StreetViewPanoramaOrientation</a> orientation)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the user makes a long-press gesture on the panorama, but only if none of the
+ overlays of the panorama handled the gesture.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onStreetViewPanoramaLongClick(com.google.android.gms.maps.model.StreetViewPanoramaOrientation)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onStreetViewPanoramaLongClick</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html">StreetViewPanoramaOrientation</a> orientation)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the user makes a long-press gesture on the panorama, but only if none of the
+ overlays of the panorama handled the gesture. Implementations of this method are always
+ invoked on the main thread.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>orientation</td>
+ <td>The tilt and bearing values corresponding to the point on the screen
+ where the user long-pressed. These values have an absolute value within a
+ specific panorama, and are independent of the current orientation of the
+ camera.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.html
index a78c7be..33d4e7a 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanorama.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -980,6 +991,23 @@
</tr>
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ Callback interface for when the user long presses on the panorama.
+
+
+
+ </td>
+ </tr>
+
+
@@ -1296,6 +1324,29 @@
<td class="jd-typecol"><nobr>
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/maps/StreetViewPanorama.html#setOnStreetViewPanoramaLongClickListener(com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaLongClickListener)">setOnStreetViewPanoramaLongClickListener</a></span>(<a href="/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</a> listener)</nobr>
+
+ <div class="jd-descrdiv">
+ Sets a callback that's invoked when the panorama is long-pressed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
@@ -1315,7 +1366,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1338,7 +1389,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1361,7 +1412,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1384,7 +1435,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1407,7 +1458,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -1430,7 +1481,7 @@
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -2213,6 +2264,49 @@
</div>
+<A NAME="setOnStreetViewPanoramaLongClickListener(com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaLongClickListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+ final
+
+
+ void
+ </span>
+ <span class="sympad">setOnStreetViewPanoramaLongClickListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</a> listener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Sets a callback that's invoked when the panorama is long-pressed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>listener</td>
+ <td>The callback that's invoked when the panorama is long-pressed. To unset
+ the callback, use <code>null</code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="setPanningGesturesEnabled(boolean)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html
index 80983fa..50c538dc 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html
index 9b7de1c..696a3cf 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaView.html b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaView.html
index a338a55..f461614 100644
--- a/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaView.html
+++ b/docs/html/reference/com/google/android/gms/maps/StreetViewPanoramaView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/SupportMapFragment.html b/docs/html/reference/com/google/android/gms/maps/SupportMapFragment.html
index e086e8f..8548903 100644
--- a/docs/html/reference/com/google/android/gms/maps/SupportMapFragment.html
+++ b/docs/html/reference/com/google/android/gms/maps/SupportMapFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -3262,6 +3273,8 @@
<li>The callback will be executed in the main thread.
<li>In the case where Google Play services is not installed on the user's device, the
callback will not be triggered until the user installs it.
+ <li>In the rare case where the GoogleMap is destroyed immediately after creation, the
+ callback is not triggered.
<li>The <code><a href="/reference/com/google/android/gms/maps/GoogleMap.html">GoogleMap</a></code> object provided by the callback is non-null.
</ul></p></div>
<div class="jd-tagdata">
diff --git a/docs/html/reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html b/docs/html/reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html
index e140f0b..3370c41 100644
--- a/docs/html/reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html
+++ b/docs/html/reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/UiSettings.html b/docs/html/reference/com/google/android/gms/maps/UiSettings.html
index d1c8bb2..30063d9 100644
--- a/docs/html/reference/com/google/android/gms/maps/UiSettings.html
+++ b/docs/html/reference/com/google/android/gms/maps/UiSettings.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptor.html b/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptor.html
index f6703b6..cde3690 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptor.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptor.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html b/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html
index 0194652..54d1316 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.Builder.html b/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.Builder.html
index b687f50..9440ec2 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.Builder.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.html b/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.html
index a55eaaf..7e38f61 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/CameraPosition.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/Circle.html b/docs/html/reference/com/google/android/gms/maps/model/Circle.html
index d0391c75..d5463c3 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/Circle.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/Circle.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/CircleOptions.html b/docs/html/reference/com/google/android/gms/maps/model/CircleOptions.html
index ae9d3f7..d4a025d 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/CircleOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/CircleOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/GroundOverlay.html b/docs/html/reference/com/google/android/gms/maps/model/GroundOverlay.html
index d2b7e4e..3394546 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/GroundOverlay.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/GroundOverlay.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/GroundOverlayOptions.html b/docs/html/reference/com/google/android/gms/maps/model/GroundOverlayOptions.html
index b7c3517..fba321d 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/GroundOverlayOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/GroundOverlayOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/IndoorBuilding.html b/docs/html/reference/com/google/android/gms/maps/model/IndoorBuilding.html
index 3a248c5..155e09b 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/IndoorBuilding.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/IndoorBuilding.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/IndoorLevel.html b/docs/html/reference/com/google/android/gms/maps/model/IndoorLevel.html
index 46e0bba..93cf9fe 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/IndoorLevel.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/IndoorLevel.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/LatLng.html b/docs/html/reference/com/google/android/gms/maps/model/LatLng.html
index 7434904..f2f9225 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/LatLng.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/LatLng.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html b/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html
index 46edc64..7d37168 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.html b/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.html
index 694dafe..27cafc0 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/LatLngBounds.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/Marker.html b/docs/html/reference/com/google/android/gms/maps/model/Marker.html
index 5b0e409..50ea713 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/Marker.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/Marker.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/MarkerOptions.html b/docs/html/reference/com/google/android/gms/maps/model/MarkerOptions.html
index 1615d67..ba30ff2 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/MarkerOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/MarkerOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/Polygon.html b/docs/html/reference/com/google/android/gms/maps/model/Polygon.html
index 6212db0..ce61d39 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/Polygon.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/Polygon.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/PolygonOptions.html b/docs/html/reference/com/google/android/gms/maps/model/PolygonOptions.html
index 0d906b4..9975e21 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/PolygonOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/PolygonOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/Polyline.html b/docs/html/reference/com/google/android/gms/maps/model/Polyline.html
index 953ab51..a313b91 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/Polyline.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/Polyline.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/PolylineOptions.html b/docs/html/reference/com/google/android/gms/maps/model/PolylineOptions.html
index fed63d9..838bb88 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/PolylineOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/PolylineOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/RuntimeRemoteException.html b/docs/html/reference/com/google/android/gms/maps/model/RuntimeRemoteException.html
index 243415d..662aa38 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/RuntimeRemoteException.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/RuntimeRemoteException.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html
index bae66d5..c592154 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html
index 5aceda7..f5441b1 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html
index f0df0a49..d2568ca 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html
index 13c88bc..95cdc3f 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html
index 988abe3..97e9ce5 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html
index 8859d7e..63c9686 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/Tile.html b/docs/html/reference/com/google/android/gms/maps/model/Tile.html
index 63afb94..763ec1a 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/Tile.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/Tile.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1030,7 +1041,7 @@
int</nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/maps/model/Tile.html#height">height</a></td>
<td class="jd-descrcol" width="100%">
- The width of the image encoded by <code><a href="/reference/com/google/android/gms/maps/model/Tile.html#data">data</a></code> in pixels.
+ The height of the image encoded by <code><a href="/reference/com/google/android/gms/maps/model/Tile.html#data">data</a></code> in pixels.
@@ -1482,7 +1493,7 @@
- <div class="jd-tagdata jd-tagdescr"><p>The width of the image encoded by <code><a href="/reference/com/google/android/gms/maps/model/Tile.html#data">data</a></code> in pixels. </p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>The height of the image encoded by <code><a href="/reference/com/google/android/gms/maps/model/Tile.html#data">data</a></code> in pixels. </p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/maps/model/TileOverlay.html b/docs/html/reference/com/google/android/gms/maps/model/TileOverlay.html
index a9f59e0..09564a5 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/TileOverlay.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/TileOverlay.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/TileOverlayOptions.html b/docs/html/reference/com/google/android/gms/maps/model/TileOverlayOptions.html
index db1a2f1..dfef02c 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/TileOverlayOptions.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/TileOverlayOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/TileProvider.html b/docs/html/reference/com/google/android/gms/maps/model/TileProvider.html
index a010d24..1143ff8 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/TileProvider.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/TileProvider.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/UrlTileProvider.html b/docs/html/reference/com/google/android/gms/maps/model/UrlTileProvider.html
index 1446159..02e9399 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/UrlTileProvider.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/UrlTileProvider.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/VisibleRegion.html b/docs/html/reference/com/google/android/gms/maps/model/VisibleRegion.html
index fceaf4f..2126916 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/VisibleRegion.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/VisibleRegion.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/model/package-summary.html b/docs/html/reference/com/google/android/gms/maps/model/package-summary.html
index 38cdf71..94f8530 100644
--- a/docs/html/reference/com/google/android/gms/maps/model/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/maps/model/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/maps/package-summary.html b/docs/html/reference/com/google/android/gms/maps/package-summary.html
index f72f971..4dbe85b 100644
--- a/docs/html/reference/com/google/android/gms/maps/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/maps/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1038,6 +1049,17 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html">StreetViewPanorama.OnStreetViewPanoramaLongClickListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ Callback interface for when the user long presses on the panorama.
+
+
+
+ </td>
+ </tr>
+
+
</table>
</div>
diff --git a/docs/html/reference/com/google/android/gms/nearby/Nearby.html b/docs/html/reference/com/google/android/gms/nearby/Nearby.html
index 6f6ee11..011f4cc 100644
--- a/docs/html/reference/com/google/android/gms/nearby/Nearby.html
+++ b/docs/html/reference/com/google/android/gms/nearby/Nearby.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/AppIdentifier.html b/docs/html/reference/com/google/android/gms/nearby/connection/AppIdentifier.html
index 3b20772..9a3b1f4 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/AppIdentifier.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/AppIdentifier.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/AppMetadata.html b/docs/html/reference/com/google/android/gms/nearby/connection/AppMetadata.html
index 88c67c2..01865d0 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/AppMetadata.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/AppMetadata.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html
index 510d1c9..3386f65 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html
index beb27ff..016a1e0 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html
index e088747..b761e66 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html
index c25fc39..a946691 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html
index eb74ab2..05c9b93 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1008,6 +1019,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.html b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.html
index 9cadba5..4a3eb1f 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/Connections.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/Connections.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html b/docs/html/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html
index 252050e..928ca68 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1078,6 +1089,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1088,7 +1111,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1100,7 +1123,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1112,7 +1135,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1124,7 +1147,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1136,7 +1159,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1148,7 +1171,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1160,7 +1183,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1172,7 +1195,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1184,7 +1207,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1196,7 +1219,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1208,7 +1231,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1220,7 +1243,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1232,7 +1255,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1244,7 +1267,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1256,7 +1279,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1268,7 +1291,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
diff --git a/docs/html/reference/com/google/android/gms/nearby/connection/package-summary.html b/docs/html/reference/com/google/android/gms/nearby/connection/package-summary.html
index 43e8b91..0b382e2 100644
--- a/docs/html/reference/com/google/android/gms/nearby/connection/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/nearby/connection/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/nearby/package-summary.html b/docs/html/reference/com/google/android/gms/nearby/package-summary.html
index 08ade68..9797d47 100644
--- a/docs/html/reference/com/google/android/gms/nearby/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/nearby/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/package-summary.html b/docs/html/reference/com/google/android/gms/package-summary.html
index 095ef2c..d9cf28e 100644
--- a/docs/html/reference/com/google/android/gms/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/panorama/Panorama.html b/docs/html/reference/com/google/android/gms/panorama/Panorama.html
index 6076bf5..b29ae79 100644
--- a/docs/html/reference/com/google/android/gms/panorama/Panorama.html
+++ b/docs/html/reference/com/google/android/gms/panorama/Panorama.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html b/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html
index 1780582..57e8559 100644
--- a/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html
+++ b/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -988,6 +999,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.html b/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.html
index c036a26..c61495b 100644
--- a/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.html
+++ b/docs/html/reference/com/google/android/gms/panorama/PanoramaApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/panorama/package-summary.html b/docs/html/reference/com/google/android/gms/panorama/package-summary.html
index b149329..7316821 100644
--- a/docs/html/reference/com/google/android/gms/panorama/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/panorama/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/Account.html b/docs/html/reference/com/google/android/gms/plus/Account.html
index 4aef37f..8b31153 100644
--- a/docs/html/reference/com/google/android/gms/plus/Account.html
+++ b/docs/html/reference/com/google/android/gms/plus/Account.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html b/docs/html/reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html
index c56c2f2..210e566 100644
--- a/docs/html/reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html
+++ b/docs/html/reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1054,6 +1065,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/plus/Moments.html b/docs/html/reference/com/google/android/gms/plus/Moments.html
index ecc2e32..c26d088 100644
--- a/docs/html/reference/com/google/android/gms/plus/Moments.html
+++ b/docs/html/reference/com/google/android/gms/plus/Moments.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/People.LoadPeopleResult.html b/docs/html/reference/com/google/android/gms/plus/People.LoadPeopleResult.html
index 5706ada..db1f51e 100644
--- a/docs/html/reference/com/google/android/gms/plus/People.LoadPeopleResult.html
+++ b/docs/html/reference/com/google/android/gms/plus/People.LoadPeopleResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1031,6 +1042,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/plus/People.OrderBy.html b/docs/html/reference/com/google/android/gms/plus/People.OrderBy.html
index f70be22..d64a9d6 100644
--- a/docs/html/reference/com/google/android/gms/plus/People.OrderBy.html
+++ b/docs/html/reference/com/google/android/gms/plus/People.OrderBy.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/People.html b/docs/html/reference/com/google/android/gms/plus/People.html
index 2ed8cacd..251ed0b 100644
--- a/docs/html/reference/com/google/android/gms/plus/People.html
+++ b/docs/html/reference/com/google/android/gms/plus/People.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html b/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html
index c133e63..16eee82 100644
--- a/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.html b/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.html
index 4c5e5c5..17bb650 100644
--- a/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.html
+++ b/docs/html/reference/com/google/android/gms/plus/Plus.PlusOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/Plus.html b/docs/html/reference/com/google/android/gms/plus/Plus.html
index 648c258..cc98e01 100644
--- a/docs/html/reference/com/google/android/gms/plus/Plus.html
+++ b/docs/html/reference/com/google/android/gms/plus/Plus.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html
index 2576373..8ba8352 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html
index 6a3936b..28ff721 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.html b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.html
index c435a54..73b6441 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusOneButton.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusOneButton.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusOneDummyView.html b/docs/html/reference/com/google/android/gms/plus/PlusOneDummyView.html
index 124d151..9d569d6 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusOneDummyView.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusOneDummyView.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusShare.Builder.html b/docs/html/reference/com/google/android/gms/plus/PlusShare.Builder.html
index 4fd2810..3e5f2eb 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusShare.Builder.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusShare.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/PlusShare.html b/docs/html/reference/com/google/android/gms/plus/PlusShare.html
index 5946796..4e8bfb3 100644
--- a/docs/html/reference/com/google/android/gms/plus/PlusShare.html
+++ b/docs/html/reference/com/google/android/gms/plus/PlusShare.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html b/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html
index 0db1420..e478725 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.html b/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.html
index 6a121c5..1cf1183 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/ItemScope.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.Builder.html b/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.Builder.html
index 5250716..ca48862 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.Builder.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.html b/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.html
index 367ad6a..8478684 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/Moment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/MomentBuffer.html b/docs/html/reference/com/google/android/gms/plus/model/moments/MomentBuffer.html
index 8f8456a..16bae07 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/MomentBuffer.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/MomentBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/moments/package-summary.html b/docs/html/reference/com/google/android/gms/plus/model/moments/package-summary.html
index 1a7968b..b75c860 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/moments/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/moments/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.AgeRange.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.AgeRange.html
index 1acffea..05b4650 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.AgeRange.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.AgeRange.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html
index 14f6afc..871a285 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html
index c7efce6..7811997 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html
index bbb3128..abbaee0 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.html
index 06ce0a1..c8ea457 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Cover.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Gender.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Gender.html
index 3638d83..8dea2af 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Gender.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Gender.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Image.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Image.html
index a7bed1b..acada0a 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Image.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Image.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Name.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Name.html
index c77592a..c78be46 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Name.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Name.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.ObjectType.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.ObjectType.html
index 74ef76f..fbe7bdf 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.ObjectType.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.ObjectType.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html
index d883b54..d529bcd 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.html
index 3743d9a..086436e 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Organizations.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html
index 9208265..f5a84d4 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html
index fc0e72a..fa606bc 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html
index 55c050f..ae0adb0 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.html
index 0606fb2..6e88aa6 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.Urls.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/Person.html b/docs/html/reference/com/google/android/gms/plus/model/people/Person.html
index 77e4f54..df4a875 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/Person.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/Person.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/PersonBuffer.html b/docs/html/reference/com/google/android/gms/plus/model/people/PersonBuffer.html
index bf5e393..e6dd143 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/PersonBuffer.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/PersonBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/model/people/package-summary.html b/docs/html/reference/com/google/android/gms/plus/model/people/package-summary.html
index b3b4e69..b6ff25d 100644
--- a/docs/html/reference/com/google/android/gms/plus/model/people/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/plus/model/people/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/plus/package-summary.html b/docs/html/reference/com/google/android/gms/plus/package-summary.html
index cea3af4..4dac6f2 100644
--- a/docs/html/reference/com/google/android/gms/plus/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/plus/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/safetynet/SafetyNet.html b/docs/html/reference/com/google/android/gms/safetynet/SafetyNet.html
index 5709c30..1b26dec 100644
--- a/docs/html/reference/com/google/android/gms/safetynet/SafetyNet.html
+++ b/docs/html/reference/com/google/android/gms/safetynet/SafetyNet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html b/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html
index 2c15485..9edc99d 100644
--- a/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html
+++ b/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -995,6 +1006,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.html b/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.html
index 0db9259..7b0fa59 100644
--- a/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.html
+++ b/docs/html/reference/com/google/android/gms/safetynet/SafetyNetApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/safetynet/package-summary.html b/docs/html/reference/com/google/android/gms/safetynet/package-summary.html
index d90272e..9a709ca 100644
--- a/docs/html/reference/com/google/android/gms/safetynet/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/safetynet/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/search/GoogleNowAuthState.html b/docs/html/reference/com/google/android/gms/search/GoogleNowAuthState.html
new file mode 100644
index 0000000..c0e8f26
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/GoogleNowAuthState.html
@@ -0,0 +1,1574 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>GoogleNowAuthState | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">GoogleNowAuthState</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+ <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ class
+<h1 itemprop="name">GoogleNowAuthState</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+ implements
+
+ Parcelable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.search.GoogleNowAuthState</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Output of
+ <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, String)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+android.os.Parcelable
+<div id="inherited-constants-android.os.Parcelable">
+ <div id="inherited-constants-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html#getAccessToken()">getAccessToken</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the OAuth access token or null if access token is unavailable.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html#getAuthCode()">getAuthCode</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the OAuth authorization code or null if authorization code is unavailable.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ long</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html#getNextAllowedTimeMillis()">getNextAllowedTimeMillis</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ If the request was rejected by the throttler then the next allowed request wall time
+ (milliseconds since epoch) is returned.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ android.os.Parcelable
+
+<div id="inherited-methods-android.os.Parcelable">
+ <div id="inherited-methods-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">describeContents</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getAccessToken()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">getAccessToken</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the OAuth access token or null if access token is unavailable.
+ <p>
+ Access token is made available instead of auth code when an authorization code was already
+ issued for the web app client ID. This access token may be used with the Now API or it can be
+ revoked to subsequently obtain a new auth code.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getAuthCode()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ String
+ </span>
+ <span class="sympad">getAuthCode</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the OAuth authorization code or null if authorization code is unavailable.
+ <p>
+ The authorization code may be sent to the web application where it can be sent along with the
+ client secret to the Google OAuth server to obtain a pair of refresh and access tokens. For
+ details see
+ <a href="https://developers.google.com/accounts/docs/CrossClientAuth">Cross-client
+ Identity</a>.
+ <p>
+ If an authorization code was already issued for the web app client ID then an authorization
+ code will not be available and an access token will be made available instead. See
+ <code><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html#getAccessToken()">getAccessToken()</a></code>.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getNextAllowedTimeMillis()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ long
+ </span>
+ <span class="sympad">getNextAllowedTimeMillis</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>If the request was rejected by the throttler then the next allowed request wall time
+ (milliseconds since epoch) is returned.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html b/docs/html/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html
new file mode 100644
index 0000000..8cfc56f
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html
@@ -0,0 +1,1599 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>SearchAuth.StatusCodes | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">SearchAuth.StatusCodes</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+ <a href="#constants">Constants</a>
+
+
+
+
+
+
+ | <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ class
+<h1 itemprop="name">SearchAuth.StatusCodes</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.search.SearchAuth.StatusCodes</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Status codes for SearchAuth API containing a combination of common status codes and custom
+ status codes.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#AUTH_DISABLED">AUTH_DISABLED</a></td>
+ <td class="jd-descrcol" width="100%">
+ Authorization for the requested access is disabled for the caller.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#AUTH_THROTTLED">AUTH_THROTTLED</a></td>
+ <td class="jd-descrcol" width="100%">
+ API call has been rejected by the throttler.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
+ <td class="jd-descrcol" width="100%">
+ The application is misconfigured.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
+ <td class="jd-descrcol" width="100%">
+ An internal error occurred.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#SUCCESS">SUCCESS</a></td>
+ <td class="jd-descrcol" width="100%">
+ The operation was successful.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ </nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html#SearchAuth.StatusCodes()">SearchAuth.StatusCodes</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="AUTH_DISABLED"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ AUTH_DISABLED
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Authorization for the requested access is disabled for the caller. For example, it may be
+ disabled due to opt-outs or lack of opt-ins by the user.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 10000
+ (0x00002710)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="AUTH_THROTTLED"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ AUTH_THROTTLED
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>API call has been rejected by the throttler. Retry on or after
+ <code><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html#getNextAllowedTimeMillis()">getNextAllowedTimeMillis()</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 10001
+ (0x00002711)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="DEVELOPER_ERROR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ DEVELOPER_ERROR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The application is misconfigured. This error is not recoverable and will be treated as fatal.
+ The developer should look at the logs after this to determine more actionable information.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 10
+ (0x0000000a)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="INTERNAL_ERROR"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ INTERNAL_ERROR
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>An internal error occurred. Retrying should resolve the problem.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 8
+ (0x00000008)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="SUCCESS"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ SUCCESS
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>The operation was successful.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="SearchAuth.StatusCodes()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+
+ </span>
+ <span class="sympad">SearchAuth.StatusCodes</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/search/SearchAuth.html b/docs/html/reference/com/google/android/gms/search/SearchAuth.html
new file mode 100644
index 0000000..7d73953
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/SearchAuth.html
@@ -0,0 +1,1383 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>SearchAuth | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">SearchAuth</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+ <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+ | <a href="#lfields">Fields</a>
+
+
+
+
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ class
+<h1 itemprop="name">SearchAuth</h1>
+
+
+
+
+ extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.search.SearchAuth</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">The main entry point to the SearchAuth APIs.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ class</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html">SearchAuth.StatusCodes</a></td>
+ <td class="jd-descrcol" width="100%">
+ Status codes for SearchAuth API containing a combination of common status codes and custom
+ status codes.
+
+
+
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><<a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html">Api.ApiOptions.NoOptions</a>></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.html#API">API</a></td>
+ <td class="jd-descrcol" width="100%">
+ Identifies the SearchAuth API when used with <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApi(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>)">addApi(Api<? extends Api.ApiOptions.NotRequiredOptions>)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/search/SearchAuthApi.html">SearchAuthApi</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.html#SearchAuthApi">SearchAuthApi</a></td>
+ <td class="jd-descrcol" width="100%">
+ Entry point to the SearchAuth API methods.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="API"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/common/api/Api.html">Api</a><<a href="/reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html">Api.ApiOptions.NoOptions</a>>
+ </span>
+ API
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Identifies the SearchAuth API when used with <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApi(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>)">addApi(Api<? extends Api.ApiOptions.NotRequiredOptions>)</a></code>.
+</p></div>
+
+
+ </div>
+</div>
+
+
+
+<A NAME="SearchAuthApi"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/search/SearchAuthApi.html">SearchAuthApi</a>
+ </span>
+ SearchAuthApi
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Entry point to the SearchAuth API methods.
+</p></div>
+
+
+ </div>
+</div>
+
+
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html b/docs/html/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html
new file mode 100644
index 0000000..099818a
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html
@@ -0,0 +1,1151 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>SearchAuthApi.GoogleNowAuthResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">SearchAuthApi.GoogleNowAuthResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">SearchAuthApi.GoogleNowAuthResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.search.SearchAuthApi.GoogleNowAuthResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result of <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(GoogleApiClient, String)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html">GoogleNowAuthState</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html#getGoogleNowAuthState()">getGoogleNowAuthState</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the auth state if <code><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus()</a></code> indicates success.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getGoogleNowAuthState()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html">GoogleNowAuthState</a>
+ </span>
+ <span class="sympad">getGoogleNowAuthState</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the auth state if <code><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus()</a></code> indicates success.
+ Otherwise, returns null.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/search/SearchAuthApi.html b/docs/html/reference/com/google/android/gms/search/SearchAuthApi.html
new file mode 100644
index 0000000..218e068
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/SearchAuthApi.html
@@ -0,0 +1,1145 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>SearchAuthApi | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">SearchAuthApi</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ interface
+<h1 itemprop="name">SearchAuthApi</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.search.SearchAuthApi</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">API for Google Search auth.
+ <p>
+ Usage example:
+ <pre>
+ <code>SearchAuthApi searchAuthApi = SearchAuth.SearchAuthApi;
+ GoogleApiClient client = new GoogleApiClient.Builder(context)
+ .addApi(SearchAuth.API)
+ .build();
+ client.connect();
+
+ try {
+ // Invoke methods of searchAuthApi.
+ } finally {
+ client.disconnect();
+ }
+ </code>
+ </pre>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(GoogleApiClient, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String webAppClientId)</nobr>
+
+ <div class="jd-descrdiv">
+ Obtains authorization for the caller to use the Now API to publish to the Google Now user,
+ if any, on this device.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a>>
+ </span>
+ <span class="sympad">getGoogleNowAuth</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String webAppClientId)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Obtains authorization for the caller to use the Now API to publish to the Google Now user,
+ if any, on this device.
+ <p>
+ Usage example:
+ <pre>
+ <code>SearchAuthApi.GoogleNowAuthResult authResult;
+ try {
+ authResult = searchAuthApi.getGoogleNowAuth(client, WEB_APP_CLIENT_ID)
+ .await();
+ } finally {
+ client.disconnect();
+ }
+
+ Status status = authResult.getStatus();
+ if (status.isSuccess()) {
+ GoogleNowAuthState authState = authResult.getGoogleNowAuthState();
+ if (authState.getAuthCode() != null) {
+ // Send auth code to your server and from your server obtain OAuth refresh
+ // and access tokens.
+ } else if (authState.getAccessToken() != null) {
+ // Already obtained auth code before. To get a new auth code revoke this
+ // token and retry.
+ }
+ }
+ </code>
+ </pre></p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td><code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> that includes <code><a href="/reference/com/google/android/gms/search/SearchAuth.html#API">API</a></code>.</td>
+ </tr>
+ <tr>
+ <th>webAppClientId</td>
+ <td>Client ID, in the Google Developer Console, of the web application
+ that will be using the Now API.</td>
+ </tr>
+ </table>
+ </div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Returns</h5>
+ <ul class="nolist"><li>Pending result for <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a></code>.
+</li></ul>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/search/package-summary.html b/docs/html/reference/com/google/android/gms/search/package-summary.html
new file mode 100644
index 0000000..8110260
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/search/package-summary.html
@@ -0,0 +1,946 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>com.google.android.gms.search | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation google
+ develop reference">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">com.google.android.gms.search</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+ package
+ <h1>com.google.android.gms.search</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+ <div class="jd-descr">
+ Contains the Search APIs
+
+ </div>
+
+
+
+
+
+
+
+
+
+ <h2>Interfaces</h2>
+ <div class="jd-sumtable">
+
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuthApi.html">SearchAuthApi</a></td>
+ <td class="jd-descrcol" width="100%">
+ API for Google Search auth.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html">SearchAuthApi.GoogleNowAuthResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(GoogleApiClient, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+
+
+
+
+ <h2>Classes</h2>
+ <div class="jd-sumtable">
+
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/GoogleNowAuthState.html">GoogleNowAuthState</a></td>
+ <td class="jd-descrcol" width="100%">
+ Output of
+ <code><a href="/reference/com/google/android/gms/search/SearchAuthApi.html#getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">getGoogleNowAuth(com.google.android.gms.common.api.GoogleApiClient, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.html">SearchAuth</a></td>
+ <td class="jd-descrcol" width="100%">
+ The main entry point to the SearchAuth APIs.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/search/SearchAuth.StatusCodes.html">SearchAuth.StatusCodes</a></td>
+ <td class="jd-descrcol" width="100%">
+ Status codes for SearchAuth API containing a combination of common status codes and custom
+ status codes.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html b/docs/html/reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html
index a6ffcc9..3fb3b954 100644
--- a/docs/html/reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html
+++ b/docs/html/reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/security/ProviderInstaller.html b/docs/html/reference/com/google/android/gms/security/ProviderInstaller.html
index 8724069..7a1a331 100644
--- a/docs/html/reference/com/google/android/gms/security/ProviderInstaller.html
+++ b/docs/html/reference/com/google/android/gms/security/ProviderInstaller.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/security/package-summary.html b/docs/html/reference/com/google/android/gms/security/package-summary.html
index faf2503..8fedd3a 100644
--- a/docs/html/reference/com/google/android/gms/security/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/security/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html b/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html
index 7bd0eca..17c840c 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html b/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html
index 18710d0..afed8abd 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/Container.html b/docs/html/reference/com/google/android/gms/tagmanager/Container.html
index 1689def..372be65 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/Container.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/Container.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html b/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html
index cdffbbc..39c0f0b 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.html b/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.html
index 53137d9..ebabc632 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/ContainerHolder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1100,6 +1111,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/DataLayer.html b/docs/html/reference/com/google/android/gms/tagmanager/DataLayer.html
index c2c863a..e01d5c7 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/DataLayer.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/DataLayer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html b/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html
index 240cec9..e07894a 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -788,6 +799,13 @@
+
+
+
+
+
+
+
<div class="sum-details-links">
Summary:
@@ -805,9 +823,6 @@
- | <a href="#pubmethods">Methods</a>
-
-
| <a href="#inhmethods">Inherited Methods</a>
@@ -841,7 +856,11 @@
- extends BroadcastReceiver<br/>
+
+
+
+
+ extends <a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">CampaignTrackingReceiver</a><br/>
@@ -864,7 +883,7 @@
<tr>
- <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+ <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
@@ -872,7 +891,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="2" class="jd-inheritance-class-cell">android.content.BroadcastReceiver</td>
+ <td colspan="3" class="jd-inheritance-class-cell">android.content.BroadcastReceiver</td>
</tr>
@@ -882,6 +901,18 @@
<td class="jd-inheritance-space"> ↳</td>
+ <td colspan="2" class="jd-inheritance-class-cell"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">com.google.android.gms.analytics.CampaignTrackingReceiver</a></td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
<td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.tagmanager.InstallReferrerReceiver</td>
</tr>
@@ -999,8 +1030,33 @@
+
+
+
+
+
<!-- ========== METHOD SUMMARY =========== -->
-<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingReceiver" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingReceiver-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ <a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html">com.google.android.gms.analytics.CampaignTrackingReceiver</a>
+
+<div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingReceiver">
+ <div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingReceiver-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingReceiver-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
@@ -1015,26 +1071,18 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html#onReceive(android.content.Context, android.content.Intent)">onReceive</a></span>(Context context, Intent intent)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingReceiver.html#onReceive(android.content.Context, android.content.Intent)">onReceive</a></span>(Context context, Intent intent)</nobr>
</td></tr>
-
</table>
+ </div>
+</div>
+</td></tr>
-
-
-
-
-<!-- ========== METHOD SUMMARY =========== -->
-<table id="inhmethods" class="jd-sumtable"><tr><th>
- <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
- <div style="clear:left;">Inherited Methods</div></th></tr>
-
-
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.content.BroadcastReceiver" class="jd-expando-trigger closed"
@@ -1627,43 +1675,6 @@
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
-<h2>Public Methods</h2>
-
-
-
-<A NAME="onReceive(android.content.Context, android.content.Intent)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
- void
- </span>
- <span class="sympad">onReceive</span>
- <span class="normal">(Context context, Intent intent)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
-
<!-- ========= METHOD DETAIL ======== -->
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerService.html b/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerService.html
index 0e479c1..5358f87 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerService.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/InstallReferrerService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -850,9 +861,6 @@
- | <a href="#promethods">Protected Methods</a>
-
-
| <a href="#inhmethods">Inherited Methods</a>
@@ -897,7 +905,7 @@
- extends IntentService<br/>
+ extends <a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html">CampaignTrackingService</a><br/>
@@ -964,7 +972,7 @@
<td class="jd-inheritance-space"> ↳</td>
- <td colspan="2" class="jd-inheritance-class-cell">android.app.IntentService</td>
+ <td colspan="2" class="jd-inheritance-class-cell"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html">com.google.android.gms.analytics.CampaignTrackingService</a></td>
</tr>
@@ -2208,22 +2216,6 @@
</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerService.html#InstallReferrerService(java.lang.String)">InstallReferrerService</a></span>(String name)</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- </nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerService.html#InstallReferrerService()">InstallReferrerService</a></span>()</nobr>
</td></tr>
@@ -2239,31 +2231,6 @@
-<!-- ========== METHOD SUMMARY =========== -->
-<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
-
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/tagmanager/InstallReferrerService.html#onHandleIntent(android.content.Intent)">onHandleIntent</a></span>(Intent intent)</nobr>
-
- </td></tr>
-
-
-
-</table>
-
-
@@ -2275,19 +2242,19 @@
<tr class="api apilevel-" >
<td colspan="12">
- <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.IntentService" class="jd-expando-trigger closed"
- ><img id="inherited-methods-android.app.IntentService-trigger"
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingService" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingService-trigger"
src="/assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>
From class
- android.app.IntentService
+ <a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html">com.google.android.gms.analytics.CampaignTrackingService</a>
-<div id="inherited-methods-android.app.IntentService">
- <div id="inherited-methods-android.app.IntentService-list"
+<div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingService">
+ <div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingService-list"
class="jd-inheritedlinks">
</div>
- <div id="inherited-methods-android.app.IntentService-summary" style="display: none;">
+ <div id="inherited-methods-com.google.android.gms.analytics.CampaignTrackingService-summary" style="display: none;">
<table class="jd-sumtable-expando">
@@ -2303,7 +2270,7 @@
IBinder</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onBind</span>(Intent arg0)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onBind(android.content.Intent)">onBind</a></span>(Intent intent)</nobr>
</td></tr>
@@ -2319,7 +2286,7 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onCreate</span>()</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onCreate()">onCreate</a></span>()</nobr>
</td></tr>
@@ -2335,39 +2302,7 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onDestroy</span>()</nobr>
-
- </td></tr>
-
-
-
- <tr class=" api apilevel-" >
- <td class="jd-typecol"><nobr>
- abstract
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onHandleIntent</span>(Intent arg0)</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStart</span>(Intent arg0, int arg1)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onDestroy()">onDestroy</a></span>()</nobr>
</td></tr>
@@ -2383,23 +2318,7 @@
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">onStartCommand</span>(Intent arg0, int arg1, int arg2)</nobr>
-
- </td></tr>
-
-
-
- <tr class="alt-color api apilevel-" >
- <td class="jd-typecol"><nobr>
-
-
-
-
-
- void</nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad">setIntentRedelivery</span>(boolean arg0)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/analytics/CampaignTrackingService.html#onStartCommand(android.content.Intent, int, int)">onStartCommand</a></span>(Intent intent, int flags, int startId)</nobr>
</td></tr>
@@ -6232,38 +6151,6 @@
-<A NAME="InstallReferrerService(java.lang.String)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- public
-
-
-
-
-
- </span>
- <span class="sympad">InstallReferrerService</span>
- <span class="normal">(String name)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
<A NAME="InstallReferrerService()"></A>
<div class="jd-details api apilevel-">
@@ -6311,43 +6198,6 @@
<!-- ========= METHOD DETAIL ======== -->
-<h2>Protected Methods</h2>
-
-
-
-<A NAME="onHandleIntent(android.content.Intent)"></A>
-
-<div class="jd-details api apilevel-">
- <h4 class="jd-details-title">
- <span class="normal">
- protected
-
-
-
-
- void
- </span>
- <span class="sympad">onHandleIntent</span>
- <span class="normal">(Intent intent)</span>
- </h4>
- <div class="api-level">
- <div></div>
-
-
-
- </div>
- <div class="jd-details-descr">
-
-
-
-
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
-
- </div>
-</div>
-
-
-
<!-- ========= END OF CLASS DATA ========= -->
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/PreviewActivity.html b/docs/html/reference/com/google/android/gms/tagmanager/PreviewActivity.html
index 3851c5f..2866d1a 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/PreviewActivity.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/PreviewActivity.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/TagManager.html b/docs/html/reference/com/google/android/gms/tagmanager/TagManager.html
index faa1dff..8e2b682 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/TagManager.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/TagManager.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/tagmanager/package-summary.html b/docs/html/reference/com/google/android/gms/tagmanager/package-summary.html
index 35855b4..1caa512 100644
--- a/docs/html/reference/com/google/android/gms/tagmanager/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/tagmanager/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Address.html b/docs/html/reference/com/google/android/gms/wallet/Address.html
index 257ec29..ac6dc62 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Address.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Address.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Cart.Builder.html b/docs/html/reference/com/google/android/gms/wallet/Cart.Builder.html
index d86a8e6..1dd0ced 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Cart.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Cart.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Cart.html b/docs/html/reference/com/google/android/gms/wallet/Cart.html
index d6f011c..46198a7 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Cart.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Cart.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/CountrySpecification.html b/docs/html/reference/com/google/android/gms/wallet/CountrySpecification.html
index 7d4fe11..76a04ed 100644
--- a/docs/html/reference/com/google/android/gms/wallet/CountrySpecification.html
+++ b/docs/html/reference/com/google/android/gms/wallet/CountrySpecification.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html b/docs/html/reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html
index 3436e96..7177079 100644
--- a/docs/html/reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html
+++ b/docs/html/reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/FullWallet.html b/docs/html/reference/com/google/android/gms/wallet/FullWallet.html
index da5897f..4c15522 100644
--- a/docs/html/reference/com/google/android/gms/wallet/FullWallet.html
+++ b/docs/html/reference/com/google/android/gms/wallet/FullWallet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html b/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html
index 8d7f9d7..e47b4d2 100644
--- a/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.html b/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.html
index 9112424..00a8404 100644
--- a/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.html
+++ b/docs/html/reference/com/google/android/gms/wallet/FullWalletRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/GiftCardWalletObject.html b/docs/html/reference/com/google/android/gms/wallet/GiftCardWalletObject.html
index e777317..68e804d 100644
--- a/docs/html/reference/com/google/android/gms/wallet/GiftCardWalletObject.html
+++ b/docs/html/reference/com/google/android/gms/wallet/GiftCardWalletObject.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/InstrumentInfo.html b/docs/html/reference/com/google/android/gms/wallet/InstrumentInfo.html
index 4ecb8c7..277a223 100644
--- a/docs/html/reference/com/google/android/gms/wallet/InstrumentInfo.html
+++ b/docs/html/reference/com/google/android/gms/wallet/InstrumentInfo.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/LineItem.Builder.html b/docs/html/reference/com/google/android/gms/wallet/LineItem.Builder.html
index 9485102..42a2253 100644
--- a/docs/html/reference/com/google/android/gms/wallet/LineItem.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/LineItem.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/LineItem.Role.html b/docs/html/reference/com/google/android/gms/wallet/LineItem.Role.html
index 090e95d..8879b87 100644
--- a/docs/html/reference/com/google/android/gms/wallet/LineItem.Role.html
+++ b/docs/html/reference/com/google/android/gms/wallet/LineItem.Role.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/LineItem.html b/docs/html/reference/com/google/android/gms/wallet/LineItem.html
index 5b358a8..b618f60 100644
--- a/docs/html/reference/com/google/android/gms/wallet/LineItem.html
+++ b/docs/html/reference/com/google/android/gms/wallet/LineItem.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/LoyaltyWalletObject.html b/docs/html/reference/com/google/android/gms/wallet/LoyaltyWalletObject.html
index f5642c5..8adcc83 100644
--- a/docs/html/reference/com/google/android/gms/wallet/LoyaltyWalletObject.html
+++ b/docs/html/reference/com/google/android/gms/wallet/LoyaltyWalletObject.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.Builder.html b/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.Builder.html
index e89e9a1..97c0187 100644
--- a/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.html b/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.html
index 1b03019..e36f845 100644
--- a/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.html
+++ b/docs/html/reference/com/google/android/gms/wallet/MaskedWallet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html b/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html
index a0783f2..0fc3a7f 100644
--- a/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.html b/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.html
index b8662db..dd3221f 100644
--- a/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.html
+++ b/docs/html/reference/com/google/android/gms/wallet/MaskedWalletRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html
index 71612de..97d56b2 100644
--- a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html
index 01d955b..d24d5d5 100644
--- a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html
+++ b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html
index 4235846..5193874 100644
--- a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html
+++ b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html
index 36cf22d..88c2d07 100644
--- a/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html
+++ b/docs/html/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/OfferWalletObject.html b/docs/html/reference/com/google/android/gms/wallet/OfferWalletObject.html
index c54153e..1cc4ffa 100644
--- a/docs/html/reference/com/google/android/gms/wallet/OfferWalletObject.html
+++ b/docs/html/reference/com/google/android/gms/wallet/OfferWalletObject.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/PaymentInstrumentType.html b/docs/html/reference/com/google/android/gms/wallet/PaymentInstrumentType.html
index 850581e..5da8cda 100644
--- a/docs/html/reference/com/google/android/gms/wallet/PaymentInstrumentType.html
+++ b/docs/html/reference/com/google/android/gms/wallet/PaymentInstrumentType.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Payments.html b/docs/html/reference/com/google/android/gms/wallet/Payments.html
index b8679ee..f1a5a7e 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Payments.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Payments.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/ProxyCard.html b/docs/html/reference/com/google/android/gms/wallet/ProxyCard.html
index 975205f..ba3c104 100644
--- a/docs/html/reference/com/google/android/gms/wallet/ProxyCard.html
+++ b/docs/html/reference/com/google/android/gms/wallet/ProxyCard.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html b/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html
index cb1e4de..a8688cd 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.html b/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.html
index 34556c4..66e55a7 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Wallet.WalletOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/Wallet.html b/docs/html/reference/com/google/android/gms/wallet/Wallet.html
index a14ab53..15d8d8b 100644
--- a/docs/html/reference/com/google/android/gms/wallet/Wallet.html
+++ b/docs/html/reference/com/google/android/gms/wallet/Wallet.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/WalletConstants.html b/docs/html/reference/com/google/android/gms/wallet/WalletConstants.html
index e78f11c..834fa46 100644
--- a/docs/html/reference/com/google/android/gms/wallet/WalletConstants.html
+++ b/docs/html/reference/com/google/android/gms/wallet/WalletConstants.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1160,6 +1171,18 @@
<tr class=" api apilevel-" >
+ <td class="jd-typecol">String</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#METADATA_TAG_WALLET_API_ENABLED">METADATA_TAG_WALLET_API_ENABLED</a></td>
+ <td class="jd-descrcol" width="100%">
+ Name of the metadata tag that is a signal from your application that it uses Wallet APIs.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#RESULT_ERROR">RESULT_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1171,7 +1194,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#STYLE_NO_TRANSITION">STYLE_NO_TRANSITION</a></td>
<td class="jd-descrcol" width="100%">
@@ -1186,7 +1209,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#STYLE_SLIDE_TRANSITION">STYLE_SLIDE_TRANSITION</a></td>
<td class="jd-descrcol" width="100%">
@@ -1201,7 +1224,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#THEME_DARK">THEME_DARK</a></td>
<td class="jd-descrcol" width="100%">
@@ -1215,7 +1238,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#THEME_HOLO_DARK">THEME_HOLO_DARK</a></td>
<td class="jd-descrcol" width="100%">
@@ -1230,7 +1253,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#THEME_HOLO_LIGHT">THEME_HOLO_LIGHT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1245,7 +1268,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#THEME_LIGHT">THEME_LIGHT</a></td>
<td class="jd-descrcol" width="100%">
@@ -2362,6 +2385,58 @@
+<A NAME="METADATA_TAG_WALLET_API_ENABLED"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ String
+ </span>
+ METADATA_TAG_WALLET_API_ENABLED
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Name of the metadata tag that is a signal from your application that it uses Wallet APIs.
+ Note:
+ In future versions this metadata tag will be required in your application manifest to use
+ Wallet APIs in your app.
+
+ Example of using the tag:
+ <application ...>
+ <meta-data
+ android:name="com.google.android.gms.wallet.api.enabled"
+ android:value="true" />
+ ...
+ </application>
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ "com.google.android.gms.wallet.api.enabled"
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="RESULT_ERROR"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html b/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html
index be40832..537cbad 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonText.html b/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonText.html
index 203d7fe..86dbf44 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonText.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/BuyButtonText.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/Dimension.html b/docs/html/reference/com/google/android/gms/wallet/fragment/Dimension.html
index 1ca8348..921de6d 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/Dimension.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/Dimension.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html b/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html
index 87ab72a..0486d59 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html b/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html
index b82685c..cb7d54c 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html
index e7c0899..5ff997c 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.html
index d2427f9..6d727e7 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragment.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html
index bbdfc8b..64a7ad5 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html
index 9224b74..52c1ba5 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html
index a83e2ce..4a7f65b 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html
index ca05739..741a0f0 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html
index 38c66379..95ba843 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html
index 37265ad..fa92a19 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html
index 3245f2b..6aec1a4 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html
index 2219369..c37c770 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/fragment/package-summary.html b/docs/html/reference/com/google/android/gms/wallet/fragment/package-summary.html
index 1b16aa8..912e174 100644
--- a/docs/html/reference/com/google/android/gms/wallet/fragment/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/wallet/fragment/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wallet/package-summary.html b/docs/html/reference/com/google/android/gms/wallet/package-summary.html
index 94d7f61..285432b 100644
--- a/docs/html/reference/com/google/android/gms/wallet/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/wallet/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/Asset.html b/docs/html/reference/com/google/android/gms/wearable/Asset.html
index cad1f2e..9c59bbd 100644
--- a/docs/html/reference/com/google/android/gms/wearable/Asset.html
+++ b/docs/html/reference/com/google/android/gms/wearable/Asset.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html
new file mode 100644
index 0000000..1f8ac16
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html
@@ -0,0 +1,1076 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi.AddLocalCapabilityResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi.AddLocalCapabilityResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">CapabilityApi.AddLocalCapabilityResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi.AddLocalCapabilityResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">addLocalCapability(GoogleApiClient, String)</a></code> </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html
new file mode 100644
index 0000000..4ff03a4
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html
@@ -0,0 +1,1111 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi.CapabilityListener | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi.CapabilityListener</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">CapabilityApi.CapabilityListener</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi.CapabilityListener</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+ ><img id="subclasses-indirect-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+ <div id="subclasses-indirect">
+ <div id="subclasses-indirect-list"
+ class="jd-inheritedlinks"
+
+ >
+
+
+ <a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a>
+
+
+ </div>
+ <div id="subclasses-indirect-summary"
+ style="display: none;"
+ >
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></td>
+ <td class="jd-descrcol" width="100%">
+ Receives events from other nodes, such as data changes, messages or connectivity events.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+ </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Listener for changes in the reachable nodes providing a capability. </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html#onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)">onCapabilityChanged</a></span>(<a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a> capabilityInfo)</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onCapabilityChanged</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a> capabilityInfo)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html
new file mode 100644
index 0000000..af62963
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html
@@ -0,0 +1,1141 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi.GetAllCapabilitiesResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi.GetAllCapabilitiesResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">CapabilityApi.GetAllCapabilitiesResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi.GetAllCapabilitiesResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code> </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ Map<String, <a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html#getAllCapabilities()">getAllCapabilities</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getAllCapabilities()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ Map<String, <a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a>>
+ </span>
+ <span class="sympad">getAllCapabilities</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html
new file mode 100644
index 0000000..daf13c5
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html
@@ -0,0 +1,1141 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi.GetCapabilityResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi.GetCapabilityResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">CapabilityApi.GetCapabilityResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi.GetCapabilityResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code> </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html#getCapability()">getCapability</a></span>()</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getCapability()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a>
+ </span>
+ <span class="sympad">getCapability</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html
new file mode 100644
index 0000000..83df493
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html
@@ -0,0 +1,1076 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi.RemoveLocalCapabilityResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi.RemoveLocalCapabilityResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">CapabilityApi.RemoveLocalCapabilityResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi.RemoveLocalCapabilityResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">removeLocalCapability(GoogleApiClient, String)</a></code> </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.html
new file mode 100644
index 0000000..2950a25
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityApi.html
@@ -0,0 +1,1594 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityApi | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityApi</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ interface
+<h1 itemprop="name">CapabilityApi</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityApi</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Exposes an API to learn about capabilities provided by nodes on the Wear network.
+
+ <p>Capabilities are local to an application.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html">CapabilityApi.AddLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">addLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ Listener for changes in the reachable nodes providing a capability.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html">CapabilityApi.GetAllCapabilitiesResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html">CapabilityApi.GetCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html">CapabilityApi.RemoveLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">removeLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_ALL">FILTER_ALL</a></td>
+ <td class="jd-descrcol" width="100%">
+ Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>:
+ If this filter is set then the full set of nodes that declare the given capability will
+ be included in the capability's <code><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_REACHABLE">FILTER_REACHABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>:
+ If this filter is set then only reachable nodes that declare the given capability will
+ be included in the capability's <code><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)">addCapabilityListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a> listener, String capability)</nobr>
+
+ <div class="jd-descrdiv">
+ Registers a listener to be notified of capabilities being added to or removed from the Wear
+ network.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html">CapabilityApi.AddLocalCapabilityResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">addLocalCapability</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability)</nobr>
+
+ <div class="jd-descrdiv">
+ Announces that a capability has become available on the local node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html">CapabilityApi.GetAllCapabilitiesResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, int nodeFilter)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns information about all capabilities, including the nodes that declare
+ those capabilities.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html">CapabilityApi.GetCapabilityResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability, int nodeFilter)</nobr>
+
+ <div class="jd-descrdiv">
+ Returns information about a capability, including the nodes that declare that capability.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)">removeCapabilityListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a> listener, String capability)</nobr>
+
+ <div class="jd-descrdiv">
+ Removes a listener which was previously added through <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)">addCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html">CapabilityApi.RemoveLocalCapabilityResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">removeLocalCapability</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability)</nobr>
+
+ <div class="jd-descrdiv">
+ Announces that a capability is no longer available on the local node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="FILTER_ALL"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FILTER_ALL
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>:
+ If this filter is set then the full set of nodes that declare the given capability will
+ be included in the capability's <code><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="FILTER_REACHABLE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FILTER_REACHABLE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>:
+ If this filter is set then only reachable nodes that declare the given capability will
+ be included in the capability's <code><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="addCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">addCapabilityListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a> listener, String capability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to be notified of capabilities being added to or removed from the Wear
+ network.
+ Calls to this method should be balanced with <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)">removeCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)</a></code> to avoid
+ leaking resources.
+
+ <p>Callers wishing to be notified of events in the background should use
+ <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></code>.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html">CapabilityApi.AddLocalCapabilityResult</a>>
+ </span>
+ <span class="sympad">addLocalCapability</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Announces that a capability has become available on the local node.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html">CapabilityApi.GetAllCapabilitiesResult</a>>
+ </span>
+ <span class="sympad">getAllCapabilities</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, int nodeFilter)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns information about all capabilities, including the nodes that declare
+ those capabilities. The filter parameter controls whether all nodes are returned,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_ALL">FILTER_ALL</a></code>, or only those that are currently reachable by this node,
+ <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_REACHABLE">FILTER_REACHABLE</a></code>.
+ <p>The local node will never be returned in the set of nodes.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html">CapabilityApi.GetCapabilityResult</a>>
+ </span>
+ <span class="sympad">getCapability</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability, int nodeFilter)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns information about a capability, including the nodes that declare that capability.
+ The filter parameter controls whether all nodes are returned, <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_ALL">FILTER_ALL</a></code>, or
+ only those that are currently reachable by this node, <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#FILTER_REACHABLE">FILTER_REACHABLE</a></code>.
+ <p>The local node will never be returned in the set of nodes.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="removeCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">removeCapabilityListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a> listener, String capability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Removes a listener which was previously added through <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addCapabilityListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener, java.lang.String)">addCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)</a></code>.
+ The listener is only removed from listening for the capability provided and will
+ continue to receive messages for any other capabilities it was previously registered for
+ that have not also been removed.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html">CapabilityApi.RemoveLocalCapabilityResult</a>>
+ </span>
+ <span class="sympad">removeLocalCapability</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String capability)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Announces that a capability is no longer available on the local node.
+ Note: this will not remove any capabilities announced in the Manifest for an app.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/CapabilityInfo.html b/docs/html/reference/com/google/android/gms/wearable/CapabilityInfo.html
new file mode 100644
index 0000000..fdde207
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/CapabilityInfo.html
@@ -0,0 +1,1117 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>CapabilityInfo | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">CapabilityInfo</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ interface
+<h1 itemprop="name">CapabilityInfo</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.CapabilityInfo</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Information about a Capability on the network and where it is available.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html#getName()">getName</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the name of the capability.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ Set<<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html#getNodes()">getNodes</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the set of nodes for the capability.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getName()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ String
+ </span>
+ <span class="sympad">getName</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the name of the capability.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getNodes()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ Set<<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a>>
+ </span>
+ <span class="sympad">getNodes</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the set of nodes for the capability. Disconnected nodes may or may not be included in
+ the set.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html b/docs/html/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html
new file mode 100644
index 0000000..c1f9fc1
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html
@@ -0,0 +1,1211 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>Channel.GetInputStreamResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">Channel.GetInputStreamResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">Channel.GetInputStreamResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">Releasable</a>
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.Channel.GetInputStreamResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ InputStream</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html#getInputStream()">getInputStream</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns an input stream which can read data from the remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Releasable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Releasable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">com.google.android.gms.common.api.Releasable</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Releasable">
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Releasable.html#release()">release</a></span>()</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getInputStream()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ InputStream
+ </span>
+ <span class="sympad">getInputStream</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns an input stream which can read data from the remote node. The stream should be
+ closed when no longer needed. This method will only return <code>null</code> if this result's
+ <a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">status</a></a> was not <a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">success</a></a>.
+
+ <p>The returned stream will throw <code><a href="/reference/java/io/IOException.html">IOException</a></code> on read if any connection
+ errors occur. This exception might be a <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code>.
+
+ <p>Since data for this stream comes over the network, reads may block for a long
+ time.
+
+ <p>Multiple calls to this method will return the same instance.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html b/docs/html/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html
new file mode 100644
index 0000000..5edfe44
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html
@@ -0,0 +1,1212 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>Channel.GetOutputStreamResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">Channel.GetOutputStreamResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">Channel.GetOutputStreamResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">Releasable</a>
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.Channel.GetOutputStreamResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ OutputStream</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html#getOutputStream()">getOutputStream</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns an output stream which can send data to a remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Releasable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Releasable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Releasable.html">com.google.android.gms.common.api.Releasable</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Releasable">
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Releasable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Releasable.html#release()">release</a></span>()</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getOutputStream()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ OutputStream
+ </span>
+ <span class="sympad">getOutputStream</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns an output stream which can send data to a remote node. The stream should be
+ closed when no longer needed. This method will only return <code>null</code> if this result's
+ <a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">status</a></a> was not <a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">success</a></a>.
+
+ <p>The returned stream will throw <code><a href="/reference/java/io/IOException.html">IOException</a></code> on write if any connection
+ errors occur. This exception might be a <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code>.
+
+ <p>Data written to this stream is buffered. If you wish to send the current data
+ without waiting for the buffer to fill up, <a href="/reference/java/io/OutputStream.html#flush()">flush</a></a> the
+ stream.
+
+ <p>Multiple calls to this method will return the same instance.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/Channel.html b/docs/html/reference/com/google/android/gms/wearable/Channel.html
new file mode 100644
index 0000000..48b80da
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/Channel.html
@@ -0,0 +1,2016 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>Channel | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">Channel</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+ <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+ | <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ interface
+<h1 itemprop="name">Channel</h1>
+
+
+
+
+
+ implements
+
+ Parcelable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.Channel</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A channel created through <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+
+ <p>The implementation of this interface is parcelable and immutable, and implements
+ reasonable <code><a href="/reference/java/lang/Object.html#equals(java.lang.Object)">equals(Object)</a></code> and <code><a href="/reference/java/lang/Object.html#hashCode()">hashCode()</a></code> methods, so
+ can be used in collections.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+android.os.Parcelable
+<div id="inherited-constants-android.os.Parcelable">
+ <div id="inherited-constants-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>
+
+ <div class="jd-descrdiv">
+ Registers a listener to be notified of events for this channel.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Closes this channel, making any future operations on it invalid.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, int errorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Closes this channel, passing an application-defined error code to the remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Opens the input side of the channel to receive data from the remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#getNodeId()">getNodeId</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the node ID of the node on the other side of the channel.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
+
+ <div class="jd-descrdiv">
+ Opens the output side of the channel to send data to the remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#getPath()">getPath</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the path that was used to open the channel.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#receiveFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, boolean)">receiveFile</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, boolean append)</nobr>
+
+ <div class="jd-descrdiv">
+ Reads input from this channel into a file.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>
+
+ <div class="jd-descrdiv">
+ Removes a listener which was previously added through
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelApi.ChannelListener)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, long, long)">sendFile</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, long startOffset, long length)</nobr>
+
+ <div class="jd-descrdiv">
+ Reads from a file into the output side of the channel.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Channel.html#sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)">sendFile</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri)</nobr>
+
+ <div class="jd-descrdiv">
+ Reads from a file into the output side of the channel.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-android.os.Parcelable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ android.os.Parcelable
+
+<div id="inherited-methods-android.os.Parcelable">
+ <div id="inherited-methods-android.os.Parcelable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">describeContents</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">addListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to be notified of events for this channel. This is the same as
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelApi.ChannelListener)</a></code>, but the listener
+ will only be notified of events for this channel. The listener will not receive
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelOpened(com.google.android.gms.wearable.Channel)">onChannelOpened(Channel)</a></code> events.
+
+ <p>Calls to this method should balanced with
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener(GoogleApiClient, ChannelApi.ChannelListener)</a></code> to avoid
+ leaking resources.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>listener</td>
+ <td>a listener which will be notified of changes to the specified stream
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="close(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">close</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Closes this channel, making any future operations on it invalid.
+
+ <p>This method behaves like <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>, with
+ <code>errorCode == 0</code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="close(com.google.android.gms.common.api.GoogleApiClient, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">close</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, int errorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Closes this channel, passing an application-defined error code to the remote node. The error
+ code will be passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, and will cause
+ remote reads and writes to the channel to fail with <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code>.
+
+ <p>The <code><a href="/reference/java/io/InputStream.html">InputStream</a></code> and <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code> returned from
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code> should
+ be closed prior to calling this method. If they are not, both streams will throw
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code> on the next read or write operation.
+
+ <p><code>errorCode == 0</code> is used to indicate that no error occurred.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>errorCode</td>
+ <td>an app-defined error code to pass to the remote node
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getInputStream(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a>>
+ </span>
+ <span class="sympad">getInputStream</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Opens the input side of the channel to receive data from the remote node. Methods on the
+ returned input stream may throw <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code>. See
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html#getInputStream()">GetInputStreamResult.getInputStream()</a></code>
+
+ <p>This method should only be used once on any channel, and once it was called,
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#receiveFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, boolean)">receiveFile(GoogleApiClient, Uri, boolean)</a></code> cannot be used.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getNodeId()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ String
+ </span>
+ <span class="sympad">getNodeId</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the node ID of the node on the other side of the channel. </p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getOutputStream(com.google.android.gms.common.api.GoogleApiClient)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a>>
+ </span>
+ <span class="sympad">getOutputStream</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Opens the output side of the channel to send data to the remote node. Methods on the
+ returned output stream may throw <code><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></code>. See
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html#getOutputStream()">GetOutputStreamResult.getOutputStream()</a></code>
+
+ <p>This method should only be used once on any channel, and once it was called,
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, long, long)">sendFile(GoogleApiClient, Uri, long, long)</a></code> cannot be used.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="getPath()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ String
+ </span>
+ <span class="sympad">getPath</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the path that was used to open the channel. </p></div>
+
+ </div>
+</div>
+
+
+<A NAME="receiveFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">receiveFile</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, boolean append)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Reads input from this channel into a file. This is equivalent to calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>, reading from the input stream and
+ writing it to a file, but is implemented more efficiently. Writing to the file
+ will be done in a background process owned by Google Play Services.
+
+ <p>This method should only be used once on any channel, and once it was called,
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code> cannot be used. The channel should not be
+ immediately closed after calling this method. To be notified when the file is ready,
+ install a <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code>, with an implementation of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>uri</td>
+ <td>URI of the file into which data should be written. This should be a
+ <a href="/reference/android/net/Uri.html#fromFile(java.io.File)">file URI</a></a> for a file which is accessible to
+ the current process for writing.</td>
+ </tr>
+ <tr>
+ <th>append</td>
+ <td>if true, data from the channel will be appended to the file, instead of
+ overwriting it.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">removeListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Removes a listener which was previously added through
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelApi.ChannelListener)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>listener</td>
+ <td>a listener which was added using
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelApi.ChannelListener)</a></code>
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, long, long)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">sendFile</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, long startOffset, long length)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Reads from a file into the output side of the channel. This is equivalent to calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>, reading from a file and writing
+ into the <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code>, but is implemented more efficiently. Reading from the file
+ will be done in a background process owned by Google Play Services.
+
+ <p>This method should only be used once on any channel, and once it was called,
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code> cannot be used. The channel should not be
+ immediately closed after calling this method. To be notified when the file has been sent,
+ install a <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code>, with an implementation of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>uri</td>
+ <td>URI of the file from which data should be read. This should be a
+ <a href="/reference/android/net/Uri.html#fromFile(java.io.File)">file URI</a></a> for a file which is accessible to
+ the current process for reading.</td>
+ </tr>
+ <tr>
+ <th>startOffset</td>
+ <td>byte offset from which to start reading</td>
+ </tr>
+ <tr>
+ <th>length</td>
+ <td>maximum number of bytes to read from the file, or <code>-1</code> if the file
+ should be read to its end. If the file doesn't contain enough bytes to reach
+ <code>length</code>, fewer bytes will be read.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">sendFile</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Reads from a file into the output side of the channel. This is equivalent to calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>, reading from a file and writing
+ into the <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code>, but is implemented more efficiently. Reading from the file
+ will be done in a background process owned by Google Play Services.
+
+ <p>This method should only be used once on any channel, and once it was called,
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code> cannot be used. The channel should not be
+ immediately closed after calling this method. To be notified when the file has been sent,
+ install a <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code>, with an implementation of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code>.
+
+ <p>This method is identical to calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#sendFile(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, long, long)">sendFile(GoogleApiClient, Uri, long, long)</a></code> with <code>offset == 0</code>
+ and <code>length == -1</code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>uri</td>
+ <td>URI of the file from which data should be read. This should be a
+ <a href="/reference/android/net/Uri.html#fromFile(java.io.File)">file URI</a></a> for a file which is accessible to
+ the current process for reading.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html
new file mode 100644
index 0000000..c0aa90b
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html
@@ -0,0 +1,1590 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>ChannelApi.ChannelListener | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">ChannelApi.ChannelListener</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+ <a href="#constants">Constants</a>
+
+
+
+
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">ChannelApi.ChannelListener</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelApi.ChannelListener</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+ ><img id="subclasses-indirect-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+ <div id="subclasses-indirect">
+ <div id="subclasses-indirect-list"
+ class="jd-inheritedlinks"
+
+ >
+
+
+ <a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a>
+
+
+ </div>
+ <div id="subclasses-indirect-summary"
+ style="display: none;"
+ >
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></td>
+ <td class="jd-descrcol" width="100%">
+ Receives events from other nodes, such as data changes, messages or connectivity events.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+ </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A listener which will be notified on changes to channels.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the closing is due to a remote node being disconnected.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the local node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> (but not
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>), when the stream was closed under normal conditions, e.g the
+ whole file was read, or the <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code> on the remote node was closed
+ normally.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the remote node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelOpened(com.google.android.gms.wearable.Channel)">onChannelOpened</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a new channel is opened by a remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the input side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the output side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="CLOSE_REASON_DISCONNECTED"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CLOSE_REASON_DISCONNECTED
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the closing is due to a remote node being disconnected.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CLOSE_REASON_LOCAL_CLOSE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CLOSE_REASON_LOCAL_CLOSE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the local node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 3
+ (0x00000003)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CLOSE_REASON_NORMAL"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CLOSE_REASON_NORMAL
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> (but not
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>), when the stream was closed under normal conditions, e.g the
+ whole file was read, or the <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code> on the remote node was closed
+ normally.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="CLOSE_REASON_REMOTE_CLOSE"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ CLOSE_REASON_REMOTE_CLOSE
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the remote node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 2
+ (0x00000002)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onChannelClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onChannelClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when a channel is closed. This can happen through an explicit call to
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code> on
+ either side of the connection, or due to disconnecting from the remote node.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the channel closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>.</td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="onChannelOpened(com.google.android.gms.wearable.Channel)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onChannelOpened</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when a new channel is opened by a remote node. </p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onInputClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onInputClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the input side of a channel is closed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the input closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code></td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="onOutputClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ void
+ </span>
+ <span class="sympad">onOutputClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the output side of a channel is closed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the output closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code></td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html
new file mode 100644
index 0000000..42759bf
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html
@@ -0,0 +1,1126 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>ChannelApi.CloseReason | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">ChannelApi.CloseReason</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+ abstract
+ @interface
+<h1 itemprop="name">ChannelApi.CloseReason</h1>
+
+
+
+
+
+ implements
+
+ Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelApi.CloseReason</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An annotation for values passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, and other methods
+ on the <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code> interface. Annotated method parameters will always take one
+ of the following values:
+ <ul>
+ <li><code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>
+ <li><code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>
+ <li><code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>
+ <li><code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>
+ </ul>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+ <div id="inherited-methods-java.lang.annotation.Annotation-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ Class<? extends Annotation></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">annotationType</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html
new file mode 100644
index 0000000..4f1cd4b
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html
@@ -0,0 +1,1152 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>ChannelApi.OpenChannelResult | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">ChannelApi.OpenChannelResult</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+ static
+
+
+ interface
+<h1 itemprop="name">ChannelApi.OpenChannelResult</h1>
+
+
+
+
+
+ implements
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">Result</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelApi.OpenChannelResult</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Result of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html#getChannel()">getChannel</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the newly created channel, or <code>null</code>, if the connection couldn't be
+ opened.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.api.Result" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.common.api.Result-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/common/api/Result.html">com.google.android.gms.common.api.Result</a>
+
+<div id="inherited-methods-com.google.android.gms.common.api.Result">
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.common.api.Result-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/Status.html">Status</a></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getChannel()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a>
+ </span>
+ <span class="sympad">getChannel</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the newly created channel, or <code>null</code>, if the connection couldn't be
+ opened.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/ChannelApi.html b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.html
new file mode 100644
index 0000000..e6773f7
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/ChannelApi.html
@@ -0,0 +1,1302 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>ChannelApi | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">ChannelApi</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ interface
+<h1 itemprop="name">ChannelApi</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelApi</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Client interface for Wearable Channel API. Allows apps on a wearable device to send and receive
+ data from other wearable nodes.
+
+ <p>Channels are bidirectional. Each side, both the initiator and the receiver may both read and
+ write to the channel by using <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>. Once a channel is established, the API
+ for the initiator and receiver are identical.
+
+ <p>Channels are only available when the wearable nodes are connected. When the remote node
+ disconnects, all existing channels will be closed. Any listeners (added through
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code> and any installed
+ <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></code>) will be notified of the channel closing.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ A listener which will be notified on changes to channels.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ @interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html">ChannelApi.CloseReason</a></td>
+ <td class="jd-descrcol" width="100%">
+ An annotation for values passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, and other methods
+ on the <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code> interface.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+ interface</nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>
+
+ <div class="jd-descrdiv">
+ Registers a listener to be notified of channel events.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String nodeId, String path)</nobr>
+
+ <div class="jd-descrdiv">
+ Opens a channel to exchange data with a remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>
+
+ <div class="jd-descrdiv">
+ Removes a listener which was previously added through
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">addListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to be notified of channel events. Calls to this method should
+ balanced with <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener(GoogleApiClient, ChannelListener)</a></code> to avoid leaking
+ resources.
+
+ <p>Callers wishing to be notified of events in the background should use
+ <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>listener</td>
+ <td>a listener which will be notified of changes to any channel
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a>>
+ </span>
+ <span class="sympad">openChannel</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String nodeId, String path)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Opens a channel to exchange data with a remote node.
+
+ <p>Channel which are no longer needed should be closed using
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>.
+
+ <p>This call involves a network round trip, so may be long running. <code>client</code> must
+ remain connected during that time, or the request will be cancelled (like any other Play
+ Services API calls).</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>nodeId</td>
+ <td>the node ID of a wearable node, as returned from
+ <code><a href="/reference/com/google/android/gms/wearable/NodeApi.html#getConnectedNodes(com.google.android.gms.common.api.GoogleApiClient)">getConnectedNodes(GoogleApiClient)</a></code></td>
+ </tr>
+ <tr>
+ <th>path</td>
+ <td>an app-specific identifier for the channel
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>>
+ </span>
+ <span class="sympad">removeListener</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Removes a listener which was previously added through
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>client</td>
+ <td>a connected client</td>
+ </tr>
+ <tr>
+ <th>listener</td>
+ <td>a listener which was added using
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/ChannelIOException.html b/docs/html/reference/com/google/android/gms/wearable/ChannelIOException.html
new file mode 100644
index 0000000..4f2e9c8
--- /dev/null
+++ b/docs/html/reference/com/google/android/gms/wearable/ChannelIOException.html
@@ -0,0 +1,1757 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
+<title>ChannelIOException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//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">
+
+
+
+<!-- JAVASCRIPT -->
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
+<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+ var toRoot = "/";
+ var metaTags = [];
+ var devsite = false;
+</script>
+<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-5831155-1', 'android.com');
+ ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
+ ga('send', 'pageview');
+ ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation google
+ develop reference" itemscope itemtype="http://schema.org/Article">
+ <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
+<div id="langMessage" style="display:none">
+ <div>
+ <div class="lang en">
+ <p>You requested a page in English, would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang es">
+ <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ja">
+ <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ko">
+ <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang ru">
+ <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-cn">
+ <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
+ </div>
+ <div class="lang zh-tw">
+ <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
+ </div>
+ <a href="#" class="button yes" onclick="return false;">
+ <span class="lang en">Yes</span>
+ <span class="lang es">Sí</span>
+ <span class="lang ja">Yes</span>
+ <span class="lang ko">Yes</span>
+ <span class="lang ru">Yes</span>
+ <span class="lang zh-cn">是的</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
+ <span class="lang en">No</span>
+ <span class="lang es">No</span>
+ <span class="lang ja">No</span>
+ <span class="lang ko">No</span>
+ <span class="lang ru">No</span>
+ <span class="lang zh-cn">没有</span>
+ <span class="lang zh-tw">没有</span>
+ </a>
+ </div>
+</div> -->
+
+
+ <!-- Header -->
+ <div id="header-wrapper">
+ <div 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" />
+ </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/index.html"
+ zh-tw-lang="發佈"
+ zh-cn-lang="分发"
+ ru-lang="Распространение"
+ ko-lang="배포"
+ ja-lang="配布"
+ es-lang="Distribuir"
+ >Distribute</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>
+
+
+
+ <div class="header">Language</div>
+ <div id="language" class="locales">
+ <select name="language" onChange="changeLangPref(this.value, true)">
+ <option value="en">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>
+ </div>
+ <script type="text/javascript">
+ <!--
+ loadLangPref();
+ //-->
+ </script>
+
+
+ <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()">
+ <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, '/')" />
+ </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 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>
+ <div class="child-card guides no-display">
+ </div>
+ <div class="child-card training no-display">
+ </div>
+ <div class="child-card samples no-display">
+ </div>
+ </div>
+ <div class="suggest-card design no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ <div class="suggest-card distribute no-display">
+ <ul class="search_filtered">
+ </ul>
+ </div>
+ </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+ <!-- 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>
+
+ <li><a href="/samples/index.html">Samples</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>
+
+ <li class="samples"><a href="/samples/index.html"
+ >Samples</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">ChannelIOException</li>
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+
+ <div class="wrap clearfix" id="body-content">
+ <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+ <div id="devdoc-nav" class="scroll-pane">
+
+
+
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/index.html">
+ <span class="en">Overview</span>
+ </a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/games.html">
+ <span class="en">Games</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/location.html">
+ <span class="en">Location</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
+ <span class="en">Google+</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
+ <span class="en">Maps</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
+ <span class="en">Drive</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
+ <span class="en">Cast</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/ads.html">
+ <span class="en">Ads</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/id.html">
+ <span class="en">Advertising ID</span></a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
+ <span class="en">Wallet</span>
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play-services/index.html">
+ <span class="en">Google Play Services</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play-services/setup.html">
+ <span class="en">Setting Up Google Play Services</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/auth/api-client.html">
+ <span class="en">Accessing Google APIs</span></a>
+ </div>
+ <ul>
+ <li>
+ <a href="/google/auth/http-auth.html">
+ <span class="en">Authorizing with Google for REST APIs</span>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li id="gms-tree-list" class="nav-section">
+ <div class="nav-section-header">
+ <a href="/reference/gms-packages.html">
+ <span class="en">Reference</span>
+ </a>
+ <div>
+ </li>
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
+ <span class="en">Google Play In-app Billing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
+ <span class="en">Overview</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
+ <span class="en">Version 3 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
+ <span class="en">Version 2 API</span></a></div>
+ <ul>
+ <li><a href="/google/play/billing/v2/billing_integrate.html">
+ <span class="en">Implementing the API</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a></li>
+ <li><a href="/google/play/billing/v2/billing_reference.html">
+ <span class="en">Reference</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/play/billing/billing_subscriptions.html">
+ <span class="en">Subscriptions</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
+ <span class="en">Security and Design</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
+ <span class="en">Testing In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
+ <span class="en">Administering In-app Billing</span></a>
+ </li>
+ <li><a href="/google/play/billing/versions.html">
+ <span class="en">Version Notes</span></a>
+ </li>
+ </ul>
+ </li>
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/gcm/index.html">
+ <span class="en">Google Cloud Messaging</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/gcm/gcm.html">
+ <span class="en">Overview</span></a>
+ </li>
+ <li><a href="/google/gcm/gs.html">
+ <span class="en">Getting Started</span></a>
+ </li>
+ <li><a href="/google/gcm/client.html">
+ <span class="en">Implementing GCM Client</span></a>
+ </li>
+ <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
+ <span class="en">Implementing GCM Server</span></a></div>
+ <ul>
+ <li><a href="/google/gcm/ccs.html">
+ <span class="en">CCS (XMPP)</span></a></li>
+ <li><a href="/google/gcm/http.html">
+ <span class="en">HTTP</span></a></li>
+ </ul>
+ </li>
+ <li><a href="/google/gcm/server-ref.html">
+ <span class="en">Server Reference</span></a>
+ </li>
+ <li><a href="/google/gcm/notifications.html">
+ <span class="en">User Notifications</span></a>
+ </li>
+ <li><a href="/google/gcm/c2dm.html">
+ <span class="en">Migration</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="/google/gcs/index.html">
+ <span class="en">Google Cloud Save</span></a>
+ </div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/dist.html">
+ <span class="en">Google Play Distribution</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/filters.html">
+ <span class="en">Filters on Google Play</span></a>
+ </li>
+ <li><a href="/google/play/billing/gp-purchase-status-api.html">
+ <span class="en">Google Play Developer API</span></a>
+ </li>
+ <li><a href="/google/play/publishing/multiple-apks.html">
+ <span class="en">Multiple APK Support</span></a>
+ </li>
+ <li><a href="/google/play/expansion-files.html">
+ <span class="en">APK Expansion Files</span></a>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/licensing/index.html">
+ <span class="en">Application Licensing</span></a>
+ </div>
+ <ul>
+ <li><a href="/google/play/licensing/overview.html">
+ <span class="en">Licensing Overview</span></a>
+ </li>
+ <li><a href="/google/play/licensing/setting-up.html">
+ <span class="en">Setting Up for Licensing</span></a>
+ </li>
+ <li><a href="/google/play/licensing/adding-licensing.html">
+ <span class="en">Adding Licensing to Your App</span></a>
+ </li>
+ <li><a href="/google/play/licensing/licensing-reference.html">
+ <span class="en">Licensing Reference</span></a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/backup/index.html">
+ Android Backup Service</a>
+ </div>
+ <ul>
+ <li><a href="/google/backup/signup.html">
+ Register</a>
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+
+</li>
+
+
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+ changeNavLang(getLangPref());
+//-->
+</script>
+
+
+
+
+ </div>
+ <script type="text/javascript">
+ showGoogleRefTree();
+
+ </script>
+ </div> <!-- end side-nav -->
+ <script>
+ $(document).ready(function() {
+ scrollIntoView("devdoc-nav");
+ });
+ </script>
+
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+ <a href="#pubctors">Ctors</a>
+
+
+
+
+ | <a href="#pubmethods">Methods</a>
+
+
+
+
+ | <a href="#inhmethods">Inherited Methods</a>
+
+| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+ public
+
+
+
+ class
+<h1 itemprop="name">ChannelIOException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extends IOException<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+ <tr>
+
+ <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="2" class="jd-inheritance-class-cell">java.io.IOException</td>
+ </tr>
+
+
+ <tr>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> </td>
+
+ <td class="jd-inheritance-space"> ↳</td>
+
+ <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelIOException</td>
+ </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A subclass of <code><a href="/reference/java/io/IOException.html">IOException</a></code> which can be thrown from the streams returned by
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ </nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html#ChannelIOException(java.lang.String, int, int)">ChannelIOException</a></span>(String message, int closeReason, int appSpecificErrorCode)</nobr>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html#getAppSpecificErrorCode()">getAppSpecificErrorCode</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns the app-specific error code passed to <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>
+ if that's the reason for the stream closing, or <code>0</code> otherwise.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html#getCloseReason()">getCloseReason</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Returns one of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, to indicate
+ the reason for the stream closing.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+ <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+ <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Throwable-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+ <div id="inherited-methods-java.lang.Throwable-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Throwable</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">fillInStackTrace</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Throwable</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getCause</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getMessage</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ StackTraceElement[]</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getStackTrace</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Throwable[]</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getSuppressed</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Throwable</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">printStackTrace</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-java.lang.Object-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From class
+
+ java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+ <div id="inherited-methods-java.lang.Object-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ Object</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">clone</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">equals</span>(Object arg0)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">finalize</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ Class<?></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">getClass</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ int</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">hashCode</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notify</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">notifyAll</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ String</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">toString</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>()</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+ final
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad">wait</span>(long arg0)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="ChannelIOException(java.lang.String, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+
+ </span>
+ <span class="sympad">ChannelIOException</span>
+ <span class="normal">(String message, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getAppSpecificErrorCode()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">getAppSpecificErrorCode</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the app-specific error code passed to <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>
+ if that's the reason for the stream closing, or <code>0</code> otherwise.
+</p></div>
+
+ </div>
+</div>
+
+
+<A NAME="getCloseReason()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ int
+ </span>
+ <span class="sympad">getCloseReason</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Returns one of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, to indicate
+ the reason for the stream closing.
+</p></div>
+
+ </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+ <div id="copyright">
+
+ Except as noted, this content is licensed under <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">
+
+<script src="/timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+ </div>
+
+
+ <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>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html b/docs/html/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html
index 1e8be76..2274546 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -994,6 +1005,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataApi.DataListener.html b/docs/html/reference/com/google/android/gms/wearable/DataApi.DataListener.html
index bb294df..b977b69 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataApi.DataListener.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataApi.DataListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html b/docs/html/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html
index 74c3e9b..641cbf5 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -994,6 +1005,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html b/docs/html/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html
index 6da460a..0b598bf 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1029,6 +1040,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataApi.html b/docs/html/reference/com/google/android/gms/wearable/DataApi.html
index 853a97c..3370357 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataApi.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -989,6 +1000,47 @@
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.html#FILTER_LITERAL">FILTER_LITERAL</a></td>
+ <td class="jd-descrcol" width="100%">
+ Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">getDataItems(GoogleApiClient, Uri, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">deleteDataItems(GoogleApiClient, Uri, int)</a></code>:
+ if this filter is set, the given URI will be taken as a literal path, and the operation
+ will apply to the matching item only.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.html#FILTER_PREFIX">FILTER_PREFIX</a></td>
+ <td class="jd-descrcol" width="100%">
+ Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">getDataItems(GoogleApiClient, Uri, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">deleteDataItems(GoogleApiClient, Uri, int)</a></code>:
+ if this filter is set, the given URI will be taken as a path prefix, and the operation
+ will apply to all matching items.
+
+
+
+ </td>
+ </tr>
+
+
+
+</table>
+
+
@@ -1042,7 +1094,7 @@
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html">DataApi.DeleteDataItemsResult</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)">deleteDataItems</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri)</nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">deleteDataItems</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, int filterType)</nobr>
<div class="jd-descrdiv">
Removes all specified <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></code> from the Android Wear network.
@@ -1062,6 +1114,29 @@
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html">DataApi.DeleteDataItemsResult</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)">deleteDataItems</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri)</nobr>
+
+ <div class="jd-descrdiv">
+ Removes all specified <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></code> from the Android Wear network.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
<a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html">DataApi.DataItemResult</a>></nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
@@ -1078,7 +1153,7 @@
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1101,6 +1176,30 @@
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataItemBuffer.html">DataItemBuffer</a>></nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">getDataItems</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, int filterType)</nobr>
+
+ <div class="jd-descrdiv">
+ Retrieves all <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></code> matching the provided URI and filter type, from
+ the Android Wear network.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
@@ -1246,6 +1345,105 @@
<!-- Constants -->
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="FILTER_LITERAL"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FILTER_LITERAL
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">getDataItems(GoogleApiClient, Uri, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">deleteDataItems(GoogleApiClient, Uri, int)</a></code>:
+ if this filter is set, the given URI will be taken as a literal path, and the operation
+ will apply to the matching item only.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 0
+ (0x00000000)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+<A NAME="FILTER_PREFIX"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ FILTER_PREFIX
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Filter type for
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">getDataItems(GoogleApiClient, Uri, int)</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)">deleteDataItems(GoogleApiClient, Uri, int)</a></code>:
+ if this filter is set, the given URI will be taken as a path prefix, and the operation
+ will apply to all matching items.
+</p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 1
+ (0x00000001)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
+
<!-- Fields -->
@@ -1302,6 +1500,48 @@
</div>
+<A NAME="deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html">DataApi.DeleteDataItemsResult</a>>
+ </span>
+ <span class="sympad">deleteDataItems</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, int filterType)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Removes all specified <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></code> from the Android Wear network.
+
+ <p>If <code>uri</code> is fully specified, this method will delete at
+ most one data item. If <code>uri</code> contains no host, multiple data items may be
+ deleted, since different nodes may create data items with the same path. See
+ <code><a href="/reference/com/google/android/gms/wearable/DataApi.html">DataApi</a></code> for details of the URI format.
+
+ <p>The <code>filterType</code> parameter changes the interpretation of <code>uri</code>.
+ For example, if <code>uri</code> represents a path prefix, all items matching that
+ prefix will be deleted.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="deleteDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)"></A>
<div class="jd-details api apilevel-">
@@ -1412,6 +1652,52 @@
</div>
+<A NAME="getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/wearable/DataItemBuffer.html">DataItemBuffer</a>>
+ </span>
+ <span class="sympad">getDataItems</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, Uri uri, int filterType)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Retrieves all <code><a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></code> matching the provided URI and filter type, from
+ the Android Wear network.
+
+ <p>The URI must contain a path. If <code>uri</code> is fully specified, at most one data item
+ will be returned. If <code>uri</code> contains no host, multiple data items may be returned,
+ since different nodes may create data items with the same path. See <code><a href="/reference/com/google/android/gms/wearable/DataApi.html">DataApi</a></code> for
+ details of the URI format.
+
+ <p>Callers must call <code><a href="/reference/com/google/android/gms/common/data/AbstractDataBuffer.html#release()">release()</a></code> on the returned buffer when finished
+ processing results.
+
+ <p>The <code>filterType</code> parameter changes the interpretation of <code>uri</code>.
+ For example, if <code>uri</code> represents a path prefix, all items matching that prefix
+ will be returned.
+</p></div>
+
+ </div>
+</div>
+
+
<A NAME="getDataItems(com.google.android.gms.common.api.GoogleApiClient, android.net.Uri)"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataEvent.html b/docs/html/reference/com/google/android/gms/wearable/DataEvent.html
index 7ada00a..78035d4 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataEvent.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataEventBuffer.html b/docs/html/reference/com/google/android/gms/wearable/DataEventBuffer.html
index 2743169..da748cd 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataEventBuffer.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataEventBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1044,6 +1055,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataEventBuffer.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1655,6 +1673,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1900,7 +1925,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataItem.html b/docs/html/reference/com/google/android/gms/wearable/DataItem.html
index 3f0c74d..e3f1b0e 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataItem.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataItem.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataItemAsset.html b/docs/html/reference/com/google/android/gms/wearable/DataItemAsset.html
index 58466c1..294c62b 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataItemAsset.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataItemAsset.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataItemBuffer.html b/docs/html/reference/com/google/android/gms/wearable/DataItemBuffer.html
index 30c0e4f..5129d91 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataItemBuffer.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataItemBuffer.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1039,6 +1050,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/DataItemBuffer.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1650,6 +1668,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1895,7 +1920,13 @@
- <div class="jd-tagdata jd-tagdescr"><p></p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns the status of this result. Use <code><a href="/reference/com/google/android/gms/common/api/Status.html#isSuccess()">isSuccess()</a></code> to determine whether the
+ call was successful, and <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code> to determine what the error cause
+ was.
+
+ <p>Certain errors are due to failures that can be resolved by launching a particular intent.
+ The resolution intent is available via <code><a href="/reference/com/google/android/gms/common/api/Status.html#getResolution()">getResolution()</a></code>.
+</p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataMap.html b/docs/html/reference/com/google/android/gms/wearable/DataMap.html
index 63d7d18..5e955ed 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataMap.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataMap.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/DataMapItem.html b/docs/html/reference/com/google/android/gms/wearable/DataMapItem.html
index 9c5f796..8775452 100644
--- a/docs/html/reference/com/google/android/gms/wearable/DataMapItem.html
+++ b/docs/html/reference/com/google/android/gms/wearable/DataMapItem.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html b/docs/html/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html
index d5084c2..6e1c287 100644
--- a/docs/html/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html
+++ b/docs/html/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html b/docs/html/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html
index 19aee42..32c3570 100644
--- a/docs/html/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -996,6 +1007,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/wearable/MessageApi.html b/docs/html/reference/com/google/android/gms/wearable/MessageApi.html
index 876902a..66307e3 100644
--- a/docs/html/reference/com/google/android/gms/wearable/MessageApi.html
+++ b/docs/html/reference/com/google/android/gms/wearable/MessageApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/MessageEvent.html b/docs/html/reference/com/google/android/gms/wearable/MessageEvent.html
index c177915..49bcfad 100644
--- a/docs/html/reference/com/google/android/gms/wearable/MessageEvent.html
+++ b/docs/html/reference/com/google/android/gms/wearable/MessageEvent.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/Node.html b/docs/html/reference/com/google/android/gms/wearable/Node.html
index a74b271..a29696a 100644
--- a/docs/html/reference/com/google/android/gms/wearable/Node.html
+++ b/docs/html/reference/com/google/android/gms/wearable/Node.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -939,6 +950,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ boolean</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/Node.html#isNearby()">isNearby</a></span>()</nobr>
+
+ <div class="jd-descrdiv">
+ Indicates that this node can be considered geographically nearby the local node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
</table>
@@ -1052,6 +1086,39 @@
</div>
+<A NAME="isNearby()"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+ abstract
+
+ boolean
+ </span>
+ <span class="sympad">isNearby</span>
+ <span class="normal">()</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Indicates that this node can be considered geographically nearby the local node.
+</p></div>
+
+ </div>
+</div>
+
+
diff --git a/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html b/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html
index ca60b33..14c660a 100644
--- a/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -938,7 +949,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html#getNodes()">getNodes</a></span>()</nobr>
<div class="jd-descrdiv">
- Returns a list of connected nodes.
+ Returns a list of connected nodes, either directly or indirectly via a directly
+ connected node.
@@ -994,6 +1006,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
@@ -1071,7 +1090,8 @@
- <div class="jd-tagdata jd-tagdescr"><p>Returns a list of connected nodes. This list doesn't include the local node. </p></div>
+ <div class="jd-tagdata jd-tagdescr"><p>Returns a list of connected nodes, either directly or indirectly via a directly
+ connected node. This list doesn't include the local node. </p></div>
</div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html b/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html
index 707ce38..8e460c9 100644
--- a/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html
+++ b/docs/html/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -994,6 +1005,13 @@
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/api/Result.html#getStatus()">getStatus</a></span>()</nobr>
+ <div class="jd-descrdiv">
+ Returns the status of this result.
+
+
+
+ </div>
+
</td></tr>
diff --git a/docs/html/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html b/docs/html/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html
index cbb1ed8..3b29be9 100644
--- a/docs/html/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html
+++ b/docs/html/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -970,7 +981,7 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Notification that a peer has been connected.
+ Notification that a peer is now reachable by this node.
@@ -993,7 +1004,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerDisconnected(com.google.android.gms.wearable.Node)">onPeerDisconnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Notification that a peer has been disconnected.
+ Notification that a peer has been disconnected from this node or is no longer reachable
+ by this node.
@@ -1076,7 +1088,14 @@
- <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer has been connected.
+ <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer is now reachable by this node. It may be directly connected
+ to this node or it may be reachable only via a directly connected node.
+
+ <p>Changes to a node's hop count or nearby status alone will not trigger an
+ <code><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected(Node)</a></code> event as long as the node was already connected.
+
+ <p>Since multiple nodes can be connected to a network at the same time,
+ peer connected and disconnected events can come in any order.
</p></div>
</div>
@@ -1109,7 +1128,11 @@
- <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer has been disconnected.
+ <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer has been disconnected from this node or is no longer reachable
+ by this node.
+
+ <p>Since multiple nodes can be connected to a network at the same time,
+ peer connected and disconnected events can come in any order.
</p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/wearable/NodeApi.html b/docs/html/reference/com/google/android/gms/wearable/NodeApi.html
index 0ac664b..64a3d3d 100644
--- a/docs/html/reference/com/google/android/gms/wearable/NodeApi.html
+++ b/docs/html/reference/com/google/android/gms/wearable/NodeApi.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -990,7 +1001,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.html#getConnectedNodes(com.google.android.gms.common.api.GoogleApiClient)">getConnectedNodes</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client)</nobr>
<div class="jd-descrdiv">
- Gets a list of nodes to which this device is currently connected.
+ Gets a list of nodes to which this device is currently connected, either directly or
+ indirectly via a directly connected node.
@@ -1120,7 +1132,7 @@
- <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive all node events. Calls to this method should balanced
+ <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive all node events. Calls to this method should be balanced
with <code><a href="/reference/com/google/android/gms/wearable/NodeApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.NodeApi.NodeListener)">removeListener(GoogleApiClient, NodeListener)</a></code>, to avoid leaking resources.
<p>Callers wishing to be notified of node events in the background should use
@@ -1157,7 +1169,8 @@
- <div class="jd-tagdata jd-tagdescr"><p>Gets a list of nodes to which this device is currently connected.
+ <div class="jd-tagdata jd-tagdescr"><p>Gets a list of nodes to which this device is currently connected, either directly or
+ indirectly via a directly connected node.
<p>The returned list will not include the
<a href="/reference/com/google/android/gms/wearable/NodeApi.html#getLocalNode(com.google.android.gms.common.api.GoogleApiClient)">local node</a></a>.
diff --git a/docs/html/reference/com/google/android/gms/wearable/PutDataMapRequest.html b/docs/html/reference/com/google/android/gms/wearable/PutDataMapRequest.html
index ef5a023..58c80b5 100644
--- a/docs/html/reference/com/google/android/gms/wearable/PutDataMapRequest.html
+++ b/docs/html/reference/com/google/android/gms/wearable/PutDataMapRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/PutDataRequest.html b/docs/html/reference/com/google/android/gms/wearable/PutDataRequest.html
index 59564fc..aedcfce 100644
--- a/docs/html/reference/com/google/android/gms/wearable/PutDataRequest.html
+++ b/docs/html/reference/com/google/android/gms/wearable/PutDataRequest.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html b/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html
index 4d0379d..2c75e28 100644
--- a/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html
+++ b/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.html b/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.html
index b22ec38..7fea53e 100644
--- a/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.html
+++ b/docs/html/reference/com/google/android/gms/wearable/Wearable.WearableOptions.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
diff --git a/docs/html/reference/com/google/android/gms/wearable/Wearable.html b/docs/html/reference/com/google/android/gms/wearable/Wearable.html
index 83f4bba..df138a5 100644
--- a/docs/html/reference/com/google/android/gms/wearable/Wearable.html
+++ b/docs/html/reference/com/google/android/gms/wearable/Wearable.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -975,6 +986,38 @@
public
static
final
+ <a href="/reference/com/google/android/gms/wearable/CapabilityApi.html">CapabilityApi</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Wearable.html#CapabilityApi">CapabilityApi</a></td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/wearable/ChannelApi.html">ChannelApi</a></nobr></td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Wearable.html#ChannelApi">ChannelApi</a></td>
+ <td class="jd-descrcol" width="100%">
+
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ public
+ static
+ final
<a href="/reference/com/google/android/gms/wearable/DataApi.html">DataApi</a></nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Wearable.html#DataApi">DataApi</a></td>
<td class="jd-descrcol" width="100%">
@@ -1308,6 +1351,68 @@
+<A NAME="CapabilityApi"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/wearable/CapabilityApi.html">CapabilityApi</a>
+ </span>
+ CapabilityApi
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+ </div>
+</div>
+
+
+
+<A NAME="ChannelApi"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ <a href="/reference/com/google/android/gms/wearable/ChannelApi.html">ChannelApi</a>
+ </span>
+ ChannelApi
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+ </div>
+</div>
+
+
+
<A NAME="DataApi"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/wearable/WearableListenerService.html b/docs/html/reference/com/google/android/gms/wearable/WearableListenerService.html
index 11241ee..3f75212 100644
--- a/docs/html/reference/com/google/android/gms/wearable/WearableListenerService.html
+++ b/docs/html/reference/com/google/android/gms/wearable/WearableListenerService.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -811,7 +822,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -832,6 +857,8 @@
+
+
@@ -922,6 +949,10 @@
<a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html">NodeApi.NodeListener</a>
+ <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a>
+
+ <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a>
+
@@ -2203,6 +2234,88 @@
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-com.google.android.gms.wearable.ChannelApi.ChannelListener" class="jd-expando-trigger closed"
+ ><img id="inherited-constants-com.google.android.gms.wearable.ChannelApi.ChannelListener-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>From interface
+<a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">com.google.android.gms.wearable.ChannelApi.ChannelListener</a>
+<div id="inherited-constants-com.google.android.gms.wearable.ChannelApi.ChannelListener">
+ <div id="inherited-constants-com.google.android.gms.wearable.ChannelApi.ChannelListener-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-constants-com.google.android.gms.wearable.ChannelApi.ChannelListener-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the closing is due to a remote node being disconnected.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the local node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> (but not
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>), when the stream was closed under normal conditions, e.g the
+ whole file was read, or the <code><a href="/reference/java/io/OutputStream.html">OutputStream</a></code> on the remote node was closed
+ normally.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></td>
+ <td class="jd-descrcol" width="100%">
+ Value passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed(Channel, int, int)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed(Channel, int, int)</a></code> when the stream is closed due to the remote node calling
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+
</table>
@@ -2274,6 +2387,84 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)">onCapabilityChanged</a></span>(<a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a> capabilityInfo)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onChannelOpened(com.google.android.gms.wearable.Channel)">onChannelOpened</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a new channel is opened by a remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onConnectedNodes(java.util.List<com.google.android.gms.wearable.Node>)">onConnectedNodes</a></span>(List<<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a>> connectedNodes)</nobr>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onCreate()">onCreate</a></span>()</nobr>
</td></tr>
@@ -2329,6 +2520,29 @@
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the input side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onMessageReceived(com.google.android.gms.wearable.MessageEvent)">onMessageReceived</a></span>(<a href="/reference/com/google/android/gms/wearable/MessageEvent.html">MessageEvent</a> messageEvent)</nobr>
<div class="jd-descrdiv">
@@ -2342,6 +2556,29 @@
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the output side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
@@ -2355,7 +2592,7 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Receives peer connected events.
+ Notification that a peer is now reachable by this node.
@@ -2378,7 +2615,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onPeerDisconnected(com.google.android.gms.wearable.Node)">onPeerDisconnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Receives peer disconnected events.
+ Notification that a peer has been disconnected from this node or is no longer reachable
+ by this node.
@@ -6263,7 +6501,7 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Notification that a peer has been connected.
+ Notification that a peer is now reachable by this node.
@@ -6286,7 +6524,8 @@
<span class="sympad"><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerDisconnected(com.google.android.gms.wearable.Node)">onPeerDisconnected</a></span>(<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a> peer)</nobr>
<div class="jd-descrdiv">
- Notification that a peer has been disconnected.
+ Notification that a peer has been disconnected from this node or is no longer reachable
+ by this node.
@@ -6304,6 +6543,166 @@
<tr class="api apilevel-" >
<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.wearable.CapabilityApi.CapabilityListener" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.wearable.CapabilityApi.CapabilityListener-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">com.google.android.gms.wearable.CapabilityApi.CapabilityListener</a>
+
+<div id="inherited-methods-com.google.android.gms.wearable.CapabilityApi.CapabilityListener">
+ <div id="inherited-methods-com.google.android.gms.wearable.CapabilityApi.CapabilityListener-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.wearable.CapabilityApi.CapabilityListener-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html#onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)">onCapabilityChanged</a></span>(<a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a> capabilityInfo)</nobr>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+ <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.wearable.ChannelApi.ChannelListener" class="jd-expando-trigger closed"
+ ><img id="inherited-methods-com.google.android.gms.wearable.ChannelApi.ChannelListener-trigger"
+ src="/assets/images/triangle-closed.png"
+ class="jd-expando-trigger-img" /></a>
+From interface
+
+ <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">com.google.android.gms.wearable.ChannelApi.ChannelListener</a>
+
+<div id="inherited-methods-com.google.android.gms.wearable.ChannelApi.ChannelListener">
+ <div id="inherited-methods-com.google.android.gms.wearable.ChannelApi.ChannelListener-list"
+ class="jd-inheritedlinks">
+ </div>
+ <div id="inherited-methods-com.google.android.gms.wearable.ChannelApi.ChannelListener-summary" style="display: none;">
+ <table class="jd-sumtable-expando">
+
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelOpened(com.google.android.gms.wearable.Channel)">onChannelOpened</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when a new channel is opened by a remote node.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onInputClosed(com.google.android.gms.wearable.Channel, int, int)">onInputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the input side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol"><nobr>
+ abstract
+
+
+
+
+ void</nobr>
+ </td>
+ <td class="jd-linkcol" width="100%"><nobr>
+ <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onOutputClosed(com.google.android.gms.wearable.Channel, int, int)">onOutputClosed</a></span>(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</nobr>
+
+ <div class="jd-descrdiv">
+ Called when the output side of a channel is closed.
+
+
+
+ </div>
+
+ </td></tr>
+
+
+</table>
+ </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.content.ComponentCallbacks" class="jd-expando-trigger closed"
><img id="inherited-methods-android.content.ComponentCallbacks-trigger"
src="/assets/images/triangle-closed.png"
@@ -6472,6 +6871,153 @@
</div>
+<A NAME="onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onCapabilityChanged</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a> capabilityInfo)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onChannelClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onChannelClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when a channel is closed. This can happen through an explicit call to
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code> or <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient, int)">close(GoogleApiClient, int)</a></code> on
+ either side of the connection, or due to disconnecting from the remote node.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the channel closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>.</td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
+<A NAME="onChannelOpened(com.google.android.gms.wearable.Channel)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onChannelOpened</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when a new channel is opened by a remote node. </p></div>
+
+ </div>
+</div>
+
+
+<A NAME="onConnectedNodes(java.util.List<com.google.android.gms.wearable.Node>)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onConnectedNodes</span>
+ <span class="normal">(List<<a href="/reference/com/google/android/gms/wearable/Node.html">Node</a>> connectedNodes)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+ </div>
+</div>
+
+
<A NAME="onCreate()"></A>
<div class="jd-details api apilevel-">
@@ -6541,7 +7087,6 @@
<p>
Applications needing to track the of all its data items, may use
<code><a href="/reference/com/google/android/gms/wearable/DataApi.html#getDataItems(com.google.android.gms.common.api.GoogleApiClient)">getDataItems(GoogleApiClient)</a></code> on boot to retrieve all existing data items.
- <p>
</p></div>
</div>
@@ -6580,6 +7125,56 @@
</div>
+<A NAME="onInputClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onInputClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the input side of a channel is closed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the input closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code></td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="onMessageReceived(com.google.android.gms.wearable.MessageEvent)"></A>
<div class="jd-details api apilevel-">
@@ -6613,6 +7208,56 @@
</div>
+<A NAME="onOutputClosed(com.google.android.gms.wearable.Channel, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+
+
+
+
+ void
+ </span>
+ <span class="sympad">onOutputClosed</span>
+ <span class="normal">(<a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a> channel, int closeReason, int appSpecificErrorCode)</span>
+ </h4>
+ <div class="api-level">
+ <div></div>
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Called when the output side of a channel is closed.</p></div>
+ <div class="jd-tagdata">
+ <h5 class="jd-tagtitle">Parameters</h5>
+ <table class="jd-tagtable">
+ <tr>
+ <th>closeReason</td>
+ <td>the reason for the output closing. One of
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>, <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_REMOTE_CLOSE">CLOSE_REASON_REMOTE_CLOSE</a></code>,
+ <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_LOCAL_CLOSE">CLOSE_REASON_LOCAL_CLOSE</a></code>, or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code></td>
+ </tr>
+ <tr>
+ <th>appSpecificErrorCode</td>
+ <td>the error code specified on <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>,
+ or 0 if <code>closeReason</code> is <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_DISCONNECTED">CLOSE_REASON_DISCONNECTED</a></code>
+ or <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#CLOSE_REASON_NORMAL">CLOSE_REASON_NORMAL</a></code>.
+</td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+</div>
+
+
<A NAME="onPeerConnected(com.google.android.gms.wearable.Node)"></A>
<div class="jd-details api apilevel-">
@@ -6639,11 +7284,14 @@
- <div class="jd-tagdata jd-tagdescr"><p>Receives peer connected events.
- <p>
- Node events are determined by the connectivity between two Android Wear devices. For
- example, a wearable turned on will connect to a phone and trigger a <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected(Node)</a></code>
- event.
+ <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer is now reachable by this node. It may be directly connected
+ to this node or it may be reachable only via a directly connected node.
+
+ <p>Changes to a node's hop count or nearby status alone will not trigger an
+ <code><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html#onPeerConnected(com.google.android.gms.wearable.Node)">onPeerConnected(Node)</a></code> event as long as the node was already connected.
+
+ <p>Since multiple nodes can be connected to a network at the same time,
+ peer connected and disconnected events can come in any order.
</p></div>
</div>
@@ -6676,11 +7324,11 @@
- <div class="jd-tagdata jd-tagdescr"><p>Receives peer disconnected events.
- <p>
- Node events are determined by the connectivity between two Android Wear devices. For
- example, a wearable moving out of range of a phone will trigger a
- <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html#onPeerDisconnected(com.google.android.gms.wearable.Node)">onPeerDisconnected(Node)</a></code> event.
+ <div class="jd-tagdata jd-tagdescr"><p>Notification that a peer has been disconnected from this node or is no longer reachable
+ by this node.
+
+ <p>Since multiple nodes can be connected to a network at the same time,
+ peer connected and disconnected events can come in any order.
</p></div>
</div>
diff --git a/docs/html/reference/com/google/android/gms/wearable/WearableStatusCodes.html b/docs/html/reference/com/google/android/gms/wearable/WearableStatusCodes.html
index 074d165..d25264d 100644
--- a/docs/html/reference/com/google/android/gms/wearable/WearableStatusCodes.html
+++ b/docs/html/reference/com/google/android/gms/wearable/WearableStatusCodes.html
@@ -562,7 +562,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -976,6 +987,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#DUPLICATE_CAPABILITY">DUPLICATE_CAPABILITY</a></td>
+ <td class="jd-descrcol" width="100%">
+ Indicates that the specified capability already exists.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#DUPLICATE_LISTENER">DUPLICATE_LISTENER</a></td>
<td class="jd-descrcol" width="100%">
Indicates that the specified listener is already registered.
@@ -986,7 +1009,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#INVALID_TARGET_NODE">INVALID_TARGET_NODE</a></td>
<td class="jd-descrcol" width="100%">
@@ -998,7 +1021,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#TARGET_NODE_NOT_CONNECTED">TARGET_NODE_NOT_CONNECTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1010,6 +1033,18 @@
</tr>
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#UNKNOWN_CAPABILITY">UNKNOWN_CAPABILITY</a></td>
+ <td class="jd-descrcol" width="100%">
+ Indicates that the specified capability is not recognized.
+
+
+
+ </td>
+ </tr>
+
+
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/WearableStatusCodes.html#UNKNOWN_LISTENER">UNKNOWN_LISTENER</a></td>
@@ -1054,6 +1089,18 @@
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#API_NOT_AVAILABLE">API_NOT_AVAILABLE</a></td>
+ <td class="jd-descrcol" width="100%">
+ The client attempted to call a method from an API that failed to connect.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#CANCELED">CANCELED</a></td>
<td class="jd-descrcol" width="100%">
The result was canceled either due to client disconnect or <code><a href="/reference/com/google/android/gms/common/api/PendingResult.html#cancel()">cancel()</a></code>.
@@ -1064,7 +1111,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#DEVELOPER_ERROR">DEVELOPER_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1076,7 +1123,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#ERROR">ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1088,7 +1135,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERNAL_ERROR">INTERNAL_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1100,7 +1147,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INTERRUPTED">INTERRUPTED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1112,7 +1159,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#INVALID_ACCOUNT">INVALID_ACCOUNT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1124,7 +1171,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#LICENSE_CHECK_FAILED">LICENSE_CHECK_FAILED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1136,7 +1183,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#NETWORK_ERROR">NETWORK_ERROR</a></td>
<td class="jd-descrcol" width="100%">
@@ -1148,7 +1195,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#RESOLUTION_REQUIRED">RESOLUTION_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1160,7 +1207,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_DISABLED">SERVICE_DISABLED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1172,7 +1219,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_INVALID">SERVICE_INVALID</a></td>
<td class="jd-descrcol" width="100%">
@@ -1184,7 +1231,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_MISSING">SERVICE_MISSING</a></td>
<td class="jd-descrcol" width="100%">
@@ -1196,7 +1243,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1208,7 +1255,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SIGN_IN_REQUIRED">SIGN_IN_REQUIRED</a></td>
<td class="jd-descrcol" width="100%">
@@ -1220,7 +1267,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS">SUCCESS</a></td>
<td class="jd-descrcol" width="100%">
@@ -1232,7 +1279,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#SUCCESS_CACHE">SUCCESS_CACHE</a></td>
<td class="jd-descrcol" width="100%">
@@ -1244,7 +1291,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/api/CommonStatusCodes.html#TIMEOUT">TIMEOUT</a></td>
<td class="jd-descrcol" width="100%">
@@ -1675,6 +1722,47 @@
+<A NAME="DUPLICATE_CAPABILITY"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ DUPLICATE_CAPABILITY
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Indicates that the specified capability already exists. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 4006
+ (0x00000fa6)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="DUPLICATE_LISTENER"></A>
<div class="jd-details api apilevel-">
@@ -1798,6 +1886,47 @@
+<A NAME="UNKNOWN_CAPABILITY"></A>
+
+<div class="jd-details api apilevel-">
+ <h4 class="jd-details-title">
+ <span class="normal">
+ public
+ static
+ final
+ int
+ </span>
+ UNKNOWN_CAPABILITY
+ </h4>
+ <div class="api-level">
+
+
+
+
+ </div>
+ <div class="jd-details-descr">
+
+
+
+
+ <div class="jd-tagdata jd-tagdescr"><p>Indicates that the specified capability is not recognized. </p></div>
+
+
+ <div class="jd-tagdata">
+ <span class="jd-tagtitle">Constant Value: </span>
+ <span>
+
+ 4007
+ (0x00000fa7)
+
+ </span>
+ </div>
+
+ </div>
+</div>
+
+
+
<A NAME="UNKNOWN_LISTENER"></A>
<div class="jd-details api apilevel-">
diff --git a/docs/html/reference/com/google/android/gms/wearable/package-summary.html b/docs/html/reference/com/google/android/gms/wearable/package-summary.html
index c6c2380..c9a7cad 100644
--- a/docs/html/reference/com/google/android/gms/wearable/package-summary.html
+++ b/docs/html/reference/com/google/android/gms/wearable/package-summary.html
@@ -563,7 +563,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -794,6 +805,28 @@
+ <h2>Annotations</h2>
+ <div class="jd-sumtable">
+
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html">ChannelApi.CloseReason</a></td>
+ <td class="jd-descrcol" width="100%">
+ An annotation for values passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, and other methods
+ on the <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code> interface.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+
@@ -804,6 +837,149 @@
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html">CapabilityApi</a></td>
+ <td class="jd-descrcol" width="100%">
+ Exposes an API to learn about capabilities provided by nodes on the Wear network.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html">CapabilityApi.AddLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#addLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">addLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">CapabilityApi.CapabilityListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ Listener for changes in the reachable nodes providing a capability.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html">CapabilityApi.GetAllCapabilitiesResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getAllCapabilities(com.google.android.gms.common.api.GoogleApiClient, int)">getAllCapabilities(GoogleApiClient, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html">CapabilityApi.GetCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)">getCapability(GoogleApiClient, String, int)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html">CapabilityApi.RemoveLocalCapabilityResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result returned from <code><a href="/reference/com/google/android/gms/wearable/CapabilityApi.html#removeLocalCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String)">removeLocalCapability(GoogleApiClient, String)</a></code>
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/CapabilityInfo.html">CapabilityInfo</a></td>
+ <td class="jd-descrcol" width="100%">
+ Information about a Capability on the network and where it is available.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.html">Channel</a></td>
+ <td class="jd-descrcol" width="100%">
+ A channel created through <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html">Channel.GetInputStreamResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html">Channel.GetOutputStreamResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html">ChannelApi</a></td>
+ <td class="jd-descrcol" width="100%">
+ Client interface for Wearable Channel API.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></td>
+ <td class="jd-descrcol" width="100%">
+ A listener which will be notified on changes to channels.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a></td>
+ <td class="jd-descrcol" width="100%">
+ Result of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.html">DataApi</a></td>
<td class="jd-descrcol" width="100%">
Exposes an API for components to read or write <a href="/reference/com/google/android/gms/wearable/DataItem.html">data items</a></a> and
@@ -815,7 +991,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.DataItemResult.html">DataApi.DataItemResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a single data item.
@@ -826,7 +1002,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.DataListener.html">DataApi.DataListener</a></td>
<td class="jd-descrcol" width="100%">
Used with <code><a href="/reference/com/google/android/gms/wearable/DataApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.DataApi.DataListener)">addListener(GoogleApiClient, DataApi.DataListener)</a></code> to receive data events.
@@ -837,7 +1013,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html">DataApi.DeleteDataItemsResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the number of deleted items.
@@ -848,7 +1024,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html">DataApi.GetFdForAssetResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a file descriptor for the requested asset.
@@ -859,7 +1035,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataEvent.html">DataEvent</a></td>
<td class="jd-descrcol" width="100%">
Data interface for data events.
@@ -870,7 +1046,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataItem.html">DataItem</a></td>
<td class="jd-descrcol" width="100%">
The base object of data stored in the Android Wear network.
@@ -881,7 +1057,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/DataItemAsset.html">DataItemAsset</a></td>
<td class="jd-descrcol" width="100%">
A reference to an asset stored in a data item.
@@ -892,7 +1068,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/MessageApi.html">MessageApi</a></td>
<td class="jd-descrcol" width="100%">
Exposes an API for components to send messages to other nodes.
@@ -903,7 +1079,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html">MessageApi.MessageListener</a></td>
<td class="jd-descrcol" width="100%">
Used with <code><a href="/reference/com/google/android/gms/wearable/MessageApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.MessageApi.MessageListener)">addListener(GoogleApiClient, MessageApi.MessageListener)</a></code> to receive message events.
@@ -914,7 +1090,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html">MessageApi.SendMessageResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the request id assigned to the message.
@@ -925,7 +1101,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/MessageEvent.html">MessageEvent</a></td>
<td class="jd-descrcol" width="100%">
Information about a message received by a <a href="/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html">listener</a></a>.
@@ -936,7 +1112,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/Node.html">Node</a></td>
<td class="jd-descrcol" width="100%">
Information about a particular node in the Android Wear network.
@@ -947,7 +1123,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.html">NodeApi</a></td>
<td class="jd-descrcol" width="100%">
Exposes an API for to learn about local or connected Nodes.
@@ -958,7 +1134,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html">NodeApi.GetConnectedNodesResult</a></td>
<td class="jd-descrcol" width="100%">
Contains a list of connected nodes.
@@ -969,7 +1145,7 @@
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html">NodeApi.GetLocalNodeResult</a></td>
<td class="jd-descrcol" width="100%">
Contains the name and id that represents this device.
@@ -980,7 +1156,7 @@
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/NodeApi.NodeListener.html">NodeApi.NodeListener</a></td>
<td class="jd-descrcol" width="100%">
Used with <code><a href="/reference/com/google/android/gms/wearable/NodeApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.NodeApi.NodeListener)">addListener(GoogleApiClient, NodeApi.NodeListener)</a></code> to receive node events.
@@ -1147,6 +1323,29 @@
+ <h2>Exceptions</h2>
+ <div class="jd-sumtable">
+
+
+ <table class="jd-sumtable-expando">
+
+ <tr class="alt-color api apilevel-" >
+ <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelIOException.html">ChannelIOException</a></td>
+ <td class="jd-descrcol" width="100%">
+ A subclass of <code><a href="/reference/java/io/IOException.html">IOException</a></code> which can be thrown from the streams returned by
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code> and
+ <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code>.
+
+
+
+ </td>
+ </tr>
+
+
+ </table>
+
+ </div>
+
diff --git a/docs/html/reference/gms-packages.html b/docs/html/reference/gms-packages.html
index edc3b81..73d355e 100644
--- a/docs/html/reference/gms-packages.html
+++ b/docs/html/reference/gms-packages.html
@@ -553,7 +553,18 @@
<span class="en">Wallet</span>
</a></div>
</li>
-
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
+ <span class="en">SafetyNet</span>
+ </a></div>
+ <ul>
+ <li>
+ <a href="/google/play/safetynet/start.html">
+ <span class="en">Getting Started</span>
+ </a>
+ </li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
@@ -1167,33 +1178,41 @@
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol">
+ <a href="/reference/com/google/android/gms/search/package-summary.html">com.google.android.gms.search</a></td>
+ <td class="jd-descrcol" width="100%">Contains the Search APIs
+</td>
+ </tr>
+
+
+ <tr class=" api apilevel-" >
+ <td class="jd-linkcol">
<a href="/reference/com/google/android/gms/security/package-summary.html">com.google.android.gms.security</a></td>
<td class="jd-descrcol" width="100%"></td>
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol">
<a href="/reference/com/google/android/gms/tagmanager/package-summary.html">com.google.android.gms.tagmanager</a></td>
<td class="jd-descrcol" width="100%"></td>
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol">
<a href="/reference/com/google/android/gms/wallet/package-summary.html">com.google.android.gms.wallet</a></td>
<td class="jd-descrcol" width="100%">Contains the Wallet Client for Google Play services.</td>
</tr>
- <tr class=" api apilevel-" >
+ <tr class="alt-color api apilevel-" >
<td class="jd-linkcol">
<a href="/reference/com/google/android/gms/wallet/fragment/package-summary.html">com.google.android.gms.wallet.fragment</a></td>
<td class="jd-descrcol" width="100%">Contains WalletFragment.</td>
</tr>
- <tr class="alt-color api apilevel-" >
+ <tr class=" api apilevel-" >
<td class="jd-linkcol">
<a href="/reference/com/google/android/gms/wearable/package-summary.html">com.google.android.gms.wearable</a></td>
<td class="jd-descrcol" width="100%"></td>
diff --git a/docs/html/reference/gms_lists.js b/docs/html/reference/gms_lists.js
index e4fc5f4..466db55 100644
--- a/docs/html/reference/gms_lists.js
+++ b/docs/html/reference/gms_lists.js
@@ -78,8 +78,8 @@
{ id:76, label:"com.google.android.gms.analytics.HitBuilders.SocialBuilder", link:"reference/com/google/android/gms/analytics/HitBuilders.SocialBuilder.html", type:"class", deprecated:"false" },
{ id:77, label:"com.google.android.gms.analytics.HitBuilders.TimingBuilder", link:"reference/com/google/android/gms/analytics/HitBuilders.TimingBuilder.html", type:"class", deprecated:"false" },
{ id:78, label:"com.google.android.gms.analytics.HitBuilders.TransactionBuilder", link:"reference/com/google/android/gms/analytics/HitBuilders.TransactionBuilder.html", type:"class", deprecated:"true" },
- { id:79, label:"com.google.android.gms.analytics.Logger", link:"reference/com/google/android/gms/analytics/Logger.html", type:"class", deprecated:"false" },
- { id:80, label:"com.google.android.gms.analytics.Logger.LogLevel", link:"reference/com/google/android/gms/analytics/Logger.LogLevel.html", type:"class", deprecated:"false" },
+ { id:79, label:"com.google.android.gms.analytics.Logger", link:"reference/com/google/android/gms/analytics/Logger.html", type:"class", deprecated:"true" },
+ { id:80, label:"com.google.android.gms.analytics.Logger.LogLevel", link:"reference/com/google/android/gms/analytics/Logger.LogLevel.html", type:"class", deprecated:"true" },
{ id:81, label:"com.google.android.gms.analytics.StandardExceptionParser", link:"reference/com/google/android/gms/analytics/StandardExceptionParser.html", type:"class", deprecated:"false" },
{ id:82, label:"com.google.android.gms.analytics.Tracker", link:"reference/com/google/android/gms/analytics/Tracker.html", type:"class", deprecated:"false" },
{ id:83, label:"com.google.android.gms.analytics.ecommerce", link:"reference/com/google/android/gms/analytics/ecommerce/package-summary.html", type:"package", deprecated:"false" },
@@ -144,563 +144,590 @@
{ id:142, label:"com.google.android.gms.common.AccountPicker", link:"reference/com/google/android/gms/common/AccountPicker.html", type:"class", deprecated:"false" },
{ id:143, label:"com.google.android.gms.common.ConnectionResult", link:"reference/com/google/android/gms/common/ConnectionResult.html", type:"class", deprecated:"false" },
{ id:144, label:"com.google.android.gms.common.ErrorDialogFragment", link:"reference/com/google/android/gms/common/ErrorDialogFragment.html", type:"class", deprecated:"false" },
- { id:145, label:"com.google.android.gms.common.GooglePlayServicesNotAvailableException", link:"reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html", type:"class", deprecated:"false" },
- { id:146, label:"com.google.android.gms.common.GooglePlayServicesRepairableException", link:"reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html", type:"class", deprecated:"false" },
- { id:147, label:"com.google.android.gms.common.GooglePlayServicesUtil", link:"reference/com/google/android/gms/common/GooglePlayServicesUtil.html", type:"class", deprecated:"false" },
- { id:148, label:"com.google.android.gms.common.Scopes", link:"reference/com/google/android/gms/common/Scopes.html", type:"class", deprecated:"false" },
- { id:149, label:"com.google.android.gms.common.SignInButton", link:"reference/com/google/android/gms/common/SignInButton.html", type:"class", deprecated:"false" },
- { id:150, label:"com.google.android.gms.common.SupportErrorDialogFragment", link:"reference/com/google/android/gms/common/SupportErrorDialogFragment.html", type:"class", deprecated:"false" },
- { id:151, label:"com.google.android.gms.common.UserRecoverableException", link:"reference/com/google/android/gms/common/UserRecoverableException.html", type:"class", deprecated:"false" },
- { id:152, label:"com.google.android.gms.common.annotation", link:"reference/com/google/android/gms/common/annotation/package-summary.html", type:"package", deprecated:"false" },
- { id:153, label:"com.google.android.gms.common.annotation.KeepName", link:"reference/com/google/android/gms/common/annotation/KeepName.html", type:"class", deprecated:"false" },
- { id:154, label:"com.google.android.gms.common.api", link:"reference/com/google/android/gms/common/api/package-summary.html", type:"package", deprecated:"false" },
- { id:155, label:"com.google.android.gms.common.api.Api", link:"reference/com/google/android/gms/common/api/Api.html", type:"class", deprecated:"false" },
- { id:156, label:"com.google.android.gms.common.api.Api.ApiOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.html", type:"class", deprecated:"false" },
- { id:157, label:"com.google.android.gms.common.api.Api.ApiOptions.HasOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html", type:"class", deprecated:"false" },
- { id:158, label:"com.google.android.gms.common.api.Api.ApiOptions.NoOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html", type:"class", deprecated:"false" },
- { id:159, label:"com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html", type:"class", deprecated:"false" },
- { id:160, label:"com.google.android.gms.common.api.Api.ApiOptions.Optional", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html", type:"class", deprecated:"false" },
- { id:161, label:"com.google.android.gms.common.api.Batch", link:"reference/com/google/android/gms/common/api/Batch.html", type:"class", deprecated:"false" },
- { id:162, label:"com.google.android.gms.common.api.Batch.Builder", link:"reference/com/google/android/gms/common/api/Batch.Builder.html", type:"class", deprecated:"false" },
- { id:163, label:"com.google.android.gms.common.api.BatchResult", link:"reference/com/google/android/gms/common/api/BatchResult.html", type:"class", deprecated:"false" },
- { id:164, label:"com.google.android.gms.common.api.BatchResultToken", link:"reference/com/google/android/gms/common/api/BatchResultToken.html", type:"class", deprecated:"false" },
- { id:165, label:"com.google.android.gms.common.api.CommonStatusCodes", link:"reference/com/google/android/gms/common/api/CommonStatusCodes.html", type:"class", deprecated:"false" },
- { id:166, label:"com.google.android.gms.common.api.GoogleApiClient", link:"reference/com/google/android/gms/common/api/GoogleApiClient.html", type:"class", deprecated:"false" },
- { id:167, label:"com.google.android.gms.common.api.GoogleApiClient.Builder", link:"reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html", type:"class", deprecated:"false" },
- { id:168, label:"com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html", type:"class", deprecated:"false" },
- { id:169, label:"com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener", link:"reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html", type:"class", deprecated:"false" },
- { id:170, label:"com.google.android.gms.common.api.GoogleApiClient.ServerAuthCodeCallbacks", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html", type:"class", deprecated:"false" },
- { id:171, label:"com.google.android.gms.common.api.GoogleApiClient.ServerAuthCodeCallbacks.CheckResult", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html", type:"class", deprecated:"false" },
- { id:172, label:"com.google.android.gms.common.api.PendingResult", link:"reference/com/google/android/gms/common/api/PendingResult.html", type:"class", deprecated:"false" },
- { id:173, label:"com.google.android.gms.common.api.PendingResults", link:"reference/com/google/android/gms/common/api/PendingResults.html", type:"class", deprecated:"false" },
- { id:174, label:"com.google.android.gms.common.api.Releasable", link:"reference/com/google/android/gms/common/api/Releasable.html", type:"class", deprecated:"false" },
- { id:175, label:"com.google.android.gms.common.api.Result", link:"reference/com/google/android/gms/common/api/Result.html", type:"class", deprecated:"false" },
- { id:176, label:"com.google.android.gms.common.api.ResultCallback", link:"reference/com/google/android/gms/common/api/ResultCallback.html", type:"class", deprecated:"false" },
- { id:177, label:"com.google.android.gms.common.api.Scope", link:"reference/com/google/android/gms/common/api/Scope.html", type:"class", deprecated:"false" },
- { id:178, label:"com.google.android.gms.common.api.Status", link:"reference/com/google/android/gms/common/api/Status.html", type:"class", deprecated:"false" },
- { id:179, label:"com.google.android.gms.common.data", link:"reference/com/google/android/gms/common/data/package-summary.html", type:"package", deprecated:"false" },
- { id:180, label:"com.google.android.gms.common.data.AbstractDataBuffer", link:"reference/com/google/android/gms/common/data/AbstractDataBuffer.html", type:"class", deprecated:"false" },
- { id:181, label:"com.google.android.gms.common.data.DataBuffer", link:"reference/com/google/android/gms/common/data/DataBuffer.html", type:"class", deprecated:"false" },
- { id:182, label:"com.google.android.gms.common.data.DataBufferObserver", link:"reference/com/google/android/gms/common/data/DataBufferObserver.html", type:"class", deprecated:"false" },
- { id:183, label:"com.google.android.gms.common.data.DataBufferObserver.Observable", link:"reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html", type:"class", deprecated:"false" },
- { id:184, label:"com.google.android.gms.common.data.DataBufferObserverSet", link:"reference/com/google/android/gms/common/data/DataBufferObserverSet.html", type:"class", deprecated:"false" },
- { id:185, label:"com.google.android.gms.common.data.DataBufferUtils", link:"reference/com/google/android/gms/common/data/DataBufferUtils.html", type:"class", deprecated:"false" },
- { id:186, label:"com.google.android.gms.common.data.Freezable", link:"reference/com/google/android/gms/common/data/Freezable.html", type:"class", deprecated:"false" },
- { id:187, label:"com.google.android.gms.common.data.FreezableUtils", link:"reference/com/google/android/gms/common/data/FreezableUtils.html", type:"class", deprecated:"false" },
- { id:188, label:"com.google.android.gms.common.images", link:"reference/com/google/android/gms/common/images/package-summary.html", type:"package", deprecated:"false" },
- { id:189, label:"com.google.android.gms.common.images.ImageManager", link:"reference/com/google/android/gms/common/images/ImageManager.html", type:"class", deprecated:"false" },
- { id:190, label:"com.google.android.gms.common.images.ImageManager.OnImageLoadedListener", link:"reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html", type:"class", deprecated:"false" },
- { id:191, label:"com.google.android.gms.common.images.WebImage", link:"reference/com/google/android/gms/common/images/WebImage.html", type:"class", deprecated:"false" },
- { id:192, label:"com.google.android.gms.drive", link:"reference/com/google/android/gms/drive/package-summary.html", type:"package", deprecated:"false" },
- { id:193, label:"com.google.android.gms.drive.CreateFileActivityBuilder", link:"reference/com/google/android/gms/drive/CreateFileActivityBuilder.html", type:"class", deprecated:"false" },
- { id:194, label:"com.google.android.gms.drive.Drive", link:"reference/com/google/android/gms/drive/Drive.html", type:"class", deprecated:"false" },
- { id:195, label:"com.google.android.gms.drive.DriveApi", link:"reference/com/google/android/gms/drive/DriveApi.html", type:"class", deprecated:"false" },
- { id:196, label:"com.google.android.gms.drive.DriveApi.DriveContentsResult", link:"reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html", type:"class", deprecated:"false" },
- { id:197, label:"com.google.android.gms.drive.DriveApi.DriveIdResult", link:"reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html", type:"class", deprecated:"false" },
- { id:198, label:"com.google.android.gms.drive.DriveApi.MetadataBufferResult", link:"reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html", type:"class", deprecated:"false" },
- { id:199, label:"com.google.android.gms.drive.DriveContents", link:"reference/com/google/android/gms/drive/DriveContents.html", type:"class", deprecated:"false" },
- { id:200, label:"com.google.android.gms.drive.DriveFile", link:"reference/com/google/android/gms/drive/DriveFile.html", type:"class", deprecated:"false" },
- { id:201, label:"com.google.android.gms.drive.DriveFile.DownloadProgressListener", link:"reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html", type:"class", deprecated:"false" },
- { id:202, label:"com.google.android.gms.drive.DriveFolder", link:"reference/com/google/android/gms/drive/DriveFolder.html", type:"class", deprecated:"false" },
- { id:203, label:"com.google.android.gms.drive.DriveFolder.DriveFileResult", link:"reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html", type:"class", deprecated:"false" },
- { id:204, label:"com.google.android.gms.drive.DriveFolder.DriveFolderResult", link:"reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html", type:"class", deprecated:"false" },
- { id:205, label:"com.google.android.gms.drive.DriveId", link:"reference/com/google/android/gms/drive/DriveId.html", type:"class", deprecated:"false" },
- { id:206, label:"com.google.android.gms.drive.DrivePreferencesApi", link:"reference/com/google/android/gms/drive/DrivePreferencesApi.html", type:"class", deprecated:"false" },
- { id:207, label:"com.google.android.gms.drive.DrivePreferencesApi.FileUploadPreferencesResult", link:"reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html", type:"class", deprecated:"false" },
- { id:208, label:"com.google.android.gms.drive.DriveResource", link:"reference/com/google/android/gms/drive/DriveResource.html", type:"class", deprecated:"false" },
- { id:209, label:"com.google.android.gms.drive.DriveResource.MetadataResult", link:"reference/com/google/android/gms/drive/DriveResource.MetadataResult.html", type:"class", deprecated:"false" },
- { id:210, label:"com.google.android.gms.drive.DriveStatusCodes", link:"reference/com/google/android/gms/drive/DriveStatusCodes.html", type:"class", deprecated:"false" },
- { id:211, label:"com.google.android.gms.drive.ExecutionOptions", link:"reference/com/google/android/gms/drive/ExecutionOptions.html", type:"class", deprecated:"false" },
- { id:212, label:"com.google.android.gms.drive.ExecutionOptions.Builder", link:"reference/com/google/android/gms/drive/ExecutionOptions.Builder.html", type:"class", deprecated:"false" },
- { id:213, label:"com.google.android.gms.drive.FileUploadPreferences", link:"reference/com/google/android/gms/drive/FileUploadPreferences.html", type:"class", deprecated:"false" },
- { id:214, label:"com.google.android.gms.drive.Metadata", link:"reference/com/google/android/gms/drive/Metadata.html", type:"class", deprecated:"false" },
- { id:215, label:"com.google.android.gms.drive.MetadataBuffer", link:"reference/com/google/android/gms/drive/MetadataBuffer.html", type:"class", deprecated:"false" },
- { id:216, label:"com.google.android.gms.drive.MetadataChangeSet", link:"reference/com/google/android/gms/drive/MetadataChangeSet.html", type:"class", deprecated:"false" },
- { id:217, label:"com.google.android.gms.drive.MetadataChangeSet.Builder", link:"reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html", type:"class", deprecated:"false" },
- { id:218, label:"com.google.android.gms.drive.OpenFileActivityBuilder", link:"reference/com/google/android/gms/drive/OpenFileActivityBuilder.html", type:"class", deprecated:"false" },
- { id:219, label:"com.google.android.gms.drive.events", link:"reference/com/google/android/gms/drive/events/package-summary.html", type:"package", deprecated:"false" },
- { id:220, label:"com.google.android.gms.drive.events.ChangeEvent", link:"reference/com/google/android/gms/drive/events/ChangeEvent.html", type:"class", deprecated:"false" },
- { id:221, label:"com.google.android.gms.drive.events.ChangeListener", link:"reference/com/google/android/gms/drive/events/ChangeListener.html", type:"class", deprecated:"false" },
- { id:222, label:"com.google.android.gms.drive.events.CompletionEvent", link:"reference/com/google/android/gms/drive/events/CompletionEvent.html", type:"class", deprecated:"false" },
- { id:223, label:"com.google.android.gms.drive.events.CompletionListener", link:"reference/com/google/android/gms/drive/events/CompletionListener.html", type:"class", deprecated:"false" },
- { id:224, label:"com.google.android.gms.drive.events.DriveEvent", link:"reference/com/google/android/gms/drive/events/DriveEvent.html", type:"class", deprecated:"false" },
- { id:225, label:"com.google.android.gms.drive.events.DriveEventService", link:"reference/com/google/android/gms/drive/events/DriveEventService.html", type:"class", deprecated:"false" },
- { id:226, label:"com.google.android.gms.drive.events.ResourceEvent", link:"reference/com/google/android/gms/drive/events/ResourceEvent.html", type:"class", deprecated:"false" },
- { id:227, label:"com.google.android.gms.drive.metadata", link:"reference/com/google/android/gms/drive/metadata/package-summary.html", type:"package", deprecated:"false" },
- { id:228, label:"com.google.android.gms.drive.metadata.CustomPropertyKey", link:"reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html", type:"class", deprecated:"false" },
- { id:229, label:"com.google.android.gms.drive.metadata.MetadataField", link:"reference/com/google/android/gms/drive/metadata/MetadataField.html", type:"class", deprecated:"false" },
- { id:230, label:"com.google.android.gms.drive.metadata.SearchableCollectionMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html", type:"class", deprecated:"false" },
- { id:231, label:"com.google.android.gms.drive.metadata.SearchableMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html", type:"class", deprecated:"false" },
- { id:232, label:"com.google.android.gms.drive.metadata.SearchableOrderedMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html", type:"class", deprecated:"false" },
- { id:233, label:"com.google.android.gms.drive.metadata.SortableMetadataField", link:"reference/com/google/android/gms/drive/metadata/SortableMetadataField.html", type:"class", deprecated:"false" },
- { id:234, label:"com.google.android.gms.drive.query", link:"reference/com/google/android/gms/drive/query/package-summary.html", type:"package", deprecated:"false" },
- { id:235, label:"com.google.android.gms.drive.query.Filter", link:"reference/com/google/android/gms/drive/query/Filter.html", type:"class", deprecated:"false" },
- { id:236, label:"com.google.android.gms.drive.query.Filters", link:"reference/com/google/android/gms/drive/query/Filters.html", type:"class", deprecated:"false" },
- { id:237, label:"com.google.android.gms.drive.query.Query", link:"reference/com/google/android/gms/drive/query/Query.html", type:"class", deprecated:"false" },
- { id:238, label:"com.google.android.gms.drive.query.Query.Builder", link:"reference/com/google/android/gms/drive/query/Query.Builder.html", type:"class", deprecated:"false" },
- { id:239, label:"com.google.android.gms.drive.query.SearchableField", link:"reference/com/google/android/gms/drive/query/SearchableField.html", type:"class", deprecated:"false" },
- { id:240, label:"com.google.android.gms.drive.query.SortOrder", link:"reference/com/google/android/gms/drive/query/SortOrder.html", type:"class", deprecated:"false" },
- { id:241, label:"com.google.android.gms.drive.query.SortOrder.Builder", link:"reference/com/google/android/gms/drive/query/SortOrder.Builder.html", type:"class", deprecated:"false" },
- { id:242, label:"com.google.android.gms.drive.query.SortableField", link:"reference/com/google/android/gms/drive/query/SortableField.html", type:"class", deprecated:"false" },
- { id:243, label:"com.google.android.gms.drive.widget", link:"reference/com/google/android/gms/drive/widget/package-summary.html", type:"package", deprecated:"false" },
- { id:244, label:"com.google.android.gms.drive.widget.DataBufferAdapter", link:"reference/com/google/android/gms/drive/widget/DataBufferAdapter.html", type:"class", deprecated:"false" },
- { id:245, label:"com.google.android.gms.fitness", link:"reference/com/google/android/gms/fitness/package-summary.html", type:"package", deprecated:"false" },
- { id:246, label:"com.google.android.gms.fitness.BleApi", link:"reference/com/google/android/gms/fitness/BleApi.html", type:"class", deprecated:"false" },
- { id:247, label:"com.google.android.gms.fitness.ConfigApi", link:"reference/com/google/android/gms/fitness/ConfigApi.html", type:"class", deprecated:"false" },
- { id:248, label:"com.google.android.gms.fitness.Fitness", link:"reference/com/google/android/gms/fitness/Fitness.html", type:"class", deprecated:"false" },
- { id:249, label:"com.google.android.gms.fitness.FitnessActivities", link:"reference/com/google/android/gms/fitness/FitnessActivities.html", type:"class", deprecated:"false" },
- { id:250, label:"com.google.android.gms.fitness.FitnessStatusCodes", link:"reference/com/google/android/gms/fitness/FitnessStatusCodes.html", type:"class", deprecated:"false" },
- { id:251, label:"com.google.android.gms.fitness.HistoryApi", link:"reference/com/google/android/gms/fitness/HistoryApi.html", type:"class", deprecated:"false" },
- { id:252, label:"com.google.android.gms.fitness.HistoryApi.ViewIntentBuilder", link:"reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html", type:"class", deprecated:"false" },
- { id:253, label:"com.google.android.gms.fitness.RecordingApi", link:"reference/com/google/android/gms/fitness/RecordingApi.html", type:"class", deprecated:"false" },
- { id:254, label:"com.google.android.gms.fitness.SensorsApi", link:"reference/com/google/android/gms/fitness/SensorsApi.html", type:"class", deprecated:"false" },
- { id:255, label:"com.google.android.gms.fitness.SessionsApi", link:"reference/com/google/android/gms/fitness/SessionsApi.html", type:"class", deprecated:"false" },
- { id:256, label:"com.google.android.gms.fitness.SessionsApi.ViewIntentBuilder", link:"reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html", type:"class", deprecated:"false" },
- { id:257, label:"com.google.android.gms.fitness.data", link:"reference/com/google/android/gms/fitness/data/package-summary.html", type:"package", deprecated:"false" },
- { id:258, label:"com.google.android.gms.fitness.data.BleDevice", link:"reference/com/google/android/gms/fitness/data/BleDevice.html", type:"class", deprecated:"false" },
- { id:259, label:"com.google.android.gms.fitness.data.Bucket", link:"reference/com/google/android/gms/fitness/data/Bucket.html", type:"class", deprecated:"false" },
- { id:260, label:"com.google.android.gms.fitness.data.DataPoint", link:"reference/com/google/android/gms/fitness/data/DataPoint.html", type:"class", deprecated:"false" },
- { id:261, label:"com.google.android.gms.fitness.data.DataSet", link:"reference/com/google/android/gms/fitness/data/DataSet.html", type:"class", deprecated:"false" },
- { id:262, label:"com.google.android.gms.fitness.data.DataSource", link:"reference/com/google/android/gms/fitness/data/DataSource.html", type:"class", deprecated:"false" },
- { id:263, label:"com.google.android.gms.fitness.data.DataSource.Builder", link:"reference/com/google/android/gms/fitness/data/DataSource.Builder.html", type:"class", deprecated:"false" },
- { id:264, label:"com.google.android.gms.fitness.data.DataType", link:"reference/com/google/android/gms/fitness/data/DataType.html", type:"class", deprecated:"false" },
- { id:265, label:"com.google.android.gms.fitness.data.Device", link:"reference/com/google/android/gms/fitness/data/Device.html", type:"class", deprecated:"false" },
- { id:266, label:"com.google.android.gms.fitness.data.Field", link:"reference/com/google/android/gms/fitness/data/Field.html", type:"class", deprecated:"false" },
- { id:267, label:"com.google.android.gms.fitness.data.Session", link:"reference/com/google/android/gms/fitness/data/Session.html", type:"class", deprecated:"false" },
- { id:268, label:"com.google.android.gms.fitness.data.Session.Builder", link:"reference/com/google/android/gms/fitness/data/Session.Builder.html", type:"class", deprecated:"false" },
- { id:269, label:"com.google.android.gms.fitness.data.Subscription", link:"reference/com/google/android/gms/fitness/data/Subscription.html", type:"class", deprecated:"false" },
- { id:270, label:"com.google.android.gms.fitness.data.Value", link:"reference/com/google/android/gms/fitness/data/Value.html", type:"class", deprecated:"false" },
- { id:271, label:"com.google.android.gms.fitness.request", link:"reference/com/google/android/gms/fitness/request/package-summary.html", type:"package", deprecated:"false" },
- { id:272, label:"com.google.android.gms.fitness.request.BleScanCallback", link:"reference/com/google/android/gms/fitness/request/BleScanCallback.html", type:"class", deprecated:"false" },
- { id:273, label:"com.google.android.gms.fitness.request.DataDeleteRequest", link:"reference/com/google/android/gms/fitness/request/DataDeleteRequest.html", type:"class", deprecated:"false" },
- { id:274, label:"com.google.android.gms.fitness.request.DataDeleteRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html", type:"class", deprecated:"false" },
- { id:275, label:"com.google.android.gms.fitness.request.DataReadRequest", link:"reference/com/google/android/gms/fitness/request/DataReadRequest.html", type:"class", deprecated:"false" },
- { id:276, label:"com.google.android.gms.fitness.request.DataReadRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html", type:"class", deprecated:"false" },
- { id:277, label:"com.google.android.gms.fitness.request.DataSourcesRequest", link:"reference/com/google/android/gms/fitness/request/DataSourcesRequest.html", type:"class", deprecated:"false" },
- { id:278, label:"com.google.android.gms.fitness.request.DataSourcesRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html", type:"class", deprecated:"false" },
- { id:279, label:"com.google.android.gms.fitness.request.DataTypeCreateRequest", link:"reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html", type:"class", deprecated:"false" },
- { id:280, label:"com.google.android.gms.fitness.request.DataTypeCreateRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html", type:"class", deprecated:"false" },
- { id:281, label:"com.google.android.gms.fitness.request.OnDataPointListener", link:"reference/com/google/android/gms/fitness/request/OnDataPointListener.html", type:"class", deprecated:"false" },
- { id:282, label:"com.google.android.gms.fitness.request.SensorRequest", link:"reference/com/google/android/gms/fitness/request/SensorRequest.html", type:"class", deprecated:"false" },
- { id:283, label:"com.google.android.gms.fitness.request.SensorRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html", type:"class", deprecated:"false" },
- { id:284, label:"com.google.android.gms.fitness.request.SessionInsertRequest", link:"reference/com/google/android/gms/fitness/request/SessionInsertRequest.html", type:"class", deprecated:"false" },
- { id:285, label:"com.google.android.gms.fitness.request.SessionInsertRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html", type:"class", deprecated:"false" },
- { id:286, label:"com.google.android.gms.fitness.request.SessionReadRequest", link:"reference/com/google/android/gms/fitness/request/SessionReadRequest.html", type:"class", deprecated:"false" },
- { id:287, label:"com.google.android.gms.fitness.request.SessionReadRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html", type:"class", deprecated:"false" },
- { id:288, label:"com.google.android.gms.fitness.request.StartBleScanRequest", link:"reference/com/google/android/gms/fitness/request/StartBleScanRequest.html", type:"class", deprecated:"false" },
- { id:289, label:"com.google.android.gms.fitness.request.StartBleScanRequest.Builder", link:"reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html", type:"class", deprecated:"false" },
- { id:290, label:"com.google.android.gms.fitness.result", link:"reference/com/google/android/gms/fitness/result/package-summary.html", type:"package", deprecated:"false" },
- { id:291, label:"com.google.android.gms.fitness.result.BleDevicesResult", link:"reference/com/google/android/gms/fitness/result/BleDevicesResult.html", type:"class", deprecated:"false" },
- { id:292, label:"com.google.android.gms.fitness.result.DataReadResult", link:"reference/com/google/android/gms/fitness/result/DataReadResult.html", type:"class", deprecated:"false" },
- { id:293, label:"com.google.android.gms.fitness.result.DataSourcesResult", link:"reference/com/google/android/gms/fitness/result/DataSourcesResult.html", type:"class", deprecated:"false" },
- { id:294, label:"com.google.android.gms.fitness.result.DataTypeResult", link:"reference/com/google/android/gms/fitness/result/DataTypeResult.html", type:"class", deprecated:"false" },
- { id:295, label:"com.google.android.gms.fitness.result.ListSubscriptionsResult", link:"reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html", type:"class", deprecated:"false" },
- { id:296, label:"com.google.android.gms.fitness.result.SessionReadResult", link:"reference/com/google/android/gms/fitness/result/SessionReadResult.html", type:"class", deprecated:"false" },
- { id:297, label:"com.google.android.gms.fitness.result.SessionStopResult", link:"reference/com/google/android/gms/fitness/result/SessionStopResult.html", type:"class", deprecated:"false" },
- { id:298, label:"com.google.android.gms.fitness.service", link:"reference/com/google/android/gms/fitness/service/package-summary.html", type:"package", deprecated:"false" },
- { id:299, label:"com.google.android.gms.fitness.service.FitnessSensorService", link:"reference/com/google/android/gms/fitness/service/FitnessSensorService.html", type:"class", deprecated:"false" },
- { id:300, label:"com.google.android.gms.fitness.service.FitnessSensorServiceRequest", link:"reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html", type:"class", deprecated:"false" },
- { id:301, label:"com.google.android.gms.fitness.service.SensorEventDispatcher", link:"reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html", type:"class", deprecated:"false" },
- { id:302, label:"com.google.android.gms.games", link:"reference/com/google/android/gms/games/package-summary.html", type:"package", deprecated:"false" },
- { id:303, label:"com.google.android.gms.games.Game", link:"reference/com/google/android/gms/games/Game.html", type:"class", deprecated:"false" },
- { id:304, label:"com.google.android.gms.games.GameBuffer", link:"reference/com/google/android/gms/games/GameBuffer.html", type:"class", deprecated:"false" },
- { id:305, label:"com.google.android.gms.games.GameEntity", link:"reference/com/google/android/gms/games/GameEntity.html", type:"class", deprecated:"false" },
- { id:306, label:"com.google.android.gms.games.Games", link:"reference/com/google/android/gms/games/Games.html", type:"class", deprecated:"false" },
- { id:307, label:"com.google.android.gms.games.Games.GamesOptions", link:"reference/com/google/android/gms/games/Games.GamesOptions.html", type:"class", deprecated:"false" },
- { id:308, label:"com.google.android.gms.games.Games.GamesOptions.Builder", link:"reference/com/google/android/gms/games/Games.GamesOptions.Builder.html", type:"class", deprecated:"false" },
- { id:309, label:"com.google.android.gms.games.GamesActivityResultCodes", link:"reference/com/google/android/gms/games/GamesActivityResultCodes.html", type:"class", deprecated:"false" },
- { id:310, label:"com.google.android.gms.games.GamesMetadata", link:"reference/com/google/android/gms/games/GamesMetadata.html", type:"class", deprecated:"false" },
- { id:311, label:"com.google.android.gms.games.GamesMetadata.LoadGamesResult", link:"reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html", type:"class", deprecated:"false" },
- { id:312, label:"com.google.android.gms.games.GamesStatusCodes", link:"reference/com/google/android/gms/games/GamesStatusCodes.html", type:"class", deprecated:"false" },
- { id:313, label:"com.google.android.gms.games.Notifications", link:"reference/com/google/android/gms/games/Notifications.html", type:"class", deprecated:"false" },
- { id:314, label:"com.google.android.gms.games.PageDirection", link:"reference/com/google/android/gms/games/PageDirection.html", type:"class", deprecated:"false" },
- { id:315, label:"com.google.android.gms.games.Player", link:"reference/com/google/android/gms/games/Player.html", type:"class", deprecated:"false" },
- { id:316, label:"com.google.android.gms.games.PlayerBuffer", link:"reference/com/google/android/gms/games/PlayerBuffer.html", type:"class", deprecated:"false" },
- { id:317, label:"com.google.android.gms.games.PlayerEntity", link:"reference/com/google/android/gms/games/PlayerEntity.html", type:"class", deprecated:"false" },
- { id:318, label:"com.google.android.gms.games.PlayerLevel", link:"reference/com/google/android/gms/games/PlayerLevel.html", type:"class", deprecated:"false" },
- { id:319, label:"com.google.android.gms.games.PlayerLevelInfo", link:"reference/com/google/android/gms/games/PlayerLevelInfo.html", type:"class", deprecated:"false" },
- { id:320, label:"com.google.android.gms.games.Players", link:"reference/com/google/android/gms/games/Players.html", type:"class", deprecated:"false" },
- { id:321, label:"com.google.android.gms.games.Players.LoadPlayersResult", link:"reference/com/google/android/gms/games/Players.LoadPlayersResult.html", type:"class", deprecated:"false" },
- { id:322, label:"com.google.android.gms.games.Players.LoadProfileSettingsResult", link:"reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html", type:"class", deprecated:"false" },
- { id:323, label:"com.google.android.gms.games.achievement", link:"reference/com/google/android/gms/games/achievement/package-summary.html", type:"package", deprecated:"false" },
- { id:324, label:"com.google.android.gms.games.achievement.Achievement", link:"reference/com/google/android/gms/games/achievement/Achievement.html", type:"class", deprecated:"false" },
- { id:325, label:"com.google.android.gms.games.achievement.AchievementBuffer", link:"reference/com/google/android/gms/games/achievement/AchievementBuffer.html", type:"class", deprecated:"false" },
- { id:326, label:"com.google.android.gms.games.achievement.AchievementEntity", link:"reference/com/google/android/gms/games/achievement/AchievementEntity.html", type:"class", deprecated:"false" },
- { id:327, label:"com.google.android.gms.games.achievement.Achievements", link:"reference/com/google/android/gms/games/achievement/Achievements.html", type:"class", deprecated:"false" },
- { id:328, label:"com.google.android.gms.games.achievement.Achievements.LoadAchievementsResult", link:"reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html", type:"class", deprecated:"false" },
- { id:329, label:"com.google.android.gms.games.achievement.Achievements.UpdateAchievementResult", link:"reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html", type:"class", deprecated:"false" },
- { id:330, label:"com.google.android.gms.games.event", link:"reference/com/google/android/gms/games/event/package-summary.html", type:"package", deprecated:"false" },
- { id:331, label:"com.google.android.gms.games.event.Event", link:"reference/com/google/android/gms/games/event/Event.html", type:"class", deprecated:"false" },
- { id:332, label:"com.google.android.gms.games.event.EventBuffer", link:"reference/com/google/android/gms/games/event/EventBuffer.html", type:"class", deprecated:"false" },
- { id:333, label:"com.google.android.gms.games.event.EventEntity", link:"reference/com/google/android/gms/games/event/EventEntity.html", type:"class", deprecated:"false" },
- { id:334, label:"com.google.android.gms.games.event.Events", link:"reference/com/google/android/gms/games/event/Events.html", type:"class", deprecated:"false" },
- { id:335, label:"com.google.android.gms.games.event.Events.LoadEventsResult", link:"reference/com/google/android/gms/games/event/Events.LoadEventsResult.html", type:"class", deprecated:"false" },
- { id:336, label:"com.google.android.gms.games.leaderboard", link:"reference/com/google/android/gms/games/leaderboard/package-summary.html", type:"package", deprecated:"false" },
- { id:337, label:"com.google.android.gms.games.leaderboard.Leaderboard", link:"reference/com/google/android/gms/games/leaderboard/Leaderboard.html", type:"class", deprecated:"false" },
- { id:338, label:"com.google.android.gms.games.leaderboard.LeaderboardBuffer", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html", type:"class", deprecated:"false" },
- { id:339, label:"com.google.android.gms.games.leaderboard.LeaderboardScore", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html", type:"class", deprecated:"false" },
- { id:340, label:"com.google.android.gms.games.leaderboard.LeaderboardScoreBuffer", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html", type:"class", deprecated:"false" },
- { id:341, label:"com.google.android.gms.games.leaderboard.LeaderboardVariant", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html", type:"class", deprecated:"false" },
- { id:342, label:"com.google.android.gms.games.leaderboard.Leaderboards", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.html", type:"class", deprecated:"false" },
- { id:343, label:"com.google.android.gms.games.leaderboard.Leaderboards.LeaderboardMetadataResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html", type:"class", deprecated:"false" },
- { id:344, label:"com.google.android.gms.games.leaderboard.Leaderboards.LoadPlayerScoreResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html", type:"class", deprecated:"false" },
- { id:345, label:"com.google.android.gms.games.leaderboard.Leaderboards.LoadScoresResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html", type:"class", deprecated:"false" },
- { id:346, label:"com.google.android.gms.games.leaderboard.Leaderboards.SubmitScoreResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html", type:"class", deprecated:"false" },
- { id:347, label:"com.google.android.gms.games.leaderboard.ScoreSubmissionData", link:"reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html", type:"class", deprecated:"false" },
- { id:348, label:"com.google.android.gms.games.leaderboard.ScoreSubmissionData.Result", link:"reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html", type:"class", deprecated:"false" },
- { id:349, label:"com.google.android.gms.games.multiplayer", link:"reference/com/google/android/gms/games/multiplayer/package-summary.html", type:"package", deprecated:"false" },
- { id:350, label:"com.google.android.gms.games.multiplayer.Invitation", link:"reference/com/google/android/gms/games/multiplayer/Invitation.html", type:"class", deprecated:"false" },
- { id:351, label:"com.google.android.gms.games.multiplayer.InvitationBuffer", link:"reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html", type:"class", deprecated:"false" },
- { id:352, label:"com.google.android.gms.games.multiplayer.InvitationEntity", link:"reference/com/google/android/gms/games/multiplayer/InvitationEntity.html", type:"class", deprecated:"false" },
- { id:353, label:"com.google.android.gms.games.multiplayer.Invitations", link:"reference/com/google/android/gms/games/multiplayer/Invitations.html", type:"class", deprecated:"false" },
- { id:354, label:"com.google.android.gms.games.multiplayer.Invitations.LoadInvitationsResult", link:"reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html", type:"class", deprecated:"false" },
- { id:355, label:"com.google.android.gms.games.multiplayer.Multiplayer", link:"reference/com/google/android/gms/games/multiplayer/Multiplayer.html", type:"class", deprecated:"false" },
- { id:356, label:"com.google.android.gms.games.multiplayer.OnInvitationReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html", type:"class", deprecated:"false" },
- { id:357, label:"com.google.android.gms.games.multiplayer.Participant", link:"reference/com/google/android/gms/games/multiplayer/Participant.html", type:"class", deprecated:"false" },
- { id:358, label:"com.google.android.gms.games.multiplayer.ParticipantBuffer", link:"reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html", type:"class", deprecated:"false" },
- { id:359, label:"com.google.android.gms.games.multiplayer.ParticipantEntity", link:"reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html", type:"class", deprecated:"false" },
- { id:360, label:"com.google.android.gms.games.multiplayer.ParticipantResult", link:"reference/com/google/android/gms/games/multiplayer/ParticipantResult.html", type:"class", deprecated:"false" },
- { id:361, label:"com.google.android.gms.games.multiplayer.ParticipantUtils", link:"reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html", type:"class", deprecated:"false" },
- { id:362, label:"com.google.android.gms.games.multiplayer.Participatable", link:"reference/com/google/android/gms/games/multiplayer/Participatable.html", type:"class", deprecated:"false" },
- { id:363, label:"com.google.android.gms.games.multiplayer.realtime", link:"reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html", type:"package", deprecated:"false" },
- { id:364, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMessage", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html", type:"class", deprecated:"false" },
- { id:365, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMessageReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html", type:"class", deprecated:"false" },
- { id:366, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMultiplayer", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html", type:"class", deprecated:"false" },
- { id:367, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMultiplayer.ReliableMessageSentCallback", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html", type:"class", deprecated:"false" },
- { id:368, label:"com.google.android.gms.games.multiplayer.realtime.Room", link:"reference/com/google/android/gms/games/multiplayer/realtime/Room.html", type:"class", deprecated:"false" },
- { id:369, label:"com.google.android.gms.games.multiplayer.realtime.RoomConfig", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html", type:"class", deprecated:"false" },
- { id:370, label:"com.google.android.gms.games.multiplayer.realtime.RoomConfig.Builder", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html", type:"class", deprecated:"false" },
- { id:371, label:"com.google.android.gms.games.multiplayer.realtime.RoomEntity", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html", type:"class", deprecated:"false" },
- { id:372, label:"com.google.android.gms.games.multiplayer.realtime.RoomStatusUpdateListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html", type:"class", deprecated:"false" },
- { id:373, label:"com.google.android.gms.games.multiplayer.realtime.RoomUpdateListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html", type:"class", deprecated:"false" },
- { id:374, label:"com.google.android.gms.games.multiplayer.turnbased", link:"reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html", type:"package", deprecated:"false" },
- { id:375, label:"com.google.android.gms.games.multiplayer.turnbased.LoadMatchesResponse", link:"reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html", type:"class", deprecated:"false" },
- { id:376, label:"com.google.android.gms.games.multiplayer.turnbased.OnTurnBasedMatchUpdateReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html", type:"class", deprecated:"false" },
- { id:377, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatch", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html", type:"class", deprecated:"false" },
- { id:378, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchBuffer", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html", type:"class", deprecated:"false" },
- { id:379, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchConfig", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html", type:"class", deprecated:"false" },
- { id:380, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchConfig.Builder", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html", type:"class", deprecated:"false" },
- { id:381, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchEntity", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html", type:"class", deprecated:"false" },
- { id:382, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html", type:"class", deprecated:"false" },
- { id:383, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.CancelMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html", type:"class", deprecated:"false" },
- { id:384, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.InitiateMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html", type:"class", deprecated:"false" },
- { id:385, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LeaveMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html", type:"class", deprecated:"false" },
- { id:386, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LoadMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html", type:"class", deprecated:"false" },
- { id:387, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LoadMatchesResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html", type:"class", deprecated:"false" },
- { id:388, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.UpdateMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html", type:"class", deprecated:"false" },
- { id:389, label:"com.google.android.gms.games.quest", link:"reference/com/google/android/gms/games/quest/package-summary.html", type:"package", deprecated:"false" },
- { id:390, label:"com.google.android.gms.games.quest.Milestone", link:"reference/com/google/android/gms/games/quest/Milestone.html", type:"class", deprecated:"false" },
- { id:391, label:"com.google.android.gms.games.quest.MilestoneBuffer", link:"reference/com/google/android/gms/games/quest/MilestoneBuffer.html", type:"class", deprecated:"false" },
- { id:392, label:"com.google.android.gms.games.quest.MilestoneEntity", link:"reference/com/google/android/gms/games/quest/MilestoneEntity.html", type:"class", deprecated:"false" },
- { id:393, label:"com.google.android.gms.games.quest.Quest", link:"reference/com/google/android/gms/games/quest/Quest.html", type:"class", deprecated:"false" },
- { id:394, label:"com.google.android.gms.games.quest.QuestBuffer", link:"reference/com/google/android/gms/games/quest/QuestBuffer.html", type:"class", deprecated:"false" },
- { id:395, label:"com.google.android.gms.games.quest.QuestEntity", link:"reference/com/google/android/gms/games/quest/QuestEntity.html", type:"class", deprecated:"false" },
- { id:396, label:"com.google.android.gms.games.quest.QuestUpdateListener", link:"reference/com/google/android/gms/games/quest/QuestUpdateListener.html", type:"class", deprecated:"false" },
- { id:397, label:"com.google.android.gms.games.quest.Quests", link:"reference/com/google/android/gms/games/quest/Quests.html", type:"class", deprecated:"false" },
- { id:398, label:"com.google.android.gms.games.quest.Quests.AcceptQuestResult", link:"reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html", type:"class", deprecated:"false" },
- { id:399, label:"com.google.android.gms.games.quest.Quests.ClaimMilestoneResult", link:"reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html", type:"class", deprecated:"false" },
- { id:400, label:"com.google.android.gms.games.quest.Quests.LoadQuestsResult", link:"reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html", type:"class", deprecated:"false" },
- { id:401, label:"com.google.android.gms.games.request", link:"reference/com/google/android/gms/games/request/package-summary.html", type:"package", deprecated:"false" },
- { id:402, label:"com.google.android.gms.games.request.GameRequest", link:"reference/com/google/android/gms/games/request/GameRequest.html", type:"class", deprecated:"false" },
- { id:403, label:"com.google.android.gms.games.request.GameRequestBuffer", link:"reference/com/google/android/gms/games/request/GameRequestBuffer.html", type:"class", deprecated:"false" },
- { id:404, label:"com.google.android.gms.games.request.GameRequestEntity", link:"reference/com/google/android/gms/games/request/GameRequestEntity.html", type:"class", deprecated:"false" },
- { id:405, label:"com.google.android.gms.games.request.OnRequestReceivedListener", link:"reference/com/google/android/gms/games/request/OnRequestReceivedListener.html", type:"class", deprecated:"false" },
- { id:406, label:"com.google.android.gms.games.request.Requests", link:"reference/com/google/android/gms/games/request/Requests.html", type:"class", deprecated:"false" },
- { id:407, label:"com.google.android.gms.games.request.Requests.LoadRequestsResult", link:"reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html", type:"class", deprecated:"false" },
- { id:408, label:"com.google.android.gms.games.request.Requests.UpdateRequestsResult", link:"reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html", type:"class", deprecated:"false" },
- { id:409, label:"com.google.android.gms.games.snapshot", link:"reference/com/google/android/gms/games/snapshot/package-summary.html", type:"package", deprecated:"false" },
- { id:410, label:"com.google.android.gms.games.snapshot.Snapshot", link:"reference/com/google/android/gms/games/snapshot/Snapshot.html", type:"class", deprecated:"false" },
- { id:411, label:"com.google.android.gms.games.snapshot.SnapshotContents", link:"reference/com/google/android/gms/games/snapshot/SnapshotContents.html", type:"class", deprecated:"false" },
- { id:412, label:"com.google.android.gms.games.snapshot.SnapshotEntity", link:"reference/com/google/android/gms/games/snapshot/SnapshotEntity.html", type:"class", deprecated:"false" },
- { id:413, label:"com.google.android.gms.games.snapshot.SnapshotMetadata", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html", type:"class", deprecated:"false" },
- { id:414, label:"com.google.android.gms.games.snapshot.SnapshotMetadataBuffer", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html", type:"class", deprecated:"false" },
- { id:415, label:"com.google.android.gms.games.snapshot.SnapshotMetadataChange", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html", type:"class", deprecated:"false" },
- { id:416, label:"com.google.android.gms.games.snapshot.SnapshotMetadataChange.Builder", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html", type:"class", deprecated:"false" },
- { id:417, label:"com.google.android.gms.games.snapshot.SnapshotMetadataEntity", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html", type:"class", deprecated:"false" },
- { id:418, label:"com.google.android.gms.games.snapshot.Snapshots", link:"reference/com/google/android/gms/games/snapshot/Snapshots.html", type:"class", deprecated:"false" },
- { id:419, label:"com.google.android.gms.games.snapshot.Snapshots.CommitSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html", type:"class", deprecated:"false" },
- { id:420, label:"com.google.android.gms.games.snapshot.Snapshots.DeleteSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html", type:"class", deprecated:"false" },
- { id:421, label:"com.google.android.gms.games.snapshot.Snapshots.LoadSnapshotsResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html", type:"class", deprecated:"false" },
- { id:422, label:"com.google.android.gms.games.snapshot.Snapshots.OpenSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html", type:"class", deprecated:"false" },
- { id:423, label:"com.google.android.gms.gcm", link:"reference/com/google/android/gms/gcm/package-summary.html", type:"package", deprecated:"false" },
- { id:424, label:"com.google.android.gms.gcm.GoogleCloudMessaging", link:"reference/com/google/android/gms/gcm/GoogleCloudMessaging.html", type:"class", deprecated:"false" },
- { id:425, label:"com.google.android.gms.identity.intents", link:"reference/com/google/android/gms/identity/intents/package-summary.html", type:"package", deprecated:"false" },
- { id:426, label:"com.google.android.gms.identity.intents.Address", link:"reference/com/google/android/gms/identity/intents/Address.html", type:"class", deprecated:"false" },
- { id:427, label:"com.google.android.gms.identity.intents.Address.AddressOptions", link:"reference/com/google/android/gms/identity/intents/Address.AddressOptions.html", type:"class", deprecated:"false" },
- { id:428, label:"com.google.android.gms.identity.intents.AddressConstants", link:"reference/com/google/android/gms/identity/intents/AddressConstants.html", type:"class", deprecated:"false" },
- { id:429, label:"com.google.android.gms.identity.intents.AddressConstants.ErrorCodes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html", type:"class", deprecated:"false" },
- { id:430, label:"com.google.android.gms.identity.intents.AddressConstants.Extras", link:"reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html", type:"class", deprecated:"false" },
- { id:431, label:"com.google.android.gms.identity.intents.AddressConstants.ResultCodes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html", type:"class", deprecated:"false" },
- { id:432, label:"com.google.android.gms.identity.intents.AddressConstants.Themes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html", type:"class", deprecated:"false" },
- { id:433, label:"com.google.android.gms.identity.intents.UserAddressRequest", link:"reference/com/google/android/gms/identity/intents/UserAddressRequest.html", type:"class", deprecated:"false" },
- { id:434, label:"com.google.android.gms.identity.intents.UserAddressRequest.Builder", link:"reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html", type:"class", deprecated:"false" },
- { id:435, label:"com.google.android.gms.identity.intents.model", link:"reference/com/google/android/gms/identity/intents/model/package-summary.html", type:"package", deprecated:"false" },
- { id:436, label:"com.google.android.gms.identity.intents.model.CountrySpecification", link:"reference/com/google/android/gms/identity/intents/model/CountrySpecification.html", type:"class", deprecated:"false" },
- { id:437, label:"com.google.android.gms.identity.intents.model.UserAddress", link:"reference/com/google/android/gms/identity/intents/model/UserAddress.html", type:"class", deprecated:"false" },
- { id:438, label:"com.google.android.gms.location", link:"reference/com/google/android/gms/location/package-summary.html", type:"package", deprecated:"false" },
- { id:439, label:"com.google.android.gms.location.ActivityRecognition", link:"reference/com/google/android/gms/location/ActivityRecognition.html", type:"class", deprecated:"false" },
- { id:440, label:"com.google.android.gms.location.ActivityRecognitionApi", link:"reference/com/google/android/gms/location/ActivityRecognitionApi.html", type:"class", deprecated:"false" },
- { id:441, label:"com.google.android.gms.location.ActivityRecognitionResult", link:"reference/com/google/android/gms/location/ActivityRecognitionResult.html", type:"class", deprecated:"false" },
- { id:442, label:"com.google.android.gms.location.DetectedActivity", link:"reference/com/google/android/gms/location/DetectedActivity.html", type:"class", deprecated:"false" },
- { id:443, label:"com.google.android.gms.location.FusedLocationProviderApi", link:"reference/com/google/android/gms/location/FusedLocationProviderApi.html", type:"class", deprecated:"false" },
- { id:444, label:"com.google.android.gms.location.Geofence", link:"reference/com/google/android/gms/location/Geofence.html", type:"class", deprecated:"false" },
- { id:445, label:"com.google.android.gms.location.Geofence.Builder", link:"reference/com/google/android/gms/location/Geofence.Builder.html", type:"class", deprecated:"false" },
- { id:446, label:"com.google.android.gms.location.GeofenceStatusCodes", link:"reference/com/google/android/gms/location/GeofenceStatusCodes.html", type:"class", deprecated:"false" },
- { id:447, label:"com.google.android.gms.location.GeofencingApi", link:"reference/com/google/android/gms/location/GeofencingApi.html", type:"class", deprecated:"false" },
- { id:448, label:"com.google.android.gms.location.GeofencingEvent", link:"reference/com/google/android/gms/location/GeofencingEvent.html", type:"class", deprecated:"false" },
- { id:449, label:"com.google.android.gms.location.GeofencingRequest", link:"reference/com/google/android/gms/location/GeofencingRequest.html", type:"class", deprecated:"false" },
- { id:450, label:"com.google.android.gms.location.GeofencingRequest.Builder", link:"reference/com/google/android/gms/location/GeofencingRequest.Builder.html", type:"class", deprecated:"false" },
- { id:451, label:"com.google.android.gms.location.LocationListener", link:"reference/com/google/android/gms/location/LocationListener.html", type:"class", deprecated:"false" },
- { id:452, label:"com.google.android.gms.location.LocationRequest", link:"reference/com/google/android/gms/location/LocationRequest.html", type:"class", deprecated:"false" },
- { id:453, label:"com.google.android.gms.location.LocationServices", link:"reference/com/google/android/gms/location/LocationServices.html", type:"class", deprecated:"false" },
- { id:454, label:"com.google.android.gms.location.LocationSettingsRequest", link:"reference/com/google/android/gms/location/LocationSettingsRequest.html", type:"class", deprecated:"false" },
- { id:455, label:"com.google.android.gms.location.LocationSettingsRequest.Builder", link:"reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html", type:"class", deprecated:"false" },
- { id:456, label:"com.google.android.gms.location.LocationSettingsResult", link:"reference/com/google/android/gms/location/LocationSettingsResult.html", type:"class", deprecated:"false" },
- { id:457, label:"com.google.android.gms.location.LocationSettingsStates", link:"reference/com/google/android/gms/location/LocationSettingsStates.html", type:"class", deprecated:"false" },
- { id:458, label:"com.google.android.gms.location.LocationSettingsStatusCodes", link:"reference/com/google/android/gms/location/LocationSettingsStatusCodes.html", type:"class", deprecated:"false" },
- { id:459, label:"com.google.android.gms.location.LocationStatusCodes", link:"reference/com/google/android/gms/location/LocationStatusCodes.html", type:"class", deprecated:"true" },
- { id:460, label:"com.google.android.gms.location.SettingsApi", link:"reference/com/google/android/gms/location/SettingsApi.html", type:"class", deprecated:"false" },
- { id:461, label:"com.google.android.gms.location.places", link:"reference/com/google/android/gms/location/places/package-summary.html", type:"package", deprecated:"false" },
- { id:462, label:"com.google.android.gms.location.places.AddPlaceRequest", link:"reference/com/google/android/gms/location/places/AddPlaceRequest.html", type:"class", deprecated:"false" },
- { id:463, label:"com.google.android.gms.location.places.AutocompleteFilter", link:"reference/com/google/android/gms/location/places/AutocompleteFilter.html", type:"class", deprecated:"false" },
- { id:464, label:"com.google.android.gms.location.places.AutocompletePrediction", link:"reference/com/google/android/gms/location/places/AutocompletePrediction.html", type:"class", deprecated:"false" },
- { id:465, label:"com.google.android.gms.location.places.AutocompletePrediction.Substring", link:"reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html", type:"class", deprecated:"false" },
- { id:466, label:"com.google.android.gms.location.places.AutocompletePredictionBuffer", link:"reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html", type:"class", deprecated:"false" },
- { id:467, label:"com.google.android.gms.location.places.GeoDataApi", link:"reference/com/google/android/gms/location/places/GeoDataApi.html", type:"class", deprecated:"false" },
- { id:468, label:"com.google.android.gms.location.places.Place", link:"reference/com/google/android/gms/location/places/Place.html", type:"class", deprecated:"false" },
- { id:469, label:"com.google.android.gms.location.places.PlaceBuffer", link:"reference/com/google/android/gms/location/places/PlaceBuffer.html", type:"class", deprecated:"false" },
- { id:470, label:"com.google.android.gms.location.places.PlaceDetectionApi", link:"reference/com/google/android/gms/location/places/PlaceDetectionApi.html", type:"class", deprecated:"false" },
- { id:471, label:"com.google.android.gms.location.places.PlaceFilter", link:"reference/com/google/android/gms/location/places/PlaceFilter.html", type:"class", deprecated:"false" },
- { id:472, label:"com.google.android.gms.location.places.PlaceLikelihood", link:"reference/com/google/android/gms/location/places/PlaceLikelihood.html", type:"class", deprecated:"false" },
- { id:473, label:"com.google.android.gms.location.places.PlaceLikelihoodBuffer", link:"reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html", type:"class", deprecated:"false" },
- { id:474, label:"com.google.android.gms.location.places.PlaceReport", link:"reference/com/google/android/gms/location/places/PlaceReport.html", type:"class", deprecated:"false" },
- { id:475, label:"com.google.android.gms.location.places.PlaceTypes", link:"reference/com/google/android/gms/location/places/PlaceTypes.html", type:"class", deprecated:"false" },
- { id:476, label:"com.google.android.gms.location.places.Places", link:"reference/com/google/android/gms/location/places/Places.html", type:"class", deprecated:"false" },
- { id:477, label:"com.google.android.gms.location.places.PlacesOptions", link:"reference/com/google/android/gms/location/places/PlacesOptions.html", type:"class", deprecated:"false" },
- { id:478, label:"com.google.android.gms.location.places.PlacesOptions.Builder", link:"reference/com/google/android/gms/location/places/PlacesOptions.Builder.html", type:"class", deprecated:"false" },
- { id:479, label:"com.google.android.gms.location.places.PlacesStatusCodes", link:"reference/com/google/android/gms/location/places/PlacesStatusCodes.html", type:"class", deprecated:"false" },
- { id:480, label:"com.google.android.gms.location.places.ui", link:"reference/com/google/android/gms/location/places/ui/package-summary.html", type:"package", deprecated:"false" },
- { id:481, label:"com.google.android.gms.location.places.ui.PlacePicker", link:"reference/com/google/android/gms/location/places/ui/PlacePicker.html", type:"class", deprecated:"false" },
- { id:482, label:"com.google.android.gms.location.places.ui.PlacePicker.IntentBuilder", link:"reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html", type:"class", deprecated:"false" },
- { id:483, label:"com.google.android.gms.maps", link:"reference/com/google/android/gms/maps/package-summary.html", type:"package", deprecated:"false" },
- { id:484, label:"com.google.android.gms.maps.CameraUpdate", link:"reference/com/google/android/gms/maps/CameraUpdate.html", type:"class", deprecated:"false" },
- { id:485, label:"com.google.android.gms.maps.CameraUpdateFactory", link:"reference/com/google/android/gms/maps/CameraUpdateFactory.html", type:"class", deprecated:"false" },
- { id:486, label:"com.google.android.gms.maps.GoogleMap", link:"reference/com/google/android/gms/maps/GoogleMap.html", type:"class", deprecated:"false" },
- { id:487, label:"com.google.android.gms.maps.GoogleMap.CancelableCallback", link:"reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html", type:"class", deprecated:"false" },
- { id:488, label:"com.google.android.gms.maps.GoogleMap.InfoWindowAdapter", link:"reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html", type:"class", deprecated:"false" },
- { id:489, label:"com.google.android.gms.maps.GoogleMap.OnCameraChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html", type:"class", deprecated:"false" },
- { id:490, label:"com.google.android.gms.maps.GoogleMap.OnIndoorStateChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html", type:"class", deprecated:"false" },
- { id:491, label:"com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html", type:"class", deprecated:"false" },
- { id:492, label:"com.google.android.gms.maps.GoogleMap.OnMapClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html", type:"class", deprecated:"false" },
- { id:493, label:"com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html", type:"class", deprecated:"false" },
- { id:494, label:"com.google.android.gms.maps.GoogleMap.OnMapLongClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html", type:"class", deprecated:"false" },
- { id:495, label:"com.google.android.gms.maps.GoogleMap.OnMarkerClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html", type:"class", deprecated:"false" },
- { id:496, label:"com.google.android.gms.maps.GoogleMap.OnMarkerDragListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html", type:"class", deprecated:"false" },
- { id:497, label:"com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html", type:"class", deprecated:"false" },
- { id:498, label:"com.google.android.gms.maps.GoogleMap.OnMyLocationChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html", type:"class", deprecated:"true" },
- { id:499, label:"com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback", link:"reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html", type:"class", deprecated:"false" },
- { id:500, label:"com.google.android.gms.maps.GoogleMapOptions", link:"reference/com/google/android/gms/maps/GoogleMapOptions.html", type:"class", deprecated:"false" },
- { id:501, label:"com.google.android.gms.maps.LocationSource", link:"reference/com/google/android/gms/maps/LocationSource.html", type:"class", deprecated:"false" },
- { id:502, label:"com.google.android.gms.maps.LocationSource.OnLocationChangedListener", link:"reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html", type:"class", deprecated:"false" },
- { id:503, label:"com.google.android.gms.maps.MapFragment", link:"reference/com/google/android/gms/maps/MapFragment.html", type:"class", deprecated:"false" },
- { id:504, label:"com.google.android.gms.maps.MapView", link:"reference/com/google/android/gms/maps/MapView.html", type:"class", deprecated:"false" },
- { id:505, label:"com.google.android.gms.maps.MapsInitializer", link:"reference/com/google/android/gms/maps/MapsInitializer.html", type:"class", deprecated:"false" },
- { id:506, label:"com.google.android.gms.maps.OnMapReadyCallback", link:"reference/com/google/android/gms/maps/OnMapReadyCallback.html", type:"class", deprecated:"false" },
- { id:507, label:"com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback", link:"reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html", type:"class", deprecated:"false" },
- { id:508, label:"com.google.android.gms.maps.Projection", link:"reference/com/google/android/gms/maps/Projection.html", type:"class", deprecated:"false" },
- { id:509, label:"com.google.android.gms.maps.StreetViewPanorama", link:"reference/com/google/android/gms/maps/StreetViewPanorama.html", type:"class", deprecated:"false" },
- { id:510, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html", type:"class", deprecated:"false" },
- { id:511, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaChangeListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html", type:"class", deprecated:"false" },
- { id:512, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaClickListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html", type:"class", deprecated:"false" },
- { id:513, label:"com.google.android.gms.maps.StreetViewPanoramaFragment", link:"reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html", type:"class", deprecated:"false" },
- { id:514, label:"com.google.android.gms.maps.StreetViewPanoramaOptions", link:"reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html", type:"class", deprecated:"false" },
- { id:515, label:"com.google.android.gms.maps.StreetViewPanoramaView", link:"reference/com/google/android/gms/maps/StreetViewPanoramaView.html", type:"class", deprecated:"false" },
- { id:516, label:"com.google.android.gms.maps.SupportMapFragment", link:"reference/com/google/android/gms/maps/SupportMapFragment.html", type:"class", deprecated:"false" },
- { id:517, label:"com.google.android.gms.maps.SupportStreetViewPanoramaFragment", link:"reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html", type:"class", deprecated:"false" },
- { id:518, label:"com.google.android.gms.maps.UiSettings", link:"reference/com/google/android/gms/maps/UiSettings.html", type:"class", deprecated:"false" },
- { id:519, label:"com.google.android.gms.maps.model", link:"reference/com/google/android/gms/maps/model/package-summary.html", type:"package", deprecated:"false" },
- { id:520, label:"com.google.android.gms.maps.model.BitmapDescriptor", link:"reference/com/google/android/gms/maps/model/BitmapDescriptor.html", type:"class", deprecated:"false" },
- { id:521, label:"com.google.android.gms.maps.model.BitmapDescriptorFactory", link:"reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html", type:"class", deprecated:"false" },
- { id:522, label:"com.google.android.gms.maps.model.CameraPosition", link:"reference/com/google/android/gms/maps/model/CameraPosition.html", type:"class", deprecated:"false" },
- { id:523, label:"com.google.android.gms.maps.model.CameraPosition.Builder", link:"reference/com/google/android/gms/maps/model/CameraPosition.Builder.html", type:"class", deprecated:"false" },
- { id:524, label:"com.google.android.gms.maps.model.Circle", link:"reference/com/google/android/gms/maps/model/Circle.html", type:"class", deprecated:"false" },
- { id:525, label:"com.google.android.gms.maps.model.CircleOptions", link:"reference/com/google/android/gms/maps/model/CircleOptions.html", type:"class", deprecated:"false" },
- { id:526, label:"com.google.android.gms.maps.model.GroundOverlay", link:"reference/com/google/android/gms/maps/model/GroundOverlay.html", type:"class", deprecated:"false" },
- { id:527, label:"com.google.android.gms.maps.model.GroundOverlayOptions", link:"reference/com/google/android/gms/maps/model/GroundOverlayOptions.html", type:"class", deprecated:"false" },
- { id:528, label:"com.google.android.gms.maps.model.IndoorBuilding", link:"reference/com/google/android/gms/maps/model/IndoorBuilding.html", type:"class", deprecated:"false" },
- { id:529, label:"com.google.android.gms.maps.model.IndoorLevel", link:"reference/com/google/android/gms/maps/model/IndoorLevel.html", type:"class", deprecated:"false" },
- { id:530, label:"com.google.android.gms.maps.model.LatLng", link:"reference/com/google/android/gms/maps/model/LatLng.html", type:"class", deprecated:"false" },
- { id:531, label:"com.google.android.gms.maps.model.LatLngBounds", link:"reference/com/google/android/gms/maps/model/LatLngBounds.html", type:"class", deprecated:"false" },
- { id:532, label:"com.google.android.gms.maps.model.LatLngBounds.Builder", link:"reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html", type:"class", deprecated:"false" },
- { id:533, label:"com.google.android.gms.maps.model.Marker", link:"reference/com/google/android/gms/maps/model/Marker.html", type:"class", deprecated:"false" },
- { id:534, label:"com.google.android.gms.maps.model.MarkerOptions", link:"reference/com/google/android/gms/maps/model/MarkerOptions.html", type:"class", deprecated:"false" },
- { id:535, label:"com.google.android.gms.maps.model.Polygon", link:"reference/com/google/android/gms/maps/model/Polygon.html", type:"class", deprecated:"false" },
- { id:536, label:"com.google.android.gms.maps.model.PolygonOptions", link:"reference/com/google/android/gms/maps/model/PolygonOptions.html", type:"class", deprecated:"false" },
- { id:537, label:"com.google.android.gms.maps.model.Polyline", link:"reference/com/google/android/gms/maps/model/Polyline.html", type:"class", deprecated:"false" },
- { id:538, label:"com.google.android.gms.maps.model.PolylineOptions", link:"reference/com/google/android/gms/maps/model/PolylineOptions.html", type:"class", deprecated:"false" },
- { id:539, label:"com.google.android.gms.maps.model.RuntimeRemoteException", link:"reference/com/google/android/gms/maps/model/RuntimeRemoteException.html", type:"class", deprecated:"false" },
- { id:540, label:"com.google.android.gms.maps.model.StreetViewPanoramaCamera", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html", type:"class", deprecated:"false" },
- { id:541, label:"com.google.android.gms.maps.model.StreetViewPanoramaCamera.Builder", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html", type:"class", deprecated:"false" },
- { id:542, label:"com.google.android.gms.maps.model.StreetViewPanoramaLink", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html", type:"class", deprecated:"false" },
- { id:543, label:"com.google.android.gms.maps.model.StreetViewPanoramaLocation", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html", type:"class", deprecated:"false" },
- { id:544, label:"com.google.android.gms.maps.model.StreetViewPanoramaOrientation", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html", type:"class", deprecated:"false" },
- { id:545, label:"com.google.android.gms.maps.model.StreetViewPanoramaOrientation.Builder", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html", type:"class", deprecated:"false" },
- { id:546, label:"com.google.android.gms.maps.model.Tile", link:"reference/com/google/android/gms/maps/model/Tile.html", type:"class", deprecated:"false" },
- { id:547, label:"com.google.android.gms.maps.model.TileOverlay", link:"reference/com/google/android/gms/maps/model/TileOverlay.html", type:"class", deprecated:"false" },
- { id:548, label:"com.google.android.gms.maps.model.TileOverlayOptions", link:"reference/com/google/android/gms/maps/model/TileOverlayOptions.html", type:"class", deprecated:"false" },
- { id:549, label:"com.google.android.gms.maps.model.TileProvider", link:"reference/com/google/android/gms/maps/model/TileProvider.html", type:"class", deprecated:"false" },
- { id:550, label:"com.google.android.gms.maps.model.UrlTileProvider", link:"reference/com/google/android/gms/maps/model/UrlTileProvider.html", type:"class", deprecated:"false" },
- { id:551, label:"com.google.android.gms.maps.model.VisibleRegion", link:"reference/com/google/android/gms/maps/model/VisibleRegion.html", type:"class", deprecated:"false" },
- { id:552, label:"com.google.android.gms.nearby", link:"reference/com/google/android/gms/nearby/package-summary.html", type:"package", deprecated:"false" },
- { id:553, label:"com.google.android.gms.nearby.Nearby", link:"reference/com/google/android/gms/nearby/Nearby.html", type:"class", deprecated:"false" },
- { id:554, label:"com.google.android.gms.nearby.connection", link:"reference/com/google/android/gms/nearby/connection/package-summary.html", type:"package", deprecated:"false" },
- { id:555, label:"com.google.android.gms.nearby.connection.AppIdentifier", link:"reference/com/google/android/gms/nearby/connection/AppIdentifier.html", type:"class", deprecated:"false" },
- { id:556, label:"com.google.android.gms.nearby.connection.AppMetadata", link:"reference/com/google/android/gms/nearby/connection/AppMetadata.html", type:"class", deprecated:"false" },
- { id:557, label:"com.google.android.gms.nearby.connection.Connections", link:"reference/com/google/android/gms/nearby/connection/Connections.html", type:"class", deprecated:"false" },
- { id:558, label:"com.google.android.gms.nearby.connection.Connections.ConnectionRequestListener", link:"reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html", type:"class", deprecated:"false" },
- { id:559, label:"com.google.android.gms.nearby.connection.Connections.ConnectionResponseCallback", link:"reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html", type:"class", deprecated:"false" },
- { id:560, label:"com.google.android.gms.nearby.connection.Connections.EndpointDiscoveryListener", link:"reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html", type:"class", deprecated:"false" },
- { id:561, label:"com.google.android.gms.nearby.connection.Connections.MessageListener", link:"reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html", type:"class", deprecated:"false" },
- { id:562, label:"com.google.android.gms.nearby.connection.Connections.StartAdvertisingResult", link:"reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html", type:"class", deprecated:"false" },
- { id:563, label:"com.google.android.gms.nearby.connection.ConnectionsStatusCodes", link:"reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html", type:"class", deprecated:"false" },
- { id:564, label:"com.google.android.gms.panorama", link:"reference/com/google/android/gms/panorama/package-summary.html", type:"package", deprecated:"false" },
- { id:565, label:"com.google.android.gms.panorama.Panorama", link:"reference/com/google/android/gms/panorama/Panorama.html", type:"class", deprecated:"false" },
- { id:566, label:"com.google.android.gms.panorama.PanoramaApi", link:"reference/com/google/android/gms/panorama/PanoramaApi.html", type:"class", deprecated:"false" },
- { id:567, label:"com.google.android.gms.panorama.PanoramaApi.PanoramaResult", link:"reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html", type:"class", deprecated:"false" },
- { id:568, label:"com.google.android.gms.plus", link:"reference/com/google/android/gms/plus/package-summary.html", type:"package", deprecated:"false" },
- { id:569, label:"com.google.android.gms.plus.Account", link:"reference/com/google/android/gms/plus/Account.html", type:"class", deprecated:"false" },
- { id:570, label:"com.google.android.gms.plus.Moments", link:"reference/com/google/android/gms/plus/Moments.html", type:"class", deprecated:"false" },
- { id:571, label:"com.google.android.gms.plus.Moments.LoadMomentsResult", link:"reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html", type:"class", deprecated:"false" },
- { id:572, label:"com.google.android.gms.plus.People", link:"reference/com/google/android/gms/plus/People.html", type:"class", deprecated:"false" },
- { id:573, label:"com.google.android.gms.plus.People.LoadPeopleResult", link:"reference/com/google/android/gms/plus/People.LoadPeopleResult.html", type:"class", deprecated:"false" },
- { id:574, label:"com.google.android.gms.plus.People.OrderBy", link:"reference/com/google/android/gms/plus/People.OrderBy.html", type:"class", deprecated:"false" },
- { id:575, label:"com.google.android.gms.plus.Plus", link:"reference/com/google/android/gms/plus/Plus.html", type:"class", deprecated:"false" },
- { id:576, label:"com.google.android.gms.plus.Plus.PlusOptions", link:"reference/com/google/android/gms/plus/Plus.PlusOptions.html", type:"class", deprecated:"false" },
- { id:577, label:"com.google.android.gms.plus.Plus.PlusOptions.Builder", link:"reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html", type:"class", deprecated:"false" },
- { id:578, label:"com.google.android.gms.plus.PlusOneButton", link:"reference/com/google/android/gms/plus/PlusOneButton.html", type:"class", deprecated:"false" },
- { id:579, label:"com.google.android.gms.plus.PlusOneButton.DefaultOnPlusOneClickListener", link:"reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html", type:"class", deprecated:"false" },
- { id:580, label:"com.google.android.gms.plus.PlusOneButton.OnPlusOneClickListener", link:"reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html", type:"class", deprecated:"false" },
- { id:581, label:"com.google.android.gms.plus.PlusOneDummyView", link:"reference/com/google/android/gms/plus/PlusOneDummyView.html", type:"class", deprecated:"false" },
- { id:582, label:"com.google.android.gms.plus.PlusShare", link:"reference/com/google/android/gms/plus/PlusShare.html", type:"class", deprecated:"false" },
- { id:583, label:"com.google.android.gms.plus.PlusShare.Builder", link:"reference/com/google/android/gms/plus/PlusShare.Builder.html", type:"class", deprecated:"false" },
- { id:584, label:"com.google.android.gms.plus.model.moments", link:"reference/com/google/android/gms/plus/model/moments/package-summary.html", type:"package", deprecated:"false" },
- { id:585, label:"com.google.android.gms.plus.model.moments.ItemScope", link:"reference/com/google/android/gms/plus/model/moments/ItemScope.html", type:"class", deprecated:"false" },
- { id:586, label:"com.google.android.gms.plus.model.moments.ItemScope.Builder", link:"reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html", type:"class", deprecated:"false" },
- { id:587, label:"com.google.android.gms.plus.model.moments.Moment", link:"reference/com/google/android/gms/plus/model/moments/Moment.html", type:"class", deprecated:"false" },
- { id:588, label:"com.google.android.gms.plus.model.moments.Moment.Builder", link:"reference/com/google/android/gms/plus/model/moments/Moment.Builder.html", type:"class", deprecated:"false" },
- { id:589, label:"com.google.android.gms.plus.model.moments.MomentBuffer", link:"reference/com/google/android/gms/plus/model/moments/MomentBuffer.html", type:"class", deprecated:"false" },
- { id:590, label:"com.google.android.gms.plus.model.people", link:"reference/com/google/android/gms/plus/model/people/package-summary.html", type:"package", deprecated:"false" },
- { id:591, label:"com.google.android.gms.plus.model.people.Person", link:"reference/com/google/android/gms/plus/model/people/Person.html", type:"class", deprecated:"false" },
- { id:592, label:"com.google.android.gms.plus.model.people.Person.AgeRange", link:"reference/com/google/android/gms/plus/model/people/Person.AgeRange.html", type:"class", deprecated:"false" },
- { id:593, label:"com.google.android.gms.plus.model.people.Person.Cover", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.html", type:"class", deprecated:"false" },
- { id:594, label:"com.google.android.gms.plus.model.people.Person.Cover.CoverInfo", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html", type:"class", deprecated:"false" },
- { id:595, label:"com.google.android.gms.plus.model.people.Person.Cover.CoverPhoto", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html", type:"class", deprecated:"false" },
- { id:596, label:"com.google.android.gms.plus.model.people.Person.Cover.Layout", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html", type:"class", deprecated:"false" },
- { id:597, label:"com.google.android.gms.plus.model.people.Person.Gender", link:"reference/com/google/android/gms/plus/model/people/Person.Gender.html", type:"class", deprecated:"false" },
- { id:598, label:"com.google.android.gms.plus.model.people.Person.Image", link:"reference/com/google/android/gms/plus/model/people/Person.Image.html", type:"class", deprecated:"false" },
- { id:599, label:"com.google.android.gms.plus.model.people.Person.Name", link:"reference/com/google/android/gms/plus/model/people/Person.Name.html", type:"class", deprecated:"false" },
- { id:600, label:"com.google.android.gms.plus.model.people.Person.ObjectType", link:"reference/com/google/android/gms/plus/model/people/Person.ObjectType.html", type:"class", deprecated:"false" },
- { id:601, label:"com.google.android.gms.plus.model.people.Person.Organizations", link:"reference/com/google/android/gms/plus/model/people/Person.Organizations.html", type:"class", deprecated:"false" },
- { id:602, label:"com.google.android.gms.plus.model.people.Person.Organizations.Type", link:"reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html", type:"class", deprecated:"false" },
- { id:603, label:"com.google.android.gms.plus.model.people.Person.PlacesLived", link:"reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html", type:"class", deprecated:"false" },
- { id:604, label:"com.google.android.gms.plus.model.people.Person.RelationshipStatus", link:"reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html", type:"class", deprecated:"false" },
- { id:605, label:"com.google.android.gms.plus.model.people.Person.Urls", link:"reference/com/google/android/gms/plus/model/people/Person.Urls.html", type:"class", deprecated:"false" },
- { id:606, label:"com.google.android.gms.plus.model.people.Person.Urls.Type", link:"reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html", type:"class", deprecated:"false" },
- { id:607, label:"com.google.android.gms.plus.model.people.PersonBuffer", link:"reference/com/google/android/gms/plus/model/people/PersonBuffer.html", type:"class", deprecated:"false" },
- { id:608, label:"com.google.android.gms.safetynet", link:"reference/com/google/android/gms/safetynet/package-summary.html", type:"package", deprecated:"false" },
- { id:609, label:"com.google.android.gms.safetynet.SafetyNet", link:"reference/com/google/android/gms/safetynet/SafetyNet.html", type:"class", deprecated:"false" },
- { id:610, label:"com.google.android.gms.safetynet.SafetyNetApi", link:"reference/com/google/android/gms/safetynet/SafetyNetApi.html", type:"class", deprecated:"false" },
- { id:611, label:"com.google.android.gms.safetynet.SafetyNetApi.AttestationResult", link:"reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html", type:"class", deprecated:"false" },
- { id:612, label:"com.google.android.gms.security", link:"reference/com/google/android/gms/security/package-summary.html", type:"package", deprecated:"false" },
- { id:613, label:"com.google.android.gms.security.ProviderInstaller", link:"reference/com/google/android/gms/security/ProviderInstaller.html", type:"class", deprecated:"false" },
- { id:614, label:"com.google.android.gms.security.ProviderInstaller.ProviderInstallListener", link:"reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html", type:"class", deprecated:"false" },
- { id:615, label:"com.google.android.gms.tagmanager", link:"reference/com/google/android/gms/tagmanager/package-summary.html", type:"package", deprecated:"false" },
- { id:616, label:"com.google.android.gms.tagmanager.Container", link:"reference/com/google/android/gms/tagmanager/Container.html", type:"class", deprecated:"false" },
- { id:617, label:"com.google.android.gms.tagmanager.Container.FunctionCallMacroCallback", link:"reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html", type:"class", deprecated:"false" },
- { id:618, label:"com.google.android.gms.tagmanager.Container.FunctionCallTagCallback", link:"reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html", type:"class", deprecated:"false" },
- { id:619, label:"com.google.android.gms.tagmanager.ContainerHolder", link:"reference/com/google/android/gms/tagmanager/ContainerHolder.html", type:"class", deprecated:"false" },
- { id:620, label:"com.google.android.gms.tagmanager.ContainerHolder.ContainerAvailableListener", link:"reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html", type:"class", deprecated:"false" },
- { id:621, label:"com.google.android.gms.tagmanager.DataLayer", link:"reference/com/google/android/gms/tagmanager/DataLayer.html", type:"class", deprecated:"false" },
- { id:622, label:"com.google.android.gms.tagmanager.InstallReferrerReceiver", link:"reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html", type:"class", deprecated:"false" },
- { id:623, label:"com.google.android.gms.tagmanager.InstallReferrerService", link:"reference/com/google/android/gms/tagmanager/InstallReferrerService.html", type:"class", deprecated:"false" },
- { id:624, label:"com.google.android.gms.tagmanager.PreviewActivity", link:"reference/com/google/android/gms/tagmanager/PreviewActivity.html", type:"class", deprecated:"false" },
- { id:625, label:"com.google.android.gms.tagmanager.TagManager", link:"reference/com/google/android/gms/tagmanager/TagManager.html", type:"class", deprecated:"false" },
- { id:626, label:"com.google.android.gms.wallet", link:"reference/com/google/android/gms/wallet/package-summary.html", type:"package", deprecated:"false" },
- { id:627, label:"com.google.android.gms.wallet.Address", link:"reference/com/google/android/gms/wallet/Address.html", type:"class", deprecated:"true" },
- { id:628, label:"com.google.android.gms.wallet.Cart", link:"reference/com/google/android/gms/wallet/Cart.html", type:"class", deprecated:"false" },
- { id:629, label:"com.google.android.gms.wallet.Cart.Builder", link:"reference/com/google/android/gms/wallet/Cart.Builder.html", type:"class", deprecated:"false" },
- { id:630, label:"com.google.android.gms.wallet.CountrySpecification", link:"reference/com/google/android/gms/wallet/CountrySpecification.html", type:"class", deprecated:"true" },
- { id:631, label:"com.google.android.gms.wallet.EnableWalletOptimizationReceiver", link:"reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html", type:"class", deprecated:"false" },
- { id:632, label:"com.google.android.gms.wallet.FullWallet", link:"reference/com/google/android/gms/wallet/FullWallet.html", type:"class", deprecated:"false" },
- { id:633, label:"com.google.android.gms.wallet.FullWalletRequest", link:"reference/com/google/android/gms/wallet/FullWalletRequest.html", type:"class", deprecated:"false" },
- { id:634, label:"com.google.android.gms.wallet.FullWalletRequest.Builder", link:"reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html", type:"class", deprecated:"false" },
- { id:635, label:"com.google.android.gms.wallet.GiftCardWalletObject", link:"reference/com/google/android/gms/wallet/GiftCardWalletObject.html", type:"class", deprecated:"false" },
- { id:636, label:"com.google.android.gms.wallet.InstrumentInfo", link:"reference/com/google/android/gms/wallet/InstrumentInfo.html", type:"class", deprecated:"false" },
- { id:637, label:"com.google.android.gms.wallet.LineItem", link:"reference/com/google/android/gms/wallet/LineItem.html", type:"class", deprecated:"false" },
- { id:638, label:"com.google.android.gms.wallet.LineItem.Builder", link:"reference/com/google/android/gms/wallet/LineItem.Builder.html", type:"class", deprecated:"false" },
- { id:639, label:"com.google.android.gms.wallet.LineItem.Role", link:"reference/com/google/android/gms/wallet/LineItem.Role.html", type:"class", deprecated:"false" },
- { id:640, label:"com.google.android.gms.wallet.LoyaltyWalletObject", link:"reference/com/google/android/gms/wallet/LoyaltyWalletObject.html", type:"class", deprecated:"false" },
- { id:641, label:"com.google.android.gms.wallet.MaskedWallet", link:"reference/com/google/android/gms/wallet/MaskedWallet.html", type:"class", deprecated:"false" },
- { id:642, label:"com.google.android.gms.wallet.MaskedWallet.Builder", link:"reference/com/google/android/gms/wallet/MaskedWallet.Builder.html", type:"class", deprecated:"false" },
- { id:643, label:"com.google.android.gms.wallet.MaskedWalletRequest", link:"reference/com/google/android/gms/wallet/MaskedWalletRequest.html", type:"class", deprecated:"false" },
- { id:644, label:"com.google.android.gms.wallet.MaskedWalletRequest.Builder", link:"reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html", type:"class", deprecated:"false" },
- { id:645, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html", type:"class", deprecated:"false" },
- { id:646, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Builder", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html", type:"class", deprecated:"false" },
- { id:647, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Status", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html", type:"class", deprecated:"false" },
- { id:648, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Status.Error", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html", type:"class", deprecated:"false" },
- { id:649, label:"com.google.android.gms.wallet.OfferWalletObject", link:"reference/com/google/android/gms/wallet/OfferWalletObject.html", type:"class", deprecated:"false" },
- { id:650, label:"com.google.android.gms.wallet.PaymentInstrumentType", link:"reference/com/google/android/gms/wallet/PaymentInstrumentType.html", type:"class", deprecated:"false" },
- { id:651, label:"com.google.android.gms.wallet.Payments", link:"reference/com/google/android/gms/wallet/Payments.html", type:"class", deprecated:"false" },
- { id:652, label:"com.google.android.gms.wallet.ProxyCard", link:"reference/com/google/android/gms/wallet/ProxyCard.html", type:"class", deprecated:"false" },
- { id:653, label:"com.google.android.gms.wallet.Wallet", link:"reference/com/google/android/gms/wallet/Wallet.html", type:"class", deprecated:"false" },
- { id:654, label:"com.google.android.gms.wallet.Wallet.WalletOptions", link:"reference/com/google/android/gms/wallet/Wallet.WalletOptions.html", type:"class", deprecated:"false" },
- { id:655, label:"com.google.android.gms.wallet.Wallet.WalletOptions.Builder", link:"reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html", type:"class", deprecated:"false" },
- { id:656, label:"com.google.android.gms.wallet.WalletConstants", link:"reference/com/google/android/gms/wallet/WalletConstants.html", type:"class", deprecated:"false" },
- { id:657, label:"com.google.android.gms.wallet.fragment", link:"reference/com/google/android/gms/wallet/fragment/package-summary.html", type:"package", deprecated:"false" },
- { id:658, label:"com.google.android.gms.wallet.fragment.BuyButtonAppearance", link:"reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html", type:"class", deprecated:"false" },
- { id:659, label:"com.google.android.gms.wallet.fragment.BuyButtonText", link:"reference/com/google/android/gms/wallet/fragment/BuyButtonText.html", type:"class", deprecated:"false" },
- { id:660, label:"com.google.android.gms.wallet.fragment.Dimension", link:"reference/com/google/android/gms/wallet/fragment/Dimension.html", type:"class", deprecated:"false" },
- { id:661, label:"com.google.android.gms.wallet.fragment.SupportWalletFragment", link:"reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html", type:"class", deprecated:"false" },
- { id:662, label:"com.google.android.gms.wallet.fragment.SupportWalletFragment.OnStateChangedListener", link:"reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html", type:"class", deprecated:"false" },
- { id:663, label:"com.google.android.gms.wallet.fragment.WalletFragment", link:"reference/com/google/android/gms/wallet/fragment/WalletFragment.html", type:"class", deprecated:"false" },
- { id:664, label:"com.google.android.gms.wallet.fragment.WalletFragment.OnStateChangedListener", link:"reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html", type:"class", deprecated:"false" },
- { id:665, label:"com.google.android.gms.wallet.fragment.WalletFragmentInitParams", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html", type:"class", deprecated:"false" },
- { id:666, label:"com.google.android.gms.wallet.fragment.WalletFragmentInitParams.Builder", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html", type:"class", deprecated:"false" },
- { id:667, label:"com.google.android.gms.wallet.fragment.WalletFragmentMode", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html", type:"class", deprecated:"false" },
- { id:668, label:"com.google.android.gms.wallet.fragment.WalletFragmentOptions", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html", type:"class", deprecated:"false" },
- { id:669, label:"com.google.android.gms.wallet.fragment.WalletFragmentOptions.Builder", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html", type:"class", deprecated:"false" },
- { id:670, label:"com.google.android.gms.wallet.fragment.WalletFragmentState", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html", type:"class", deprecated:"false" },
- { id:671, label:"com.google.android.gms.wallet.fragment.WalletFragmentStyle", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html", type:"class", deprecated:"false" },
- { id:672, label:"com.google.android.gms.wallet.fragment.WalletLogoImageType", link:"reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html", type:"class", deprecated:"false" },
- { id:673, label:"com.google.android.gms.wearable", link:"reference/com/google/android/gms/wearable/package-summary.html", type:"package", deprecated:"false" },
- { id:674, label:"com.google.android.gms.wearable.Asset", link:"reference/com/google/android/gms/wearable/Asset.html", type:"class", deprecated:"false" },
- { id:675, label:"com.google.android.gms.wearable.DataApi", link:"reference/com/google/android/gms/wearable/DataApi.html", type:"class", deprecated:"false" },
- { id:676, label:"com.google.android.gms.wearable.DataApi.DataItemResult", link:"reference/com/google/android/gms/wearable/DataApi.DataItemResult.html", type:"class", deprecated:"false" },
- { id:677, label:"com.google.android.gms.wearable.DataApi.DataListener", link:"reference/com/google/android/gms/wearable/DataApi.DataListener.html", type:"class", deprecated:"false" },
- { id:678, label:"com.google.android.gms.wearable.DataApi.DeleteDataItemsResult", link:"reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html", type:"class", deprecated:"false" },
- { id:679, label:"com.google.android.gms.wearable.DataApi.GetFdForAssetResult", link:"reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html", type:"class", deprecated:"false" },
- { id:680, label:"com.google.android.gms.wearable.DataEvent", link:"reference/com/google/android/gms/wearable/DataEvent.html", type:"class", deprecated:"false" },
- { id:681, label:"com.google.android.gms.wearable.DataEventBuffer", link:"reference/com/google/android/gms/wearable/DataEventBuffer.html", type:"class", deprecated:"false" },
- { id:682, label:"com.google.android.gms.wearable.DataItem", link:"reference/com/google/android/gms/wearable/DataItem.html", type:"class", deprecated:"false" },
- { id:683, label:"com.google.android.gms.wearable.DataItemAsset", link:"reference/com/google/android/gms/wearable/DataItemAsset.html", type:"class", deprecated:"false" },
- { id:684, label:"com.google.android.gms.wearable.DataItemBuffer", link:"reference/com/google/android/gms/wearable/DataItemBuffer.html", type:"class", deprecated:"false" },
- { id:685, label:"com.google.android.gms.wearable.DataMap", link:"reference/com/google/android/gms/wearable/DataMap.html", type:"class", deprecated:"false" },
- { id:686, label:"com.google.android.gms.wearable.DataMapItem", link:"reference/com/google/android/gms/wearable/DataMapItem.html", type:"class", deprecated:"false" },
- { id:687, label:"com.google.android.gms.wearable.MessageApi", link:"reference/com/google/android/gms/wearable/MessageApi.html", type:"class", deprecated:"false" },
- { id:688, label:"com.google.android.gms.wearable.MessageApi.MessageListener", link:"reference/com/google/android/gms/wearable/MessageApi.MessageListener.html", type:"class", deprecated:"false" },
- { id:689, label:"com.google.android.gms.wearable.MessageApi.SendMessageResult", link:"reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html", type:"class", deprecated:"false" },
- { id:690, label:"com.google.android.gms.wearable.MessageEvent", link:"reference/com/google/android/gms/wearable/MessageEvent.html", type:"class", deprecated:"false" },
- { id:691, label:"com.google.android.gms.wearable.Node", link:"reference/com/google/android/gms/wearable/Node.html", type:"class", deprecated:"false" },
- { id:692, label:"com.google.android.gms.wearable.NodeApi", link:"reference/com/google/android/gms/wearable/NodeApi.html", type:"class", deprecated:"false" },
- { id:693, label:"com.google.android.gms.wearable.NodeApi.GetConnectedNodesResult", link:"reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html", type:"class", deprecated:"false" },
- { id:694, label:"com.google.android.gms.wearable.NodeApi.GetLocalNodeResult", link:"reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html", type:"class", deprecated:"false" },
- { id:695, label:"com.google.android.gms.wearable.NodeApi.NodeListener", link:"reference/com/google/android/gms/wearable/NodeApi.NodeListener.html", type:"class", deprecated:"false" },
- { id:696, label:"com.google.android.gms.wearable.PutDataMapRequest", link:"reference/com/google/android/gms/wearable/PutDataMapRequest.html", type:"class", deprecated:"false" },
- { id:697, label:"com.google.android.gms.wearable.PutDataRequest", link:"reference/com/google/android/gms/wearable/PutDataRequest.html", type:"class", deprecated:"false" },
- { id:698, label:"com.google.android.gms.wearable.Wearable", link:"reference/com/google/android/gms/wearable/Wearable.html", type:"class", deprecated:"false" },
- { id:699, label:"com.google.android.gms.wearable.Wearable.WearableOptions", link:"reference/com/google/android/gms/wearable/Wearable.WearableOptions.html", type:"class", deprecated:"false" },
- { id:700, label:"com.google.android.gms.wearable.Wearable.WearableOptions.Builder", link:"reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html", type:"class", deprecated:"false" },
- { id:701, label:"com.google.android.gms.wearable.WearableListenerService", link:"reference/com/google/android/gms/wearable/WearableListenerService.html", type:"class", deprecated:"false" },
- { id:702, label:"com.google.android.gms.wearable.WearableStatusCodes", link:"reference/com/google/android/gms/wearable/WearableStatusCodes.html", type:"class", deprecated:"false" }
+ { id:145, label:"com.google.android.gms.common.GoogleApiAvailability", link:"reference/com/google/android/gms/common/GoogleApiAvailability.html", type:"class", deprecated:"false" },
+ { id:146, label:"com.google.android.gms.common.GooglePlayServicesNotAvailableException", link:"reference/com/google/android/gms/common/GooglePlayServicesNotAvailableException.html", type:"class", deprecated:"false" },
+ { id:147, label:"com.google.android.gms.common.GooglePlayServicesRepairableException", link:"reference/com/google/android/gms/common/GooglePlayServicesRepairableException.html", type:"class", deprecated:"false" },
+ { id:148, label:"com.google.android.gms.common.GooglePlayServicesUtil", link:"reference/com/google/android/gms/common/GooglePlayServicesUtil.html", type:"class", deprecated:"false" },
+ { id:149, label:"com.google.android.gms.common.Scopes", link:"reference/com/google/android/gms/common/Scopes.html", type:"class", deprecated:"false" },
+ { id:150, label:"com.google.android.gms.common.SignInButton", link:"reference/com/google/android/gms/common/SignInButton.html", type:"class", deprecated:"false" },
+ { id:151, label:"com.google.android.gms.common.SupportErrorDialogFragment", link:"reference/com/google/android/gms/common/SupportErrorDialogFragment.html", type:"class", deprecated:"false" },
+ { id:152, label:"com.google.android.gms.common.UserRecoverableException", link:"reference/com/google/android/gms/common/UserRecoverableException.html", type:"class", deprecated:"false" },
+ { id:153, label:"com.google.android.gms.common.annotation", link:"reference/com/google/android/gms/common/annotation/package-summary.html", type:"package", deprecated:"false" },
+ { id:154, label:"com.google.android.gms.common.annotation.KeepName", link:"reference/com/google/android/gms/common/annotation/KeepName.html", type:"class", deprecated:"false" },
+ { id:155, label:"com.google.android.gms.common.api", link:"reference/com/google/android/gms/common/api/package-summary.html", type:"package", deprecated:"false" },
+ { id:156, label:"com.google.android.gms.common.api.Api", link:"reference/com/google/android/gms/common/api/Api.html", type:"class", deprecated:"false" },
+ { id:157, label:"com.google.android.gms.common.api.Api.ApiOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.html", type:"class", deprecated:"false" },
+ { id:158, label:"com.google.android.gms.common.api.Api.ApiOptions.HasOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.HasOptions.html", type:"class", deprecated:"false" },
+ { id:159, label:"com.google.android.gms.common.api.Api.ApiOptions.NoOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.NoOptions.html", type:"class", deprecated:"false" },
+ { id:160, label:"com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.NotRequiredOptions.html", type:"class", deprecated:"false" },
+ { id:161, label:"com.google.android.gms.common.api.Api.ApiOptions.Optional", link:"reference/com/google/android/gms/common/api/Api.ApiOptions.Optional.html", type:"class", deprecated:"false" },
+ { id:162, label:"com.google.android.gms.common.api.Batch", link:"reference/com/google/android/gms/common/api/Batch.html", type:"class", deprecated:"false" },
+ { id:163, label:"com.google.android.gms.common.api.Batch.Builder", link:"reference/com/google/android/gms/common/api/Batch.Builder.html", type:"class", deprecated:"false" },
+ { id:164, label:"com.google.android.gms.common.api.BatchResult", link:"reference/com/google/android/gms/common/api/BatchResult.html", type:"class", deprecated:"false" },
+ { id:165, label:"com.google.android.gms.common.api.BatchResultToken", link:"reference/com/google/android/gms/common/api/BatchResultToken.html", type:"class", deprecated:"false" },
+ { id:166, label:"com.google.android.gms.common.api.CommonStatusCodes", link:"reference/com/google/android/gms/common/api/CommonStatusCodes.html", type:"class", deprecated:"false" },
+ { id:167, label:"com.google.android.gms.common.api.GoogleApiClient", link:"reference/com/google/android/gms/common/api/GoogleApiClient.html", type:"class", deprecated:"false" },
+ { id:168, label:"com.google.android.gms.common.api.GoogleApiClient.Builder", link:"reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html", type:"class", deprecated:"false" },
+ { id:169, label:"com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html", type:"class", deprecated:"false" },
+ { id:170, label:"com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener", link:"reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener.html", type:"class", deprecated:"false" },
+ { id:171, label:"com.google.android.gms.common.api.GoogleApiClient.ServerAuthCodeCallbacks", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.html", type:"class", deprecated:"false" },
+ { id:172, label:"com.google.android.gms.common.api.GoogleApiClient.ServerAuthCodeCallbacks.CheckResult", link:"reference/com/google/android/gms/common/api/GoogleApiClient.ServerAuthCodeCallbacks.CheckResult.html", type:"class", deprecated:"false" },
+ { id:173, label:"com.google.android.gms.common.api.PendingResult", link:"reference/com/google/android/gms/common/api/PendingResult.html", type:"class", deprecated:"false" },
+ { id:174, label:"com.google.android.gms.common.api.PendingResults", link:"reference/com/google/android/gms/common/api/PendingResults.html", type:"class", deprecated:"false" },
+ { id:175, label:"com.google.android.gms.common.api.Releasable", link:"reference/com/google/android/gms/common/api/Releasable.html", type:"class", deprecated:"false" },
+ { id:176, label:"com.google.android.gms.common.api.Result", link:"reference/com/google/android/gms/common/api/Result.html", type:"class", deprecated:"false" },
+ { id:177, label:"com.google.android.gms.common.api.ResultCallback", link:"reference/com/google/android/gms/common/api/ResultCallback.html", type:"class", deprecated:"false" },
+ { id:178, label:"com.google.android.gms.common.api.Scope", link:"reference/com/google/android/gms/common/api/Scope.html", type:"class", deprecated:"false" },
+ { id:179, label:"com.google.android.gms.common.api.Status", link:"reference/com/google/android/gms/common/api/Status.html", type:"class", deprecated:"false" },
+ { id:180, label:"com.google.android.gms.common.data", link:"reference/com/google/android/gms/common/data/package-summary.html", type:"package", deprecated:"false" },
+ { id:181, label:"com.google.android.gms.common.data.AbstractDataBuffer", link:"reference/com/google/android/gms/common/data/AbstractDataBuffer.html", type:"class", deprecated:"false" },
+ { id:182, label:"com.google.android.gms.common.data.DataBuffer", link:"reference/com/google/android/gms/common/data/DataBuffer.html", type:"class", deprecated:"false" },
+ { id:183, label:"com.google.android.gms.common.data.DataBufferObserver", link:"reference/com/google/android/gms/common/data/DataBufferObserver.html", type:"class", deprecated:"false" },
+ { id:184, label:"com.google.android.gms.common.data.DataBufferObserver.Observable", link:"reference/com/google/android/gms/common/data/DataBufferObserver.Observable.html", type:"class", deprecated:"false" },
+ { id:185, label:"com.google.android.gms.common.data.DataBufferObserverSet", link:"reference/com/google/android/gms/common/data/DataBufferObserverSet.html", type:"class", deprecated:"false" },
+ { id:186, label:"com.google.android.gms.common.data.DataBufferUtils", link:"reference/com/google/android/gms/common/data/DataBufferUtils.html", type:"class", deprecated:"false" },
+ { id:187, label:"com.google.android.gms.common.data.Freezable", link:"reference/com/google/android/gms/common/data/Freezable.html", type:"class", deprecated:"false" },
+ { id:188, label:"com.google.android.gms.common.data.FreezableUtils", link:"reference/com/google/android/gms/common/data/FreezableUtils.html", type:"class", deprecated:"false" },
+ { id:189, label:"com.google.android.gms.common.images", link:"reference/com/google/android/gms/common/images/package-summary.html", type:"package", deprecated:"false" },
+ { id:190, label:"com.google.android.gms.common.images.ImageManager", link:"reference/com/google/android/gms/common/images/ImageManager.html", type:"class", deprecated:"false" },
+ { id:191, label:"com.google.android.gms.common.images.ImageManager.OnImageLoadedListener", link:"reference/com/google/android/gms/common/images/ImageManager.OnImageLoadedListener.html", type:"class", deprecated:"false" },
+ { id:192, label:"com.google.android.gms.common.images.WebImage", link:"reference/com/google/android/gms/common/images/WebImage.html", type:"class", deprecated:"false" },
+ { id:193, label:"com.google.android.gms.drive", link:"reference/com/google/android/gms/drive/package-summary.html", type:"package", deprecated:"false" },
+ { id:194, label:"com.google.android.gms.drive.CreateFileActivityBuilder", link:"reference/com/google/android/gms/drive/CreateFileActivityBuilder.html", type:"class", deprecated:"false" },
+ { id:195, label:"com.google.android.gms.drive.Drive", link:"reference/com/google/android/gms/drive/Drive.html", type:"class", deprecated:"false" },
+ { id:196, label:"com.google.android.gms.drive.DriveApi", link:"reference/com/google/android/gms/drive/DriveApi.html", type:"class", deprecated:"false" },
+ { id:197, label:"com.google.android.gms.drive.DriveApi.DriveContentsResult", link:"reference/com/google/android/gms/drive/DriveApi.DriveContentsResult.html", type:"class", deprecated:"false" },
+ { id:198, label:"com.google.android.gms.drive.DriveApi.DriveIdResult", link:"reference/com/google/android/gms/drive/DriveApi.DriveIdResult.html", type:"class", deprecated:"false" },
+ { id:199, label:"com.google.android.gms.drive.DriveApi.MetadataBufferResult", link:"reference/com/google/android/gms/drive/DriveApi.MetadataBufferResult.html", type:"class", deprecated:"false" },
+ { id:200, label:"com.google.android.gms.drive.DriveContents", link:"reference/com/google/android/gms/drive/DriveContents.html", type:"class", deprecated:"false" },
+ { id:201, label:"com.google.android.gms.drive.DriveFile", link:"reference/com/google/android/gms/drive/DriveFile.html", type:"class", deprecated:"false" },
+ { id:202, label:"com.google.android.gms.drive.DriveFile.DownloadProgressListener", link:"reference/com/google/android/gms/drive/DriveFile.DownloadProgressListener.html", type:"class", deprecated:"false" },
+ { id:203, label:"com.google.android.gms.drive.DriveFolder", link:"reference/com/google/android/gms/drive/DriveFolder.html", type:"class", deprecated:"false" },
+ { id:204, label:"com.google.android.gms.drive.DriveFolder.DriveFileResult", link:"reference/com/google/android/gms/drive/DriveFolder.DriveFileResult.html", type:"class", deprecated:"false" },
+ { id:205, label:"com.google.android.gms.drive.DriveFolder.DriveFolderResult", link:"reference/com/google/android/gms/drive/DriveFolder.DriveFolderResult.html", type:"class", deprecated:"false" },
+ { id:206, label:"com.google.android.gms.drive.DriveId", link:"reference/com/google/android/gms/drive/DriveId.html", type:"class", deprecated:"false" },
+ { id:207, label:"com.google.android.gms.drive.DrivePreferencesApi", link:"reference/com/google/android/gms/drive/DrivePreferencesApi.html", type:"class", deprecated:"false" },
+ { id:208, label:"com.google.android.gms.drive.DrivePreferencesApi.FileUploadPreferencesResult", link:"reference/com/google/android/gms/drive/DrivePreferencesApi.FileUploadPreferencesResult.html", type:"class", deprecated:"false" },
+ { id:209, label:"com.google.android.gms.drive.DriveResource", link:"reference/com/google/android/gms/drive/DriveResource.html", type:"class", deprecated:"false" },
+ { id:210, label:"com.google.android.gms.drive.DriveResource.MetadataResult", link:"reference/com/google/android/gms/drive/DriveResource.MetadataResult.html", type:"class", deprecated:"false" },
+ { id:211, label:"com.google.android.gms.drive.DriveStatusCodes", link:"reference/com/google/android/gms/drive/DriveStatusCodes.html", type:"class", deprecated:"false" },
+ { id:212, label:"com.google.android.gms.drive.ExecutionOptions", link:"reference/com/google/android/gms/drive/ExecutionOptions.html", type:"class", deprecated:"false" },
+ { id:213, label:"com.google.android.gms.drive.ExecutionOptions.Builder", link:"reference/com/google/android/gms/drive/ExecutionOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:214, label:"com.google.android.gms.drive.FileUploadPreferences", link:"reference/com/google/android/gms/drive/FileUploadPreferences.html", type:"class", deprecated:"false" },
+ { id:215, label:"com.google.android.gms.drive.Metadata", link:"reference/com/google/android/gms/drive/Metadata.html", type:"class", deprecated:"false" },
+ { id:216, label:"com.google.android.gms.drive.MetadataBuffer", link:"reference/com/google/android/gms/drive/MetadataBuffer.html", type:"class", deprecated:"false" },
+ { id:217, label:"com.google.android.gms.drive.MetadataChangeSet", link:"reference/com/google/android/gms/drive/MetadataChangeSet.html", type:"class", deprecated:"false" },
+ { id:218, label:"com.google.android.gms.drive.MetadataChangeSet.Builder", link:"reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html", type:"class", deprecated:"false" },
+ { id:219, label:"com.google.android.gms.drive.OpenFileActivityBuilder", link:"reference/com/google/android/gms/drive/OpenFileActivityBuilder.html", type:"class", deprecated:"false" },
+ { id:220, label:"com.google.android.gms.drive.events", link:"reference/com/google/android/gms/drive/events/package-summary.html", type:"package", deprecated:"false" },
+ { id:221, label:"com.google.android.gms.drive.events.ChangeEvent", link:"reference/com/google/android/gms/drive/events/ChangeEvent.html", type:"class", deprecated:"false" },
+ { id:222, label:"com.google.android.gms.drive.events.ChangeListener", link:"reference/com/google/android/gms/drive/events/ChangeListener.html", type:"class", deprecated:"false" },
+ { id:223, label:"com.google.android.gms.drive.events.CompletionEvent", link:"reference/com/google/android/gms/drive/events/CompletionEvent.html", type:"class", deprecated:"false" },
+ { id:224, label:"com.google.android.gms.drive.events.CompletionListener", link:"reference/com/google/android/gms/drive/events/CompletionListener.html", type:"class", deprecated:"false" },
+ { id:225, label:"com.google.android.gms.drive.events.DriveEvent", link:"reference/com/google/android/gms/drive/events/DriveEvent.html", type:"class", deprecated:"false" },
+ { id:226, label:"com.google.android.gms.drive.events.DriveEventService", link:"reference/com/google/android/gms/drive/events/DriveEventService.html", type:"class", deprecated:"false" },
+ { id:227, label:"com.google.android.gms.drive.events.ResourceEvent", link:"reference/com/google/android/gms/drive/events/ResourceEvent.html", type:"class", deprecated:"false" },
+ { id:228, label:"com.google.android.gms.drive.metadata", link:"reference/com/google/android/gms/drive/metadata/package-summary.html", type:"package", deprecated:"false" },
+ { id:229, label:"com.google.android.gms.drive.metadata.CustomPropertyKey", link:"reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html", type:"class", deprecated:"false" },
+ { id:230, label:"com.google.android.gms.drive.metadata.MetadataField", link:"reference/com/google/android/gms/drive/metadata/MetadataField.html", type:"class", deprecated:"false" },
+ { id:231, label:"com.google.android.gms.drive.metadata.SearchableCollectionMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableCollectionMetadataField.html", type:"class", deprecated:"false" },
+ { id:232, label:"com.google.android.gms.drive.metadata.SearchableMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableMetadataField.html", type:"class", deprecated:"false" },
+ { id:233, label:"com.google.android.gms.drive.metadata.SearchableOrderedMetadataField", link:"reference/com/google/android/gms/drive/metadata/SearchableOrderedMetadataField.html", type:"class", deprecated:"false" },
+ { id:234, label:"com.google.android.gms.drive.metadata.SortableMetadataField", link:"reference/com/google/android/gms/drive/metadata/SortableMetadataField.html", type:"class", deprecated:"false" },
+ { id:235, label:"com.google.android.gms.drive.query", link:"reference/com/google/android/gms/drive/query/package-summary.html", type:"package", deprecated:"false" },
+ { id:236, label:"com.google.android.gms.drive.query.Filter", link:"reference/com/google/android/gms/drive/query/Filter.html", type:"class", deprecated:"false" },
+ { id:237, label:"com.google.android.gms.drive.query.Filters", link:"reference/com/google/android/gms/drive/query/Filters.html", type:"class", deprecated:"false" },
+ { id:238, label:"com.google.android.gms.drive.query.Query", link:"reference/com/google/android/gms/drive/query/Query.html", type:"class", deprecated:"false" },
+ { id:239, label:"com.google.android.gms.drive.query.Query.Builder", link:"reference/com/google/android/gms/drive/query/Query.Builder.html", type:"class", deprecated:"false" },
+ { id:240, label:"com.google.android.gms.drive.query.SearchableField", link:"reference/com/google/android/gms/drive/query/SearchableField.html", type:"class", deprecated:"false" },
+ { id:241, label:"com.google.android.gms.drive.query.SortOrder", link:"reference/com/google/android/gms/drive/query/SortOrder.html", type:"class", deprecated:"false" },
+ { id:242, label:"com.google.android.gms.drive.query.SortOrder.Builder", link:"reference/com/google/android/gms/drive/query/SortOrder.Builder.html", type:"class", deprecated:"false" },
+ { id:243, label:"com.google.android.gms.drive.query.SortableField", link:"reference/com/google/android/gms/drive/query/SortableField.html", type:"class", deprecated:"false" },
+ { id:244, label:"com.google.android.gms.drive.widget", link:"reference/com/google/android/gms/drive/widget/package-summary.html", type:"package", deprecated:"false" },
+ { id:245, label:"com.google.android.gms.drive.widget.DataBufferAdapter", link:"reference/com/google/android/gms/drive/widget/DataBufferAdapter.html", type:"class", deprecated:"false" },
+ { id:246, label:"com.google.android.gms.fitness", link:"reference/com/google/android/gms/fitness/package-summary.html", type:"package", deprecated:"false" },
+ { id:247, label:"com.google.android.gms.fitness.BleApi", link:"reference/com/google/android/gms/fitness/BleApi.html", type:"class", deprecated:"false" },
+ { id:248, label:"com.google.android.gms.fitness.ConfigApi", link:"reference/com/google/android/gms/fitness/ConfigApi.html", type:"class", deprecated:"false" },
+ { id:249, label:"com.google.android.gms.fitness.Fitness", link:"reference/com/google/android/gms/fitness/Fitness.html", type:"class", deprecated:"false" },
+ { id:250, label:"com.google.android.gms.fitness.FitnessActivities", link:"reference/com/google/android/gms/fitness/FitnessActivities.html", type:"class", deprecated:"false" },
+ { id:251, label:"com.google.android.gms.fitness.FitnessStatusCodes", link:"reference/com/google/android/gms/fitness/FitnessStatusCodes.html", type:"class", deprecated:"false" },
+ { id:252, label:"com.google.android.gms.fitness.HistoryApi", link:"reference/com/google/android/gms/fitness/HistoryApi.html", type:"class", deprecated:"false" },
+ { id:253, label:"com.google.android.gms.fitness.HistoryApi.ViewIntentBuilder", link:"reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html", type:"class", deprecated:"false" },
+ { id:254, label:"com.google.android.gms.fitness.RecordingApi", link:"reference/com/google/android/gms/fitness/RecordingApi.html", type:"class", deprecated:"false" },
+ { id:255, label:"com.google.android.gms.fitness.SensorsApi", link:"reference/com/google/android/gms/fitness/SensorsApi.html", type:"class", deprecated:"false" },
+ { id:256, label:"com.google.android.gms.fitness.SessionsApi", link:"reference/com/google/android/gms/fitness/SessionsApi.html", type:"class", deprecated:"false" },
+ { id:257, label:"com.google.android.gms.fitness.SessionsApi.ViewIntentBuilder", link:"reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html", type:"class", deprecated:"false" },
+ { id:258, label:"com.google.android.gms.fitness.data", link:"reference/com/google/android/gms/fitness/data/package-summary.html", type:"package", deprecated:"false" },
+ { id:259, label:"com.google.android.gms.fitness.data.BleDevice", link:"reference/com/google/android/gms/fitness/data/BleDevice.html", type:"class", deprecated:"false" },
+ { id:260, label:"com.google.android.gms.fitness.data.Bucket", link:"reference/com/google/android/gms/fitness/data/Bucket.html", type:"class", deprecated:"false" },
+ { id:261, label:"com.google.android.gms.fitness.data.DataPoint", link:"reference/com/google/android/gms/fitness/data/DataPoint.html", type:"class", deprecated:"false" },
+ { id:262, label:"com.google.android.gms.fitness.data.DataSet", link:"reference/com/google/android/gms/fitness/data/DataSet.html", type:"class", deprecated:"false" },
+ { id:263, label:"com.google.android.gms.fitness.data.DataSource", link:"reference/com/google/android/gms/fitness/data/DataSource.html", type:"class", deprecated:"false" },
+ { id:264, label:"com.google.android.gms.fitness.data.DataSource.Builder", link:"reference/com/google/android/gms/fitness/data/DataSource.Builder.html", type:"class", deprecated:"false" },
+ { id:265, label:"com.google.android.gms.fitness.data.DataType", link:"reference/com/google/android/gms/fitness/data/DataType.html", type:"class", deprecated:"false" },
+ { id:266, label:"com.google.android.gms.fitness.data.Device", link:"reference/com/google/android/gms/fitness/data/Device.html", type:"class", deprecated:"false" },
+ { id:267, label:"com.google.android.gms.fitness.data.Field", link:"reference/com/google/android/gms/fitness/data/Field.html", type:"class", deprecated:"false" },
+ { id:268, label:"com.google.android.gms.fitness.data.Session", link:"reference/com/google/android/gms/fitness/data/Session.html", type:"class", deprecated:"false" },
+ { id:269, label:"com.google.android.gms.fitness.data.Session.Builder", link:"reference/com/google/android/gms/fitness/data/Session.Builder.html", type:"class", deprecated:"false" },
+ { id:270, label:"com.google.android.gms.fitness.data.Subscription", link:"reference/com/google/android/gms/fitness/data/Subscription.html", type:"class", deprecated:"false" },
+ { id:271, label:"com.google.android.gms.fitness.data.Value", link:"reference/com/google/android/gms/fitness/data/Value.html", type:"class", deprecated:"false" },
+ { id:272, label:"com.google.android.gms.fitness.request", link:"reference/com/google/android/gms/fitness/request/package-summary.html", type:"package", deprecated:"false" },
+ { id:273, label:"com.google.android.gms.fitness.request.BleScanCallback", link:"reference/com/google/android/gms/fitness/request/BleScanCallback.html", type:"class", deprecated:"false" },
+ { id:274, label:"com.google.android.gms.fitness.request.DataDeleteRequest", link:"reference/com/google/android/gms/fitness/request/DataDeleteRequest.html", type:"class", deprecated:"false" },
+ { id:275, label:"com.google.android.gms.fitness.request.DataDeleteRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataDeleteRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:276, label:"com.google.android.gms.fitness.request.DataReadRequest", link:"reference/com/google/android/gms/fitness/request/DataReadRequest.html", type:"class", deprecated:"false" },
+ { id:277, label:"com.google.android.gms.fitness.request.DataReadRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataReadRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:278, label:"com.google.android.gms.fitness.request.DataSourcesRequest", link:"reference/com/google/android/gms/fitness/request/DataSourcesRequest.html", type:"class", deprecated:"false" },
+ { id:279, label:"com.google.android.gms.fitness.request.DataSourcesRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataSourcesRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:280, label:"com.google.android.gms.fitness.request.DataTypeCreateRequest", link:"reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.html", type:"class", deprecated:"false" },
+ { id:281, label:"com.google.android.gms.fitness.request.DataTypeCreateRequest.Builder", link:"reference/com/google/android/gms/fitness/request/DataTypeCreateRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:282, label:"com.google.android.gms.fitness.request.OnDataPointListener", link:"reference/com/google/android/gms/fitness/request/OnDataPointListener.html", type:"class", deprecated:"false" },
+ { id:283, label:"com.google.android.gms.fitness.request.SensorRequest", link:"reference/com/google/android/gms/fitness/request/SensorRequest.html", type:"class", deprecated:"false" },
+ { id:284, label:"com.google.android.gms.fitness.request.SensorRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:285, label:"com.google.android.gms.fitness.request.SessionInsertRequest", link:"reference/com/google/android/gms/fitness/request/SessionInsertRequest.html", type:"class", deprecated:"false" },
+ { id:286, label:"com.google.android.gms.fitness.request.SessionInsertRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SessionInsertRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:287, label:"com.google.android.gms.fitness.request.SessionReadRequest", link:"reference/com/google/android/gms/fitness/request/SessionReadRequest.html", type:"class", deprecated:"false" },
+ { id:288, label:"com.google.android.gms.fitness.request.SessionReadRequest.Builder", link:"reference/com/google/android/gms/fitness/request/SessionReadRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:289, label:"com.google.android.gms.fitness.request.StartBleScanRequest", link:"reference/com/google/android/gms/fitness/request/StartBleScanRequest.html", type:"class", deprecated:"false" },
+ { id:290, label:"com.google.android.gms.fitness.request.StartBleScanRequest.Builder", link:"reference/com/google/android/gms/fitness/request/StartBleScanRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:291, label:"com.google.android.gms.fitness.result", link:"reference/com/google/android/gms/fitness/result/package-summary.html", type:"package", deprecated:"false" },
+ { id:292, label:"com.google.android.gms.fitness.result.BleDevicesResult", link:"reference/com/google/android/gms/fitness/result/BleDevicesResult.html", type:"class", deprecated:"false" },
+ { id:293, label:"com.google.android.gms.fitness.result.DailyTotalResult", link:"reference/com/google/android/gms/fitness/result/DailyTotalResult.html", type:"class", deprecated:"false" },
+ { id:294, label:"com.google.android.gms.fitness.result.DataReadResult", link:"reference/com/google/android/gms/fitness/result/DataReadResult.html", type:"class", deprecated:"false" },
+ { id:295, label:"com.google.android.gms.fitness.result.DataSourcesResult", link:"reference/com/google/android/gms/fitness/result/DataSourcesResult.html", type:"class", deprecated:"false" },
+ { id:296, label:"com.google.android.gms.fitness.result.DataTypeResult", link:"reference/com/google/android/gms/fitness/result/DataTypeResult.html", type:"class", deprecated:"false" },
+ { id:297, label:"com.google.android.gms.fitness.result.ListSubscriptionsResult", link:"reference/com/google/android/gms/fitness/result/ListSubscriptionsResult.html", type:"class", deprecated:"false" },
+ { id:298, label:"com.google.android.gms.fitness.result.SessionReadResult", link:"reference/com/google/android/gms/fitness/result/SessionReadResult.html", type:"class", deprecated:"false" },
+ { id:299, label:"com.google.android.gms.fitness.result.SessionStopResult", link:"reference/com/google/android/gms/fitness/result/SessionStopResult.html", type:"class", deprecated:"false" },
+ { id:300, label:"com.google.android.gms.fitness.service", link:"reference/com/google/android/gms/fitness/service/package-summary.html", type:"package", deprecated:"false" },
+ { id:301, label:"com.google.android.gms.fitness.service.FitnessSensorService", link:"reference/com/google/android/gms/fitness/service/FitnessSensorService.html", type:"class", deprecated:"false" },
+ { id:302, label:"com.google.android.gms.fitness.service.FitnessSensorServiceRequest", link:"reference/com/google/android/gms/fitness/service/FitnessSensorServiceRequest.html", type:"class", deprecated:"false" },
+ { id:303, label:"com.google.android.gms.fitness.service.SensorEventDispatcher", link:"reference/com/google/android/gms/fitness/service/SensorEventDispatcher.html", type:"class", deprecated:"false" },
+ { id:304, label:"com.google.android.gms.games", link:"reference/com/google/android/gms/games/package-summary.html", type:"package", deprecated:"false" },
+ { id:305, label:"com.google.android.gms.games.Game", link:"reference/com/google/android/gms/games/Game.html", type:"class", deprecated:"false" },
+ { id:306, label:"com.google.android.gms.games.GameBuffer", link:"reference/com/google/android/gms/games/GameBuffer.html", type:"class", deprecated:"false" },
+ { id:307, label:"com.google.android.gms.games.GameEntity", link:"reference/com/google/android/gms/games/GameEntity.html", type:"class", deprecated:"false" },
+ { id:308, label:"com.google.android.gms.games.Games", link:"reference/com/google/android/gms/games/Games.html", type:"class", deprecated:"false" },
+ { id:309, label:"com.google.android.gms.games.Games.GamesOptions", link:"reference/com/google/android/gms/games/Games.GamesOptions.html", type:"class", deprecated:"false" },
+ { id:310, label:"com.google.android.gms.games.Games.GamesOptions.Builder", link:"reference/com/google/android/gms/games/Games.GamesOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:311, label:"com.google.android.gms.games.GamesActivityResultCodes", link:"reference/com/google/android/gms/games/GamesActivityResultCodes.html", type:"class", deprecated:"false" },
+ { id:312, label:"com.google.android.gms.games.GamesMetadata", link:"reference/com/google/android/gms/games/GamesMetadata.html", type:"class", deprecated:"false" },
+ { id:313, label:"com.google.android.gms.games.GamesMetadata.LoadGamesResult", link:"reference/com/google/android/gms/games/GamesMetadata.LoadGamesResult.html", type:"class", deprecated:"false" },
+ { id:314, label:"com.google.android.gms.games.GamesStatusCodes", link:"reference/com/google/android/gms/games/GamesStatusCodes.html", type:"class", deprecated:"false" },
+ { id:315, label:"com.google.android.gms.games.Notifications", link:"reference/com/google/android/gms/games/Notifications.html", type:"class", deprecated:"false" },
+ { id:316, label:"com.google.android.gms.games.PageDirection", link:"reference/com/google/android/gms/games/PageDirection.html", type:"class", deprecated:"false" },
+ { id:317, label:"com.google.android.gms.games.Player", link:"reference/com/google/android/gms/games/Player.html", type:"class", deprecated:"false" },
+ { id:318, label:"com.google.android.gms.games.PlayerBuffer", link:"reference/com/google/android/gms/games/PlayerBuffer.html", type:"class", deprecated:"false" },
+ { id:319, label:"com.google.android.gms.games.PlayerEntity", link:"reference/com/google/android/gms/games/PlayerEntity.html", type:"class", deprecated:"false" },
+ { id:320, label:"com.google.android.gms.games.PlayerLevel", link:"reference/com/google/android/gms/games/PlayerLevel.html", type:"class", deprecated:"false" },
+ { id:321, label:"com.google.android.gms.games.PlayerLevelInfo", link:"reference/com/google/android/gms/games/PlayerLevelInfo.html", type:"class", deprecated:"false" },
+ { id:322, label:"com.google.android.gms.games.Players", link:"reference/com/google/android/gms/games/Players.html", type:"class", deprecated:"false" },
+ { id:323, label:"com.google.android.gms.games.Players.LoadPlayersResult", link:"reference/com/google/android/gms/games/Players.LoadPlayersResult.html", type:"class", deprecated:"false" },
+ { id:324, label:"com.google.android.gms.games.Players.LoadProfileSettingsResult", link:"reference/com/google/android/gms/games/Players.LoadProfileSettingsResult.html", type:"class", deprecated:"false" },
+ { id:325, label:"com.google.android.gms.games.achievement", link:"reference/com/google/android/gms/games/achievement/package-summary.html", type:"package", deprecated:"false" },
+ { id:326, label:"com.google.android.gms.games.achievement.Achievement", link:"reference/com/google/android/gms/games/achievement/Achievement.html", type:"class", deprecated:"false" },
+ { id:327, label:"com.google.android.gms.games.achievement.AchievementBuffer", link:"reference/com/google/android/gms/games/achievement/AchievementBuffer.html", type:"class", deprecated:"false" },
+ { id:328, label:"com.google.android.gms.games.achievement.AchievementEntity", link:"reference/com/google/android/gms/games/achievement/AchievementEntity.html", type:"class", deprecated:"false" },
+ { id:329, label:"com.google.android.gms.games.achievement.Achievements", link:"reference/com/google/android/gms/games/achievement/Achievements.html", type:"class", deprecated:"false" },
+ { id:330, label:"com.google.android.gms.games.achievement.Achievements.LoadAchievementsResult", link:"reference/com/google/android/gms/games/achievement/Achievements.LoadAchievementsResult.html", type:"class", deprecated:"false" },
+ { id:331, label:"com.google.android.gms.games.achievement.Achievements.UpdateAchievementResult", link:"reference/com/google/android/gms/games/achievement/Achievements.UpdateAchievementResult.html", type:"class", deprecated:"false" },
+ { id:332, label:"com.google.android.gms.games.event", link:"reference/com/google/android/gms/games/event/package-summary.html", type:"package", deprecated:"false" },
+ { id:333, label:"com.google.android.gms.games.event.Event", link:"reference/com/google/android/gms/games/event/Event.html", type:"class", deprecated:"false" },
+ { id:334, label:"com.google.android.gms.games.event.EventBuffer", link:"reference/com/google/android/gms/games/event/EventBuffer.html", type:"class", deprecated:"false" },
+ { id:335, label:"com.google.android.gms.games.event.EventEntity", link:"reference/com/google/android/gms/games/event/EventEntity.html", type:"class", deprecated:"false" },
+ { id:336, label:"com.google.android.gms.games.event.Events", link:"reference/com/google/android/gms/games/event/Events.html", type:"class", deprecated:"false" },
+ { id:337, label:"com.google.android.gms.games.event.Events.LoadEventsResult", link:"reference/com/google/android/gms/games/event/Events.LoadEventsResult.html", type:"class", deprecated:"false" },
+ { id:338, label:"com.google.android.gms.games.leaderboard", link:"reference/com/google/android/gms/games/leaderboard/package-summary.html", type:"package", deprecated:"false" },
+ { id:339, label:"com.google.android.gms.games.leaderboard.Leaderboard", link:"reference/com/google/android/gms/games/leaderboard/Leaderboard.html", type:"class", deprecated:"false" },
+ { id:340, label:"com.google.android.gms.games.leaderboard.LeaderboardBuffer", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardBuffer.html", type:"class", deprecated:"false" },
+ { id:341, label:"com.google.android.gms.games.leaderboard.LeaderboardScore", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardScore.html", type:"class", deprecated:"false" },
+ { id:342, label:"com.google.android.gms.games.leaderboard.LeaderboardScoreBuffer", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardScoreBuffer.html", type:"class", deprecated:"false" },
+ { id:343, label:"com.google.android.gms.games.leaderboard.LeaderboardVariant", link:"reference/com/google/android/gms/games/leaderboard/LeaderboardVariant.html", type:"class", deprecated:"false" },
+ { id:344, label:"com.google.android.gms.games.leaderboard.Leaderboards", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.html", type:"class", deprecated:"false" },
+ { id:345, label:"com.google.android.gms.games.leaderboard.Leaderboards.LeaderboardMetadataResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LeaderboardMetadataResult.html", type:"class", deprecated:"false" },
+ { id:346, label:"com.google.android.gms.games.leaderboard.Leaderboards.LoadPlayerScoreResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadPlayerScoreResult.html", type:"class", deprecated:"false" },
+ { id:347, label:"com.google.android.gms.games.leaderboard.Leaderboards.LoadScoresResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.LoadScoresResult.html", type:"class", deprecated:"false" },
+ { id:348, label:"com.google.android.gms.games.leaderboard.Leaderboards.SubmitScoreResult", link:"reference/com/google/android/gms/games/leaderboard/Leaderboards.SubmitScoreResult.html", type:"class", deprecated:"false" },
+ { id:349, label:"com.google.android.gms.games.leaderboard.ScoreSubmissionData", link:"reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.html", type:"class", deprecated:"false" },
+ { id:350, label:"com.google.android.gms.games.leaderboard.ScoreSubmissionData.Result", link:"reference/com/google/android/gms/games/leaderboard/ScoreSubmissionData.Result.html", type:"class", deprecated:"false" },
+ { id:351, label:"com.google.android.gms.games.multiplayer", link:"reference/com/google/android/gms/games/multiplayer/package-summary.html", type:"package", deprecated:"false" },
+ { id:352, label:"com.google.android.gms.games.multiplayer.Invitation", link:"reference/com/google/android/gms/games/multiplayer/Invitation.html", type:"class", deprecated:"false" },
+ { id:353, label:"com.google.android.gms.games.multiplayer.InvitationBuffer", link:"reference/com/google/android/gms/games/multiplayer/InvitationBuffer.html", type:"class", deprecated:"false" },
+ { id:354, label:"com.google.android.gms.games.multiplayer.InvitationEntity", link:"reference/com/google/android/gms/games/multiplayer/InvitationEntity.html", type:"class", deprecated:"false" },
+ { id:355, label:"com.google.android.gms.games.multiplayer.Invitations", link:"reference/com/google/android/gms/games/multiplayer/Invitations.html", type:"class", deprecated:"false" },
+ { id:356, label:"com.google.android.gms.games.multiplayer.Invitations.LoadInvitationsResult", link:"reference/com/google/android/gms/games/multiplayer/Invitations.LoadInvitationsResult.html", type:"class", deprecated:"false" },
+ { id:357, label:"com.google.android.gms.games.multiplayer.Multiplayer", link:"reference/com/google/android/gms/games/multiplayer/Multiplayer.html", type:"class", deprecated:"false" },
+ { id:358, label:"com.google.android.gms.games.multiplayer.OnInvitationReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/OnInvitationReceivedListener.html", type:"class", deprecated:"false" },
+ { id:359, label:"com.google.android.gms.games.multiplayer.Participant", link:"reference/com/google/android/gms/games/multiplayer/Participant.html", type:"class", deprecated:"false" },
+ { id:360, label:"com.google.android.gms.games.multiplayer.ParticipantBuffer", link:"reference/com/google/android/gms/games/multiplayer/ParticipantBuffer.html", type:"class", deprecated:"false" },
+ { id:361, label:"com.google.android.gms.games.multiplayer.ParticipantEntity", link:"reference/com/google/android/gms/games/multiplayer/ParticipantEntity.html", type:"class", deprecated:"false" },
+ { id:362, label:"com.google.android.gms.games.multiplayer.ParticipantResult", link:"reference/com/google/android/gms/games/multiplayer/ParticipantResult.html", type:"class", deprecated:"false" },
+ { id:363, label:"com.google.android.gms.games.multiplayer.ParticipantUtils", link:"reference/com/google/android/gms/games/multiplayer/ParticipantUtils.html", type:"class", deprecated:"false" },
+ { id:364, label:"com.google.android.gms.games.multiplayer.Participatable", link:"reference/com/google/android/gms/games/multiplayer/Participatable.html", type:"class", deprecated:"false" },
+ { id:365, label:"com.google.android.gms.games.multiplayer.realtime", link:"reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html", type:"package", deprecated:"false" },
+ { id:366, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMessage", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessage.html", type:"class", deprecated:"false" },
+ { id:367, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMessageReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMessageReceivedListener.html", type:"class", deprecated:"false" },
+ { id:368, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMultiplayer", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.html", type:"class", deprecated:"false" },
+ { id:369, label:"com.google.android.gms.games.multiplayer.realtime.RealTimeMultiplayer.ReliableMessageSentCallback", link:"reference/com/google/android/gms/games/multiplayer/realtime/RealTimeMultiplayer.ReliableMessageSentCallback.html", type:"class", deprecated:"false" },
+ { id:370, label:"com.google.android.gms.games.multiplayer.realtime.Room", link:"reference/com/google/android/gms/games/multiplayer/realtime/Room.html", type:"class", deprecated:"false" },
+ { id:371, label:"com.google.android.gms.games.multiplayer.realtime.RoomConfig", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.html", type:"class", deprecated:"false" },
+ { id:372, label:"com.google.android.gms.games.multiplayer.realtime.RoomConfig.Builder", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html", type:"class", deprecated:"false" },
+ { id:373, label:"com.google.android.gms.games.multiplayer.realtime.RoomEntity", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomEntity.html", type:"class", deprecated:"false" },
+ { id:374, label:"com.google.android.gms.games.multiplayer.realtime.RoomStatusUpdateListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomStatusUpdateListener.html", type:"class", deprecated:"false" },
+ { id:375, label:"com.google.android.gms.games.multiplayer.realtime.RoomUpdateListener", link:"reference/com/google/android/gms/games/multiplayer/realtime/RoomUpdateListener.html", type:"class", deprecated:"false" },
+ { id:376, label:"com.google.android.gms.games.multiplayer.turnbased", link:"reference/com/google/android/gms/games/multiplayer/turnbased/package-summary.html", type:"package", deprecated:"false" },
+ { id:377, label:"com.google.android.gms.games.multiplayer.turnbased.LoadMatchesResponse", link:"reference/com/google/android/gms/games/multiplayer/turnbased/LoadMatchesResponse.html", type:"class", deprecated:"false" },
+ { id:378, label:"com.google.android.gms.games.multiplayer.turnbased.OnTurnBasedMatchUpdateReceivedListener", link:"reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html", type:"class", deprecated:"false" },
+ { id:379, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatch", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatch.html", type:"class", deprecated:"false" },
+ { id:380, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchBuffer", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchBuffer.html", type:"class", deprecated:"false" },
+ { id:381, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchConfig", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.html", type:"class", deprecated:"false" },
+ { id:382, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchConfig.Builder", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchConfig.Builder.html", type:"class", deprecated:"false" },
+ { id:383, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchEntity", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMatchEntity.html", type:"class", deprecated:"false" },
+ { id:384, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html", type:"class", deprecated:"false" },
+ { id:385, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.CancelMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.CancelMatchResult.html", type:"class", deprecated:"false" },
+ { id:386, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.InitiateMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.InitiateMatchResult.html", type:"class", deprecated:"false" },
+ { id:387, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LeaveMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LeaveMatchResult.html", type:"class", deprecated:"false" },
+ { id:388, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LoadMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchResult.html", type:"class", deprecated:"false" },
+ { id:389, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.LoadMatchesResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.LoadMatchesResult.html", type:"class", deprecated:"false" },
+ { id:390, label:"com.google.android.gms.games.multiplayer.turnbased.TurnBasedMultiplayer.UpdateMatchResult", link:"reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.UpdateMatchResult.html", type:"class", deprecated:"false" },
+ { id:391, label:"com.google.android.gms.games.quest", link:"reference/com/google/android/gms/games/quest/package-summary.html", type:"package", deprecated:"false" },
+ { id:392, label:"com.google.android.gms.games.quest.Milestone", link:"reference/com/google/android/gms/games/quest/Milestone.html", type:"class", deprecated:"false" },
+ { id:393, label:"com.google.android.gms.games.quest.MilestoneBuffer", link:"reference/com/google/android/gms/games/quest/MilestoneBuffer.html", type:"class", deprecated:"false" },
+ { id:394, label:"com.google.android.gms.games.quest.MilestoneEntity", link:"reference/com/google/android/gms/games/quest/MilestoneEntity.html", type:"class", deprecated:"false" },
+ { id:395, label:"com.google.android.gms.games.quest.Quest", link:"reference/com/google/android/gms/games/quest/Quest.html", type:"class", deprecated:"false" },
+ { id:396, label:"com.google.android.gms.games.quest.QuestBuffer", link:"reference/com/google/android/gms/games/quest/QuestBuffer.html", type:"class", deprecated:"false" },
+ { id:397, label:"com.google.android.gms.games.quest.QuestEntity", link:"reference/com/google/android/gms/games/quest/QuestEntity.html", type:"class", deprecated:"false" },
+ { id:398, label:"com.google.android.gms.games.quest.QuestUpdateListener", link:"reference/com/google/android/gms/games/quest/QuestUpdateListener.html", type:"class", deprecated:"false" },
+ { id:399, label:"com.google.android.gms.games.quest.Quests", link:"reference/com/google/android/gms/games/quest/Quests.html", type:"class", deprecated:"false" },
+ { id:400, label:"com.google.android.gms.games.quest.Quests.AcceptQuestResult", link:"reference/com/google/android/gms/games/quest/Quests.AcceptQuestResult.html", type:"class", deprecated:"false" },
+ { id:401, label:"com.google.android.gms.games.quest.Quests.ClaimMilestoneResult", link:"reference/com/google/android/gms/games/quest/Quests.ClaimMilestoneResult.html", type:"class", deprecated:"false" },
+ { id:402, label:"com.google.android.gms.games.quest.Quests.LoadQuestsResult", link:"reference/com/google/android/gms/games/quest/Quests.LoadQuestsResult.html", type:"class", deprecated:"false" },
+ { id:403, label:"com.google.android.gms.games.request", link:"reference/com/google/android/gms/games/request/package-summary.html", type:"package", deprecated:"false" },
+ { id:404, label:"com.google.android.gms.games.request.GameRequest", link:"reference/com/google/android/gms/games/request/GameRequest.html", type:"class", deprecated:"false" },
+ { id:405, label:"com.google.android.gms.games.request.GameRequestBuffer", link:"reference/com/google/android/gms/games/request/GameRequestBuffer.html", type:"class", deprecated:"false" },
+ { id:406, label:"com.google.android.gms.games.request.GameRequestEntity", link:"reference/com/google/android/gms/games/request/GameRequestEntity.html", type:"class", deprecated:"false" },
+ { id:407, label:"com.google.android.gms.games.request.OnRequestReceivedListener", link:"reference/com/google/android/gms/games/request/OnRequestReceivedListener.html", type:"class", deprecated:"false" },
+ { id:408, label:"com.google.android.gms.games.request.Requests", link:"reference/com/google/android/gms/games/request/Requests.html", type:"class", deprecated:"false" },
+ { id:409, label:"com.google.android.gms.games.request.Requests.LoadRequestsResult", link:"reference/com/google/android/gms/games/request/Requests.LoadRequestsResult.html", type:"class", deprecated:"false" },
+ { id:410, label:"com.google.android.gms.games.request.Requests.UpdateRequestsResult", link:"reference/com/google/android/gms/games/request/Requests.UpdateRequestsResult.html", type:"class", deprecated:"false" },
+ { id:411, label:"com.google.android.gms.games.snapshot", link:"reference/com/google/android/gms/games/snapshot/package-summary.html", type:"package", deprecated:"false" },
+ { id:412, label:"com.google.android.gms.games.snapshot.Snapshot", link:"reference/com/google/android/gms/games/snapshot/Snapshot.html", type:"class", deprecated:"false" },
+ { id:413, label:"com.google.android.gms.games.snapshot.SnapshotContents", link:"reference/com/google/android/gms/games/snapshot/SnapshotContents.html", type:"class", deprecated:"false" },
+ { id:414, label:"com.google.android.gms.games.snapshot.SnapshotEntity", link:"reference/com/google/android/gms/games/snapshot/SnapshotEntity.html", type:"class", deprecated:"false" },
+ { id:415, label:"com.google.android.gms.games.snapshot.SnapshotMetadata", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadata.html", type:"class", deprecated:"false" },
+ { id:416, label:"com.google.android.gms.games.snapshot.SnapshotMetadataBuffer", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataBuffer.html", type:"class", deprecated:"false" },
+ { id:417, label:"com.google.android.gms.games.snapshot.SnapshotMetadataChange", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.html", type:"class", deprecated:"false" },
+ { id:418, label:"com.google.android.gms.games.snapshot.SnapshotMetadataChange.Builder", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataChange.Builder.html", type:"class", deprecated:"false" },
+ { id:419, label:"com.google.android.gms.games.snapshot.SnapshotMetadataEntity", link:"reference/com/google/android/gms/games/snapshot/SnapshotMetadataEntity.html", type:"class", deprecated:"false" },
+ { id:420, label:"com.google.android.gms.games.snapshot.Snapshots", link:"reference/com/google/android/gms/games/snapshot/Snapshots.html", type:"class", deprecated:"false" },
+ { id:421, label:"com.google.android.gms.games.snapshot.Snapshots.CommitSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.CommitSnapshotResult.html", type:"class", deprecated:"false" },
+ { id:422, label:"com.google.android.gms.games.snapshot.Snapshots.DeleteSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.DeleteSnapshotResult.html", type:"class", deprecated:"false" },
+ { id:423, label:"com.google.android.gms.games.snapshot.Snapshots.LoadSnapshotsResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.LoadSnapshotsResult.html", type:"class", deprecated:"false" },
+ { id:424, label:"com.google.android.gms.games.snapshot.Snapshots.OpenSnapshotResult", link:"reference/com/google/android/gms/games/snapshot/Snapshots.OpenSnapshotResult.html", type:"class", deprecated:"false" },
+ { id:425, label:"com.google.android.gms.gcm", link:"reference/com/google/android/gms/gcm/package-summary.html", type:"package", deprecated:"false" },
+ { id:426, label:"com.google.android.gms.gcm.GoogleCloudMessaging", link:"reference/com/google/android/gms/gcm/GoogleCloudMessaging.html", type:"class", deprecated:"false" },
+ { id:427, label:"com.google.android.gms.identity.intents", link:"reference/com/google/android/gms/identity/intents/package-summary.html", type:"package", deprecated:"false" },
+ { id:428, label:"com.google.android.gms.identity.intents.Address", link:"reference/com/google/android/gms/identity/intents/Address.html", type:"class", deprecated:"false" },
+ { id:429, label:"com.google.android.gms.identity.intents.Address.AddressOptions", link:"reference/com/google/android/gms/identity/intents/Address.AddressOptions.html", type:"class", deprecated:"false" },
+ { id:430, label:"com.google.android.gms.identity.intents.AddressConstants", link:"reference/com/google/android/gms/identity/intents/AddressConstants.html", type:"class", deprecated:"false" },
+ { id:431, label:"com.google.android.gms.identity.intents.AddressConstants.ErrorCodes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.ErrorCodes.html", type:"class", deprecated:"false" },
+ { id:432, label:"com.google.android.gms.identity.intents.AddressConstants.Extras", link:"reference/com/google/android/gms/identity/intents/AddressConstants.Extras.html", type:"class", deprecated:"false" },
+ { id:433, label:"com.google.android.gms.identity.intents.AddressConstants.ResultCodes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.ResultCodes.html", type:"class", deprecated:"false" },
+ { id:434, label:"com.google.android.gms.identity.intents.AddressConstants.Themes", link:"reference/com/google/android/gms/identity/intents/AddressConstants.Themes.html", type:"class", deprecated:"false" },
+ { id:435, label:"com.google.android.gms.identity.intents.UserAddressRequest", link:"reference/com/google/android/gms/identity/intents/UserAddressRequest.html", type:"class", deprecated:"false" },
+ { id:436, label:"com.google.android.gms.identity.intents.UserAddressRequest.Builder", link:"reference/com/google/android/gms/identity/intents/UserAddressRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:437, label:"com.google.android.gms.identity.intents.model", link:"reference/com/google/android/gms/identity/intents/model/package-summary.html", type:"package", deprecated:"false" },
+ { id:438, label:"com.google.android.gms.identity.intents.model.CountrySpecification", link:"reference/com/google/android/gms/identity/intents/model/CountrySpecification.html", type:"class", deprecated:"false" },
+ { id:439, label:"com.google.android.gms.identity.intents.model.UserAddress", link:"reference/com/google/android/gms/identity/intents/model/UserAddress.html", type:"class", deprecated:"false" },
+ { id:440, label:"com.google.android.gms.location", link:"reference/com/google/android/gms/location/package-summary.html", type:"package", deprecated:"false" },
+ { id:441, label:"com.google.android.gms.location.ActivityRecognition", link:"reference/com/google/android/gms/location/ActivityRecognition.html", type:"class", deprecated:"false" },
+ { id:442, label:"com.google.android.gms.location.ActivityRecognitionApi", link:"reference/com/google/android/gms/location/ActivityRecognitionApi.html", type:"class", deprecated:"false" },
+ { id:443, label:"com.google.android.gms.location.ActivityRecognitionResult", link:"reference/com/google/android/gms/location/ActivityRecognitionResult.html", type:"class", deprecated:"false" },
+ { id:444, label:"com.google.android.gms.location.DetectedActivity", link:"reference/com/google/android/gms/location/DetectedActivity.html", type:"class", deprecated:"false" },
+ { id:445, label:"com.google.android.gms.location.FusedLocationProviderApi", link:"reference/com/google/android/gms/location/FusedLocationProviderApi.html", type:"class", deprecated:"false" },
+ { id:446, label:"com.google.android.gms.location.Geofence", link:"reference/com/google/android/gms/location/Geofence.html", type:"class", deprecated:"false" },
+ { id:447, label:"com.google.android.gms.location.Geofence.Builder", link:"reference/com/google/android/gms/location/Geofence.Builder.html", type:"class", deprecated:"false" },
+ { id:448, label:"com.google.android.gms.location.GeofenceStatusCodes", link:"reference/com/google/android/gms/location/GeofenceStatusCodes.html", type:"class", deprecated:"false" },
+ { id:449, label:"com.google.android.gms.location.GeofencingApi", link:"reference/com/google/android/gms/location/GeofencingApi.html", type:"class", deprecated:"false" },
+ { id:450, label:"com.google.android.gms.location.GeofencingEvent", link:"reference/com/google/android/gms/location/GeofencingEvent.html", type:"class", deprecated:"false" },
+ { id:451, label:"com.google.android.gms.location.GeofencingRequest", link:"reference/com/google/android/gms/location/GeofencingRequest.html", type:"class", deprecated:"false" },
+ { id:452, label:"com.google.android.gms.location.GeofencingRequest.Builder", link:"reference/com/google/android/gms/location/GeofencingRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:453, label:"com.google.android.gms.location.LocationAvailability", link:"reference/com/google/android/gms/location/LocationAvailability.html", type:"class", deprecated:"false" },
+ { id:454, label:"com.google.android.gms.location.LocationCallback", link:"reference/com/google/android/gms/location/LocationCallback.html", type:"class", deprecated:"false" },
+ { id:455, label:"com.google.android.gms.location.LocationListener", link:"reference/com/google/android/gms/location/LocationListener.html", type:"class", deprecated:"false" },
+ { id:456, label:"com.google.android.gms.location.LocationRequest", link:"reference/com/google/android/gms/location/LocationRequest.html", type:"class", deprecated:"false" },
+ { id:457, label:"com.google.android.gms.location.LocationResult", link:"reference/com/google/android/gms/location/LocationResult.html", type:"class", deprecated:"false" },
+ { id:458, label:"com.google.android.gms.location.LocationServices", link:"reference/com/google/android/gms/location/LocationServices.html", type:"class", deprecated:"false" },
+ { id:459, label:"com.google.android.gms.location.LocationSettingsRequest", link:"reference/com/google/android/gms/location/LocationSettingsRequest.html", type:"class", deprecated:"false" },
+ { id:460, label:"com.google.android.gms.location.LocationSettingsRequest.Builder", link:"reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:461, label:"com.google.android.gms.location.LocationSettingsResult", link:"reference/com/google/android/gms/location/LocationSettingsResult.html", type:"class", deprecated:"false" },
+ { id:462, label:"com.google.android.gms.location.LocationSettingsStates", link:"reference/com/google/android/gms/location/LocationSettingsStates.html", type:"class", deprecated:"false" },
+ { id:463, label:"com.google.android.gms.location.LocationSettingsStatusCodes", link:"reference/com/google/android/gms/location/LocationSettingsStatusCodes.html", type:"class", deprecated:"false" },
+ { id:464, label:"com.google.android.gms.location.LocationStatusCodes", link:"reference/com/google/android/gms/location/LocationStatusCodes.html", type:"class", deprecated:"true" },
+ { id:465, label:"com.google.android.gms.location.SettingsApi", link:"reference/com/google/android/gms/location/SettingsApi.html", type:"class", deprecated:"false" },
+ { id:466, label:"com.google.android.gms.location.places", link:"reference/com/google/android/gms/location/places/package-summary.html", type:"package", deprecated:"false" },
+ { id:467, label:"com.google.android.gms.location.places.AddPlaceRequest", link:"reference/com/google/android/gms/location/places/AddPlaceRequest.html", type:"class", deprecated:"false" },
+ { id:468, label:"com.google.android.gms.location.places.AutocompleteFilter", link:"reference/com/google/android/gms/location/places/AutocompleteFilter.html", type:"class", deprecated:"false" },
+ { id:469, label:"com.google.android.gms.location.places.AutocompletePrediction", link:"reference/com/google/android/gms/location/places/AutocompletePrediction.html", type:"class", deprecated:"false" },
+ { id:470, label:"com.google.android.gms.location.places.AutocompletePrediction.Substring", link:"reference/com/google/android/gms/location/places/AutocompletePrediction.Substring.html", type:"class", deprecated:"false" },
+ { id:471, label:"com.google.android.gms.location.places.AutocompletePredictionBuffer", link:"reference/com/google/android/gms/location/places/AutocompletePredictionBuffer.html", type:"class", deprecated:"false" },
+ { id:472, label:"com.google.android.gms.location.places.GeoDataApi", link:"reference/com/google/android/gms/location/places/GeoDataApi.html", type:"class", deprecated:"false" },
+ { id:473, label:"com.google.android.gms.location.places.Place", link:"reference/com/google/android/gms/location/places/Place.html", type:"class", deprecated:"false" },
+ { id:474, label:"com.google.android.gms.location.places.PlaceBuffer", link:"reference/com/google/android/gms/location/places/PlaceBuffer.html", type:"class", deprecated:"false" },
+ { id:475, label:"com.google.android.gms.location.places.PlaceDetectionApi", link:"reference/com/google/android/gms/location/places/PlaceDetectionApi.html", type:"class", deprecated:"false" },
+ { id:476, label:"com.google.android.gms.location.places.PlaceFilter", link:"reference/com/google/android/gms/location/places/PlaceFilter.html", type:"class", deprecated:"false" },
+ { id:477, label:"com.google.android.gms.location.places.PlaceLikelihood", link:"reference/com/google/android/gms/location/places/PlaceLikelihood.html", type:"class", deprecated:"false" },
+ { id:478, label:"com.google.android.gms.location.places.PlaceLikelihoodBuffer", link:"reference/com/google/android/gms/location/places/PlaceLikelihoodBuffer.html", type:"class", deprecated:"false" },
+ { id:479, label:"com.google.android.gms.location.places.PlaceReport", link:"reference/com/google/android/gms/location/places/PlaceReport.html", type:"class", deprecated:"false" },
+ { id:480, label:"com.google.android.gms.location.places.PlaceTypes", link:"reference/com/google/android/gms/location/places/PlaceTypes.html", type:"class", deprecated:"false" },
+ { id:481, label:"com.google.android.gms.location.places.Places", link:"reference/com/google/android/gms/location/places/Places.html", type:"class", deprecated:"false" },
+ { id:482, label:"com.google.android.gms.location.places.PlacesOptions", link:"reference/com/google/android/gms/location/places/PlacesOptions.html", type:"class", deprecated:"false" },
+ { id:483, label:"com.google.android.gms.location.places.PlacesOptions.Builder", link:"reference/com/google/android/gms/location/places/PlacesOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:484, label:"com.google.android.gms.location.places.PlacesStatusCodes", link:"reference/com/google/android/gms/location/places/PlacesStatusCodes.html", type:"class", deprecated:"false" },
+ { id:485, label:"com.google.android.gms.location.places.ui", link:"reference/com/google/android/gms/location/places/ui/package-summary.html", type:"package", deprecated:"false" },
+ { id:486, label:"com.google.android.gms.location.places.ui.PlacePicker", link:"reference/com/google/android/gms/location/places/ui/PlacePicker.html", type:"class", deprecated:"false" },
+ { id:487, label:"com.google.android.gms.location.places.ui.PlacePicker.IntentBuilder", link:"reference/com/google/android/gms/location/places/ui/PlacePicker.IntentBuilder.html", type:"class", deprecated:"false" },
+ { id:488, label:"com.google.android.gms.maps", link:"reference/com/google/android/gms/maps/package-summary.html", type:"package", deprecated:"false" },
+ { id:489, label:"com.google.android.gms.maps.CameraUpdate", link:"reference/com/google/android/gms/maps/CameraUpdate.html", type:"class", deprecated:"false" },
+ { id:490, label:"com.google.android.gms.maps.CameraUpdateFactory", link:"reference/com/google/android/gms/maps/CameraUpdateFactory.html", type:"class", deprecated:"false" },
+ { id:491, label:"com.google.android.gms.maps.GoogleMap", link:"reference/com/google/android/gms/maps/GoogleMap.html", type:"class", deprecated:"false" },
+ { id:492, label:"com.google.android.gms.maps.GoogleMap.CancelableCallback", link:"reference/com/google/android/gms/maps/GoogleMap.CancelableCallback.html", type:"class", deprecated:"false" },
+ { id:493, label:"com.google.android.gms.maps.GoogleMap.InfoWindowAdapter", link:"reference/com/google/android/gms/maps/GoogleMap.InfoWindowAdapter.html", type:"class", deprecated:"false" },
+ { id:494, label:"com.google.android.gms.maps.GoogleMap.OnCameraChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener.html", type:"class", deprecated:"false" },
+ { id:495, label:"com.google.android.gms.maps.GoogleMap.OnIndoorStateChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnIndoorStateChangeListener.html", type:"class", deprecated:"false" },
+ { id:496, label:"com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnInfoWindowClickListener.html", type:"class", deprecated:"false" },
+ { id:497, label:"com.google.android.gms.maps.GoogleMap.OnMapClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener.html", type:"class", deprecated:"false" },
+ { id:498, label:"com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback.html", type:"class", deprecated:"false" },
+ { id:499, label:"com.google.android.gms.maps.GoogleMap.OnMapLongClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMapLongClickListener.html", type:"class", deprecated:"false" },
+ { id:500, label:"com.google.android.gms.maps.GoogleMap.OnMarkerClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html", type:"class", deprecated:"false" },
+ { id:501, label:"com.google.android.gms.maps.GoogleMap.OnMarkerDragListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener.html", type:"class", deprecated:"false" },
+ { id:502, label:"com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMyLocationButtonClickListener.html", type:"class", deprecated:"false" },
+ { id:503, label:"com.google.android.gms.maps.GoogleMap.OnMyLocationChangeListener", link:"reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener.html", type:"class", deprecated:"true" },
+ { id:504, label:"com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback", link:"reference/com/google/android/gms/maps/GoogleMap.SnapshotReadyCallback.html", type:"class", deprecated:"false" },
+ { id:505, label:"com.google.android.gms.maps.GoogleMapOptions", link:"reference/com/google/android/gms/maps/GoogleMapOptions.html", type:"class", deprecated:"false" },
+ { id:506, label:"com.google.android.gms.maps.LocationSource", link:"reference/com/google/android/gms/maps/LocationSource.html", type:"class", deprecated:"false" },
+ { id:507, label:"com.google.android.gms.maps.LocationSource.OnLocationChangedListener", link:"reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener.html", type:"class", deprecated:"false" },
+ { id:508, label:"com.google.android.gms.maps.MapFragment", link:"reference/com/google/android/gms/maps/MapFragment.html", type:"class", deprecated:"false" },
+ { id:509, label:"com.google.android.gms.maps.MapView", link:"reference/com/google/android/gms/maps/MapView.html", type:"class", deprecated:"false" },
+ { id:510, label:"com.google.android.gms.maps.MapsInitializer", link:"reference/com/google/android/gms/maps/MapsInitializer.html", type:"class", deprecated:"false" },
+ { id:511, label:"com.google.android.gms.maps.OnMapReadyCallback", link:"reference/com/google/android/gms/maps/OnMapReadyCallback.html", type:"class", deprecated:"false" },
+ { id:512, label:"com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback", link:"reference/com/google/android/gms/maps/OnStreetViewPanoramaReadyCallback.html", type:"class", deprecated:"false" },
+ { id:513, label:"com.google.android.gms.maps.Projection", link:"reference/com/google/android/gms/maps/Projection.html", type:"class", deprecated:"false" },
+ { id:514, label:"com.google.android.gms.maps.StreetViewPanorama", link:"reference/com/google/android/gms/maps/StreetViewPanorama.html", type:"class", deprecated:"false" },
+ { id:515, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener.html", type:"class", deprecated:"false" },
+ { id:516, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaChangeListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaChangeListener.html", type:"class", deprecated:"false" },
+ { id:517, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaClickListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaClickListener.html", type:"class", deprecated:"false" },
+ { id:518, label:"com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaLongClickListener", link:"reference/com/google/android/gms/maps/StreetViewPanorama.OnStreetViewPanoramaLongClickListener.html", type:"class", deprecated:"false" },
+ { id:519, label:"com.google.android.gms.maps.StreetViewPanoramaFragment", link:"reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html", type:"class", deprecated:"false" },
+ { id:520, label:"com.google.android.gms.maps.StreetViewPanoramaOptions", link:"reference/com/google/android/gms/maps/StreetViewPanoramaOptions.html", type:"class", deprecated:"false" },
+ { id:521, label:"com.google.android.gms.maps.StreetViewPanoramaView", link:"reference/com/google/android/gms/maps/StreetViewPanoramaView.html", type:"class", deprecated:"false" },
+ { id:522, label:"com.google.android.gms.maps.SupportMapFragment", link:"reference/com/google/android/gms/maps/SupportMapFragment.html", type:"class", deprecated:"false" },
+ { id:523, label:"com.google.android.gms.maps.SupportStreetViewPanoramaFragment", link:"reference/com/google/android/gms/maps/SupportStreetViewPanoramaFragment.html", type:"class", deprecated:"false" },
+ { id:524, label:"com.google.android.gms.maps.UiSettings", link:"reference/com/google/android/gms/maps/UiSettings.html", type:"class", deprecated:"false" },
+ { id:525, label:"com.google.android.gms.maps.model", link:"reference/com/google/android/gms/maps/model/package-summary.html", type:"package", deprecated:"false" },
+ { id:526, label:"com.google.android.gms.maps.model.BitmapDescriptor", link:"reference/com/google/android/gms/maps/model/BitmapDescriptor.html", type:"class", deprecated:"false" },
+ { id:527, label:"com.google.android.gms.maps.model.BitmapDescriptorFactory", link:"reference/com/google/android/gms/maps/model/BitmapDescriptorFactory.html", type:"class", deprecated:"false" },
+ { id:528, label:"com.google.android.gms.maps.model.CameraPosition", link:"reference/com/google/android/gms/maps/model/CameraPosition.html", type:"class", deprecated:"false" },
+ { id:529, label:"com.google.android.gms.maps.model.CameraPosition.Builder", link:"reference/com/google/android/gms/maps/model/CameraPosition.Builder.html", type:"class", deprecated:"false" },
+ { id:530, label:"com.google.android.gms.maps.model.Circle", link:"reference/com/google/android/gms/maps/model/Circle.html", type:"class", deprecated:"false" },
+ { id:531, label:"com.google.android.gms.maps.model.CircleOptions", link:"reference/com/google/android/gms/maps/model/CircleOptions.html", type:"class", deprecated:"false" },
+ { id:532, label:"com.google.android.gms.maps.model.GroundOverlay", link:"reference/com/google/android/gms/maps/model/GroundOverlay.html", type:"class", deprecated:"false" },
+ { id:533, label:"com.google.android.gms.maps.model.GroundOverlayOptions", link:"reference/com/google/android/gms/maps/model/GroundOverlayOptions.html", type:"class", deprecated:"false" },
+ { id:534, label:"com.google.android.gms.maps.model.IndoorBuilding", link:"reference/com/google/android/gms/maps/model/IndoorBuilding.html", type:"class", deprecated:"false" },
+ { id:535, label:"com.google.android.gms.maps.model.IndoorLevel", link:"reference/com/google/android/gms/maps/model/IndoorLevel.html", type:"class", deprecated:"false" },
+ { id:536, label:"com.google.android.gms.maps.model.LatLng", link:"reference/com/google/android/gms/maps/model/LatLng.html", type:"class", deprecated:"false" },
+ { id:537, label:"com.google.android.gms.maps.model.LatLngBounds", link:"reference/com/google/android/gms/maps/model/LatLngBounds.html", type:"class", deprecated:"false" },
+ { id:538, label:"com.google.android.gms.maps.model.LatLngBounds.Builder", link:"reference/com/google/android/gms/maps/model/LatLngBounds.Builder.html", type:"class", deprecated:"false" },
+ { id:539, label:"com.google.android.gms.maps.model.Marker", link:"reference/com/google/android/gms/maps/model/Marker.html", type:"class", deprecated:"false" },
+ { id:540, label:"com.google.android.gms.maps.model.MarkerOptions", link:"reference/com/google/android/gms/maps/model/MarkerOptions.html", type:"class", deprecated:"false" },
+ { id:541, label:"com.google.android.gms.maps.model.Polygon", link:"reference/com/google/android/gms/maps/model/Polygon.html", type:"class", deprecated:"false" },
+ { id:542, label:"com.google.android.gms.maps.model.PolygonOptions", link:"reference/com/google/android/gms/maps/model/PolygonOptions.html", type:"class", deprecated:"false" },
+ { id:543, label:"com.google.android.gms.maps.model.Polyline", link:"reference/com/google/android/gms/maps/model/Polyline.html", type:"class", deprecated:"false" },
+ { id:544, label:"com.google.android.gms.maps.model.PolylineOptions", link:"reference/com/google/android/gms/maps/model/PolylineOptions.html", type:"class", deprecated:"false" },
+ { id:545, label:"com.google.android.gms.maps.model.RuntimeRemoteException", link:"reference/com/google/android/gms/maps/model/RuntimeRemoteException.html", type:"class", deprecated:"false" },
+ { id:546, label:"com.google.android.gms.maps.model.StreetViewPanoramaCamera", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.html", type:"class", deprecated:"false" },
+ { id:547, label:"com.google.android.gms.maps.model.StreetViewPanoramaCamera.Builder", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaCamera.Builder.html", type:"class", deprecated:"false" },
+ { id:548, label:"com.google.android.gms.maps.model.StreetViewPanoramaLink", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaLink.html", type:"class", deprecated:"false" },
+ { id:549, label:"com.google.android.gms.maps.model.StreetViewPanoramaLocation", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaLocation.html", type:"class", deprecated:"false" },
+ { id:550, label:"com.google.android.gms.maps.model.StreetViewPanoramaOrientation", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.html", type:"class", deprecated:"false" },
+ { id:551, label:"com.google.android.gms.maps.model.StreetViewPanoramaOrientation.Builder", link:"reference/com/google/android/gms/maps/model/StreetViewPanoramaOrientation.Builder.html", type:"class", deprecated:"false" },
+ { id:552, label:"com.google.android.gms.maps.model.Tile", link:"reference/com/google/android/gms/maps/model/Tile.html", type:"class", deprecated:"false" },
+ { id:553, label:"com.google.android.gms.maps.model.TileOverlay", link:"reference/com/google/android/gms/maps/model/TileOverlay.html", type:"class", deprecated:"false" },
+ { id:554, label:"com.google.android.gms.maps.model.TileOverlayOptions", link:"reference/com/google/android/gms/maps/model/TileOverlayOptions.html", type:"class", deprecated:"false" },
+ { id:555, label:"com.google.android.gms.maps.model.TileProvider", link:"reference/com/google/android/gms/maps/model/TileProvider.html", type:"class", deprecated:"false" },
+ { id:556, label:"com.google.android.gms.maps.model.UrlTileProvider", link:"reference/com/google/android/gms/maps/model/UrlTileProvider.html", type:"class", deprecated:"false" },
+ { id:557, label:"com.google.android.gms.maps.model.VisibleRegion", link:"reference/com/google/android/gms/maps/model/VisibleRegion.html", type:"class", deprecated:"false" },
+ { id:558, label:"com.google.android.gms.nearby", link:"reference/com/google/android/gms/nearby/package-summary.html", type:"package", deprecated:"false" },
+ { id:559, label:"com.google.android.gms.nearby.Nearby", link:"reference/com/google/android/gms/nearby/Nearby.html", type:"class", deprecated:"false" },
+ { id:560, label:"com.google.android.gms.nearby.connection", link:"reference/com/google/android/gms/nearby/connection/package-summary.html", type:"package", deprecated:"false" },
+ { id:561, label:"com.google.android.gms.nearby.connection.AppIdentifier", link:"reference/com/google/android/gms/nearby/connection/AppIdentifier.html", type:"class", deprecated:"false" },
+ { id:562, label:"com.google.android.gms.nearby.connection.AppMetadata", link:"reference/com/google/android/gms/nearby/connection/AppMetadata.html", type:"class", deprecated:"false" },
+ { id:563, label:"com.google.android.gms.nearby.connection.Connections", link:"reference/com/google/android/gms/nearby/connection/Connections.html", type:"class", deprecated:"false" },
+ { id:564, label:"com.google.android.gms.nearby.connection.Connections.ConnectionRequestListener", link:"reference/com/google/android/gms/nearby/connection/Connections.ConnectionRequestListener.html", type:"class", deprecated:"false" },
+ { id:565, label:"com.google.android.gms.nearby.connection.Connections.ConnectionResponseCallback", link:"reference/com/google/android/gms/nearby/connection/Connections.ConnectionResponseCallback.html", type:"class", deprecated:"false" },
+ { id:566, label:"com.google.android.gms.nearby.connection.Connections.EndpointDiscoveryListener", link:"reference/com/google/android/gms/nearby/connection/Connections.EndpointDiscoveryListener.html", type:"class", deprecated:"false" },
+ { id:567, label:"com.google.android.gms.nearby.connection.Connections.MessageListener", link:"reference/com/google/android/gms/nearby/connection/Connections.MessageListener.html", type:"class", deprecated:"false" },
+ { id:568, label:"com.google.android.gms.nearby.connection.Connections.StartAdvertisingResult", link:"reference/com/google/android/gms/nearby/connection/Connections.StartAdvertisingResult.html", type:"class", deprecated:"false" },
+ { id:569, label:"com.google.android.gms.nearby.connection.ConnectionsStatusCodes", link:"reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes.html", type:"class", deprecated:"false" },
+ { id:570, label:"com.google.android.gms.panorama", link:"reference/com/google/android/gms/panorama/package-summary.html", type:"package", deprecated:"false" },
+ { id:571, label:"com.google.android.gms.panorama.Panorama", link:"reference/com/google/android/gms/panorama/Panorama.html", type:"class", deprecated:"false" },
+ { id:572, label:"com.google.android.gms.panorama.PanoramaApi", link:"reference/com/google/android/gms/panorama/PanoramaApi.html", type:"class", deprecated:"false" },
+ { id:573, label:"com.google.android.gms.panorama.PanoramaApi.PanoramaResult", link:"reference/com/google/android/gms/panorama/PanoramaApi.PanoramaResult.html", type:"class", deprecated:"false" },
+ { id:574, label:"com.google.android.gms.plus", link:"reference/com/google/android/gms/plus/package-summary.html", type:"package", deprecated:"false" },
+ { id:575, label:"com.google.android.gms.plus.Account", link:"reference/com/google/android/gms/plus/Account.html", type:"class", deprecated:"false" },
+ { id:576, label:"com.google.android.gms.plus.Moments", link:"reference/com/google/android/gms/plus/Moments.html", type:"class", deprecated:"false" },
+ { id:577, label:"com.google.android.gms.plus.Moments.LoadMomentsResult", link:"reference/com/google/android/gms/plus/Moments.LoadMomentsResult.html", type:"class", deprecated:"false" },
+ { id:578, label:"com.google.android.gms.plus.People", link:"reference/com/google/android/gms/plus/People.html", type:"class", deprecated:"false" },
+ { id:579, label:"com.google.android.gms.plus.People.LoadPeopleResult", link:"reference/com/google/android/gms/plus/People.LoadPeopleResult.html", type:"class", deprecated:"false" },
+ { id:580, label:"com.google.android.gms.plus.People.OrderBy", link:"reference/com/google/android/gms/plus/People.OrderBy.html", type:"class", deprecated:"false" },
+ { id:581, label:"com.google.android.gms.plus.Plus", link:"reference/com/google/android/gms/plus/Plus.html", type:"class", deprecated:"false" },
+ { id:582, label:"com.google.android.gms.plus.Plus.PlusOptions", link:"reference/com/google/android/gms/plus/Plus.PlusOptions.html", type:"class", deprecated:"false" },
+ { id:583, label:"com.google.android.gms.plus.Plus.PlusOptions.Builder", link:"reference/com/google/android/gms/plus/Plus.PlusOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:584, label:"com.google.android.gms.plus.PlusOneButton", link:"reference/com/google/android/gms/plus/PlusOneButton.html", type:"class", deprecated:"false" },
+ { id:585, label:"com.google.android.gms.plus.PlusOneButton.DefaultOnPlusOneClickListener", link:"reference/com/google/android/gms/plus/PlusOneButton.DefaultOnPlusOneClickListener.html", type:"class", deprecated:"false" },
+ { id:586, label:"com.google.android.gms.plus.PlusOneButton.OnPlusOneClickListener", link:"reference/com/google/android/gms/plus/PlusOneButton.OnPlusOneClickListener.html", type:"class", deprecated:"false" },
+ { id:587, label:"com.google.android.gms.plus.PlusOneDummyView", link:"reference/com/google/android/gms/plus/PlusOneDummyView.html", type:"class", deprecated:"false" },
+ { id:588, label:"com.google.android.gms.plus.PlusShare", link:"reference/com/google/android/gms/plus/PlusShare.html", type:"class", deprecated:"false" },
+ { id:589, label:"com.google.android.gms.plus.PlusShare.Builder", link:"reference/com/google/android/gms/plus/PlusShare.Builder.html", type:"class", deprecated:"false" },
+ { id:590, label:"com.google.android.gms.plus.model.moments", link:"reference/com/google/android/gms/plus/model/moments/package-summary.html", type:"package", deprecated:"false" },
+ { id:591, label:"com.google.android.gms.plus.model.moments.ItemScope", link:"reference/com/google/android/gms/plus/model/moments/ItemScope.html", type:"class", deprecated:"false" },
+ { id:592, label:"com.google.android.gms.plus.model.moments.ItemScope.Builder", link:"reference/com/google/android/gms/plus/model/moments/ItemScope.Builder.html", type:"class", deprecated:"false" },
+ { id:593, label:"com.google.android.gms.plus.model.moments.Moment", link:"reference/com/google/android/gms/plus/model/moments/Moment.html", type:"class", deprecated:"false" },
+ { id:594, label:"com.google.android.gms.plus.model.moments.Moment.Builder", link:"reference/com/google/android/gms/plus/model/moments/Moment.Builder.html", type:"class", deprecated:"false" },
+ { id:595, label:"com.google.android.gms.plus.model.moments.MomentBuffer", link:"reference/com/google/android/gms/plus/model/moments/MomentBuffer.html", type:"class", deprecated:"false" },
+ { id:596, label:"com.google.android.gms.plus.model.people", link:"reference/com/google/android/gms/plus/model/people/package-summary.html", type:"package", deprecated:"false" },
+ { id:597, label:"com.google.android.gms.plus.model.people.Person", link:"reference/com/google/android/gms/plus/model/people/Person.html", type:"class", deprecated:"false" },
+ { id:598, label:"com.google.android.gms.plus.model.people.Person.AgeRange", link:"reference/com/google/android/gms/plus/model/people/Person.AgeRange.html", type:"class", deprecated:"false" },
+ { id:599, label:"com.google.android.gms.plus.model.people.Person.Cover", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.html", type:"class", deprecated:"false" },
+ { id:600, label:"com.google.android.gms.plus.model.people.Person.Cover.CoverInfo", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.CoverInfo.html", type:"class", deprecated:"false" },
+ { id:601, label:"com.google.android.gms.plus.model.people.Person.Cover.CoverPhoto", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.CoverPhoto.html", type:"class", deprecated:"false" },
+ { id:602, label:"com.google.android.gms.plus.model.people.Person.Cover.Layout", link:"reference/com/google/android/gms/plus/model/people/Person.Cover.Layout.html", type:"class", deprecated:"false" },
+ { id:603, label:"com.google.android.gms.plus.model.people.Person.Gender", link:"reference/com/google/android/gms/plus/model/people/Person.Gender.html", type:"class", deprecated:"false" },
+ { id:604, label:"com.google.android.gms.plus.model.people.Person.Image", link:"reference/com/google/android/gms/plus/model/people/Person.Image.html", type:"class", deprecated:"false" },
+ { id:605, label:"com.google.android.gms.plus.model.people.Person.Name", link:"reference/com/google/android/gms/plus/model/people/Person.Name.html", type:"class", deprecated:"false" },
+ { id:606, label:"com.google.android.gms.plus.model.people.Person.ObjectType", link:"reference/com/google/android/gms/plus/model/people/Person.ObjectType.html", type:"class", deprecated:"false" },
+ { id:607, label:"com.google.android.gms.plus.model.people.Person.Organizations", link:"reference/com/google/android/gms/plus/model/people/Person.Organizations.html", type:"class", deprecated:"false" },
+ { id:608, label:"com.google.android.gms.plus.model.people.Person.Organizations.Type", link:"reference/com/google/android/gms/plus/model/people/Person.Organizations.Type.html", type:"class", deprecated:"false" },
+ { id:609, label:"com.google.android.gms.plus.model.people.Person.PlacesLived", link:"reference/com/google/android/gms/plus/model/people/Person.PlacesLived.html", type:"class", deprecated:"false" },
+ { id:610, label:"com.google.android.gms.plus.model.people.Person.RelationshipStatus", link:"reference/com/google/android/gms/plus/model/people/Person.RelationshipStatus.html", type:"class", deprecated:"false" },
+ { id:611, label:"com.google.android.gms.plus.model.people.Person.Urls", link:"reference/com/google/android/gms/plus/model/people/Person.Urls.html", type:"class", deprecated:"false" },
+ { id:612, label:"com.google.android.gms.plus.model.people.Person.Urls.Type", link:"reference/com/google/android/gms/plus/model/people/Person.Urls.Type.html", type:"class", deprecated:"false" },
+ { id:613, label:"com.google.android.gms.plus.model.people.PersonBuffer", link:"reference/com/google/android/gms/plus/model/people/PersonBuffer.html", type:"class", deprecated:"false" },
+ { id:614, label:"com.google.android.gms.safetynet", link:"reference/com/google/android/gms/safetynet/package-summary.html", type:"package", deprecated:"false" },
+ { id:615, label:"com.google.android.gms.safetynet.SafetyNet", link:"reference/com/google/android/gms/safetynet/SafetyNet.html", type:"class", deprecated:"false" },
+ { id:616, label:"com.google.android.gms.safetynet.SafetyNetApi", link:"reference/com/google/android/gms/safetynet/SafetyNetApi.html", type:"class", deprecated:"false" },
+ { id:617, label:"com.google.android.gms.safetynet.SafetyNetApi.AttestationResult", link:"reference/com/google/android/gms/safetynet/SafetyNetApi.AttestationResult.html", type:"class", deprecated:"false" },
+ { id:618, label:"com.google.android.gms.search", link:"reference/com/google/android/gms/search/package-summary.html", type:"package", deprecated:"false" },
+ { id:619, label:"com.google.android.gms.search.GoogleNowAuthState", link:"reference/com/google/android/gms/search/GoogleNowAuthState.html", type:"class", deprecated:"false" },
+ { id:620, label:"com.google.android.gms.search.SearchAuth", link:"reference/com/google/android/gms/search/SearchAuth.html", type:"class", deprecated:"false" },
+ { id:621, label:"com.google.android.gms.search.SearchAuth.StatusCodes", link:"reference/com/google/android/gms/search/SearchAuth.StatusCodes.html", type:"class", deprecated:"false" },
+ { id:622, label:"com.google.android.gms.search.SearchAuthApi", link:"reference/com/google/android/gms/search/SearchAuthApi.html", type:"class", deprecated:"false" },
+ { id:623, label:"com.google.android.gms.search.SearchAuthApi.GoogleNowAuthResult", link:"reference/com/google/android/gms/search/SearchAuthApi.GoogleNowAuthResult.html", type:"class", deprecated:"false" },
+ { id:624, label:"com.google.android.gms.security", link:"reference/com/google/android/gms/security/package-summary.html", type:"package", deprecated:"false" },
+ { id:625, label:"com.google.android.gms.security.ProviderInstaller", link:"reference/com/google/android/gms/security/ProviderInstaller.html", type:"class", deprecated:"false" },
+ { id:626, label:"com.google.android.gms.security.ProviderInstaller.ProviderInstallListener", link:"reference/com/google/android/gms/security/ProviderInstaller.ProviderInstallListener.html", type:"class", deprecated:"false" },
+ { id:627, label:"com.google.android.gms.tagmanager", link:"reference/com/google/android/gms/tagmanager/package-summary.html", type:"package", deprecated:"false" },
+ { id:628, label:"com.google.android.gms.tagmanager.Container", link:"reference/com/google/android/gms/tagmanager/Container.html", type:"class", deprecated:"false" },
+ { id:629, label:"com.google.android.gms.tagmanager.Container.FunctionCallMacroCallback", link:"reference/com/google/android/gms/tagmanager/Container.FunctionCallMacroCallback.html", type:"class", deprecated:"false" },
+ { id:630, label:"com.google.android.gms.tagmanager.Container.FunctionCallTagCallback", link:"reference/com/google/android/gms/tagmanager/Container.FunctionCallTagCallback.html", type:"class", deprecated:"false" },
+ { id:631, label:"com.google.android.gms.tagmanager.ContainerHolder", link:"reference/com/google/android/gms/tagmanager/ContainerHolder.html", type:"class", deprecated:"false" },
+ { id:632, label:"com.google.android.gms.tagmanager.ContainerHolder.ContainerAvailableListener", link:"reference/com/google/android/gms/tagmanager/ContainerHolder.ContainerAvailableListener.html", type:"class", deprecated:"false" },
+ { id:633, label:"com.google.android.gms.tagmanager.DataLayer", link:"reference/com/google/android/gms/tagmanager/DataLayer.html", type:"class", deprecated:"false" },
+ { id:634, label:"com.google.android.gms.tagmanager.InstallReferrerReceiver", link:"reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html", type:"class", deprecated:"false" },
+ { id:635, label:"com.google.android.gms.tagmanager.InstallReferrerService", link:"reference/com/google/android/gms/tagmanager/InstallReferrerService.html", type:"class", deprecated:"false" },
+ { id:636, label:"com.google.android.gms.tagmanager.PreviewActivity", link:"reference/com/google/android/gms/tagmanager/PreviewActivity.html", type:"class", deprecated:"false" },
+ { id:637, label:"com.google.android.gms.tagmanager.TagManager", link:"reference/com/google/android/gms/tagmanager/TagManager.html", type:"class", deprecated:"false" },
+ { id:638, label:"com.google.android.gms.wallet", link:"reference/com/google/android/gms/wallet/package-summary.html", type:"package", deprecated:"false" },
+ { id:639, label:"com.google.android.gms.wallet.Address", link:"reference/com/google/android/gms/wallet/Address.html", type:"class", deprecated:"true" },
+ { id:640, label:"com.google.android.gms.wallet.Cart", link:"reference/com/google/android/gms/wallet/Cart.html", type:"class", deprecated:"false" },
+ { id:641, label:"com.google.android.gms.wallet.Cart.Builder", link:"reference/com/google/android/gms/wallet/Cart.Builder.html", type:"class", deprecated:"false" },
+ { id:642, label:"com.google.android.gms.wallet.CountrySpecification", link:"reference/com/google/android/gms/wallet/CountrySpecification.html", type:"class", deprecated:"true" },
+ { id:643, label:"com.google.android.gms.wallet.EnableWalletOptimizationReceiver", link:"reference/com/google/android/gms/wallet/EnableWalletOptimizationReceiver.html", type:"class", deprecated:"false" },
+ { id:644, label:"com.google.android.gms.wallet.FullWallet", link:"reference/com/google/android/gms/wallet/FullWallet.html", type:"class", deprecated:"false" },
+ { id:645, label:"com.google.android.gms.wallet.FullWalletRequest", link:"reference/com/google/android/gms/wallet/FullWalletRequest.html", type:"class", deprecated:"false" },
+ { id:646, label:"com.google.android.gms.wallet.FullWalletRequest.Builder", link:"reference/com/google/android/gms/wallet/FullWalletRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:647, label:"com.google.android.gms.wallet.GiftCardWalletObject", link:"reference/com/google/android/gms/wallet/GiftCardWalletObject.html", type:"class", deprecated:"false" },
+ { id:648, label:"com.google.android.gms.wallet.InstrumentInfo", link:"reference/com/google/android/gms/wallet/InstrumentInfo.html", type:"class", deprecated:"false" },
+ { id:649, label:"com.google.android.gms.wallet.LineItem", link:"reference/com/google/android/gms/wallet/LineItem.html", type:"class", deprecated:"false" },
+ { id:650, label:"com.google.android.gms.wallet.LineItem.Builder", link:"reference/com/google/android/gms/wallet/LineItem.Builder.html", type:"class", deprecated:"false" },
+ { id:651, label:"com.google.android.gms.wallet.LineItem.Role", link:"reference/com/google/android/gms/wallet/LineItem.Role.html", type:"class", deprecated:"false" },
+ { id:652, label:"com.google.android.gms.wallet.LoyaltyWalletObject", link:"reference/com/google/android/gms/wallet/LoyaltyWalletObject.html", type:"class", deprecated:"false" },
+ { id:653, label:"com.google.android.gms.wallet.MaskedWallet", link:"reference/com/google/android/gms/wallet/MaskedWallet.html", type:"class", deprecated:"false" },
+ { id:654, label:"com.google.android.gms.wallet.MaskedWallet.Builder", link:"reference/com/google/android/gms/wallet/MaskedWallet.Builder.html", type:"class", deprecated:"false" },
+ { id:655, label:"com.google.android.gms.wallet.MaskedWalletRequest", link:"reference/com/google/android/gms/wallet/MaskedWalletRequest.html", type:"class", deprecated:"false" },
+ { id:656, label:"com.google.android.gms.wallet.MaskedWalletRequest.Builder", link:"reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:657, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html", type:"class", deprecated:"false" },
+ { id:658, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Builder", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Builder.html", type:"class", deprecated:"false" },
+ { id:659, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Status", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.html", type:"class", deprecated:"false" },
+ { id:660, label:"com.google.android.gms.wallet.NotifyTransactionStatusRequest.Status.Error", link:"reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.Status.Error.html", type:"class", deprecated:"false" },
+ { id:661, label:"com.google.android.gms.wallet.OfferWalletObject", link:"reference/com/google/android/gms/wallet/OfferWalletObject.html", type:"class", deprecated:"false" },
+ { id:662, label:"com.google.android.gms.wallet.PaymentInstrumentType", link:"reference/com/google/android/gms/wallet/PaymentInstrumentType.html", type:"class", deprecated:"false" },
+ { id:663, label:"com.google.android.gms.wallet.Payments", link:"reference/com/google/android/gms/wallet/Payments.html", type:"class", deprecated:"false" },
+ { id:664, label:"com.google.android.gms.wallet.ProxyCard", link:"reference/com/google/android/gms/wallet/ProxyCard.html", type:"class", deprecated:"false" },
+ { id:665, label:"com.google.android.gms.wallet.Wallet", link:"reference/com/google/android/gms/wallet/Wallet.html", type:"class", deprecated:"false" },
+ { id:666, label:"com.google.android.gms.wallet.Wallet.WalletOptions", link:"reference/com/google/android/gms/wallet/Wallet.WalletOptions.html", type:"class", deprecated:"false" },
+ { id:667, label:"com.google.android.gms.wallet.Wallet.WalletOptions.Builder", link:"reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:668, label:"com.google.android.gms.wallet.WalletConstants", link:"reference/com/google/android/gms/wallet/WalletConstants.html", type:"class", deprecated:"false" },
+ { id:669, label:"com.google.android.gms.wallet.fragment", link:"reference/com/google/android/gms/wallet/fragment/package-summary.html", type:"package", deprecated:"false" },
+ { id:670, label:"com.google.android.gms.wallet.fragment.BuyButtonAppearance", link:"reference/com/google/android/gms/wallet/fragment/BuyButtonAppearance.html", type:"class", deprecated:"false" },
+ { id:671, label:"com.google.android.gms.wallet.fragment.BuyButtonText", link:"reference/com/google/android/gms/wallet/fragment/BuyButtonText.html", type:"class", deprecated:"false" },
+ { id:672, label:"com.google.android.gms.wallet.fragment.Dimension", link:"reference/com/google/android/gms/wallet/fragment/Dimension.html", type:"class", deprecated:"false" },
+ { id:673, label:"com.google.android.gms.wallet.fragment.SupportWalletFragment", link:"reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.html", type:"class", deprecated:"false" },
+ { id:674, label:"com.google.android.gms.wallet.fragment.SupportWalletFragment.OnStateChangedListener", link:"reference/com/google/android/gms/wallet/fragment/SupportWalletFragment.OnStateChangedListener.html", type:"class", deprecated:"false" },
+ { id:675, label:"com.google.android.gms.wallet.fragment.WalletFragment", link:"reference/com/google/android/gms/wallet/fragment/WalletFragment.html", type:"class", deprecated:"false" },
+ { id:676, label:"com.google.android.gms.wallet.fragment.WalletFragment.OnStateChangedListener", link:"reference/com/google/android/gms/wallet/fragment/WalletFragment.OnStateChangedListener.html", type:"class", deprecated:"false" },
+ { id:677, label:"com.google.android.gms.wallet.fragment.WalletFragmentInitParams", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.html", type:"class", deprecated:"false" },
+ { id:678, label:"com.google.android.gms.wallet.fragment.WalletFragmentInitParams.Builder", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder.html", type:"class", deprecated:"false" },
+ { id:679, label:"com.google.android.gms.wallet.fragment.WalletFragmentMode", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html", type:"class", deprecated:"false" },
+ { id:680, label:"com.google.android.gms.wallet.fragment.WalletFragmentOptions", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.html", type:"class", deprecated:"false" },
+ { id:681, label:"com.google.android.gms.wallet.fragment.WalletFragmentOptions.Builder", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:682, label:"com.google.android.gms.wallet.fragment.WalletFragmentState", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentState.html", type:"class", deprecated:"false" },
+ { id:683, label:"com.google.android.gms.wallet.fragment.WalletFragmentStyle", link:"reference/com/google/android/gms/wallet/fragment/WalletFragmentStyle.html", type:"class", deprecated:"false" },
+ { id:684, label:"com.google.android.gms.wallet.fragment.WalletLogoImageType", link:"reference/com/google/android/gms/wallet/fragment/WalletLogoImageType.html", type:"class", deprecated:"false" },
+ { id:685, label:"com.google.android.gms.wearable", link:"reference/com/google/android/gms/wearable/package-summary.html", type:"package", deprecated:"false" },
+ { id:686, label:"com.google.android.gms.wearable.Asset", link:"reference/com/google/android/gms/wearable/Asset.html", type:"class", deprecated:"false" },
+ { id:687, label:"com.google.android.gms.wearable.CapabilityApi", link:"reference/com/google/android/gms/wearable/CapabilityApi.html", type:"class", deprecated:"false" },
+ { id:688, label:"com.google.android.gms.wearable.CapabilityApi.AddLocalCapabilityResult", link:"reference/com/google/android/gms/wearable/CapabilityApi.AddLocalCapabilityResult.html", type:"class", deprecated:"false" },
+ { id:689, label:"com.google.android.gms.wearable.CapabilityApi.CapabilityListener", link:"reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html", type:"class", deprecated:"false" },
+ { id:690, label:"com.google.android.gms.wearable.CapabilityApi.GetAllCapabilitiesResult", link:"reference/com/google/android/gms/wearable/CapabilityApi.GetAllCapabilitiesResult.html", type:"class", deprecated:"false" },
+ { id:691, label:"com.google.android.gms.wearable.CapabilityApi.GetCapabilityResult", link:"reference/com/google/android/gms/wearable/CapabilityApi.GetCapabilityResult.html", type:"class", deprecated:"false" },
+ { id:692, label:"com.google.android.gms.wearable.CapabilityApi.RemoveLocalCapabilityResult", link:"reference/com/google/android/gms/wearable/CapabilityApi.RemoveLocalCapabilityResult.html", type:"class", deprecated:"false" },
+ { id:693, label:"com.google.android.gms.wearable.CapabilityInfo", link:"reference/com/google/android/gms/wearable/CapabilityInfo.html", type:"class", deprecated:"false" },
+ { id:694, label:"com.google.android.gms.wearable.Channel", link:"reference/com/google/android/gms/wearable/Channel.html", type:"class", deprecated:"false" },
+ { id:695, label:"com.google.android.gms.wearable.Channel.GetInputStreamResult", link:"reference/com/google/android/gms/wearable/Channel.GetInputStreamResult.html", type:"class", deprecated:"false" },
+ { id:696, label:"com.google.android.gms.wearable.Channel.GetOutputStreamResult", link:"reference/com/google/android/gms/wearable/Channel.GetOutputStreamResult.html", type:"class", deprecated:"false" },
+ { id:697, label:"com.google.android.gms.wearable.ChannelApi", link:"reference/com/google/android/gms/wearable/ChannelApi.html", type:"class", deprecated:"false" },
+ { id:698, label:"com.google.android.gms.wearable.ChannelApi.ChannelListener", link:"reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html", type:"class", deprecated:"false" },
+ { id:699, label:"com.google.android.gms.wearable.ChannelApi.CloseReason", link:"reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html", type:"class", deprecated:"false" },
+ { id:700, label:"com.google.android.gms.wearable.ChannelApi.OpenChannelResult", link:"reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html", type:"class", deprecated:"false" },
+ { id:701, label:"com.google.android.gms.wearable.ChannelIOException", link:"reference/com/google/android/gms/wearable/ChannelIOException.html", type:"class", deprecated:"false" },
+ { id:702, label:"com.google.android.gms.wearable.DataApi", link:"reference/com/google/android/gms/wearable/DataApi.html", type:"class", deprecated:"false" },
+ { id:703, label:"com.google.android.gms.wearable.DataApi.DataItemResult", link:"reference/com/google/android/gms/wearable/DataApi.DataItemResult.html", type:"class", deprecated:"false" },
+ { id:704, label:"com.google.android.gms.wearable.DataApi.DataListener", link:"reference/com/google/android/gms/wearable/DataApi.DataListener.html", type:"class", deprecated:"false" },
+ { id:705, label:"com.google.android.gms.wearable.DataApi.DeleteDataItemsResult", link:"reference/com/google/android/gms/wearable/DataApi.DeleteDataItemsResult.html", type:"class", deprecated:"false" },
+ { id:706, label:"com.google.android.gms.wearable.DataApi.GetFdForAssetResult", link:"reference/com/google/android/gms/wearable/DataApi.GetFdForAssetResult.html", type:"class", deprecated:"false" },
+ { id:707, label:"com.google.android.gms.wearable.DataEvent", link:"reference/com/google/android/gms/wearable/DataEvent.html", type:"class", deprecated:"false" },
+ { id:708, label:"com.google.android.gms.wearable.DataEventBuffer", link:"reference/com/google/android/gms/wearable/DataEventBuffer.html", type:"class", deprecated:"false" },
+ { id:709, label:"com.google.android.gms.wearable.DataItem", link:"reference/com/google/android/gms/wearable/DataItem.html", type:"class", deprecated:"false" },
+ { id:710, label:"com.google.android.gms.wearable.DataItemAsset", link:"reference/com/google/android/gms/wearable/DataItemAsset.html", type:"class", deprecated:"false" },
+ { id:711, label:"com.google.android.gms.wearable.DataItemBuffer", link:"reference/com/google/android/gms/wearable/DataItemBuffer.html", type:"class", deprecated:"false" },
+ { id:712, label:"com.google.android.gms.wearable.DataMap", link:"reference/com/google/android/gms/wearable/DataMap.html", type:"class", deprecated:"false" },
+ { id:713, label:"com.google.android.gms.wearable.DataMapItem", link:"reference/com/google/android/gms/wearable/DataMapItem.html", type:"class", deprecated:"false" },
+ { id:714, label:"com.google.android.gms.wearable.MessageApi", link:"reference/com/google/android/gms/wearable/MessageApi.html", type:"class", deprecated:"false" },
+ { id:715, label:"com.google.android.gms.wearable.MessageApi.MessageListener", link:"reference/com/google/android/gms/wearable/MessageApi.MessageListener.html", type:"class", deprecated:"false" },
+ { id:716, label:"com.google.android.gms.wearable.MessageApi.SendMessageResult", link:"reference/com/google/android/gms/wearable/MessageApi.SendMessageResult.html", type:"class", deprecated:"false" },
+ { id:717, label:"com.google.android.gms.wearable.MessageEvent", link:"reference/com/google/android/gms/wearable/MessageEvent.html", type:"class", deprecated:"false" },
+ { id:718, label:"com.google.android.gms.wearable.Node", link:"reference/com/google/android/gms/wearable/Node.html", type:"class", deprecated:"false" },
+ { id:719, label:"com.google.android.gms.wearable.NodeApi", link:"reference/com/google/android/gms/wearable/NodeApi.html", type:"class", deprecated:"false" },
+ { id:720, label:"com.google.android.gms.wearable.NodeApi.GetConnectedNodesResult", link:"reference/com/google/android/gms/wearable/NodeApi.GetConnectedNodesResult.html", type:"class", deprecated:"false" },
+ { id:721, label:"com.google.android.gms.wearable.NodeApi.GetLocalNodeResult", link:"reference/com/google/android/gms/wearable/NodeApi.GetLocalNodeResult.html", type:"class", deprecated:"false" },
+ { id:722, label:"com.google.android.gms.wearable.NodeApi.NodeListener", link:"reference/com/google/android/gms/wearable/NodeApi.NodeListener.html", type:"class", deprecated:"false" },
+ { id:723, label:"com.google.android.gms.wearable.PutDataMapRequest", link:"reference/com/google/android/gms/wearable/PutDataMapRequest.html", type:"class", deprecated:"false" },
+ { id:724, label:"com.google.android.gms.wearable.PutDataRequest", link:"reference/com/google/android/gms/wearable/PutDataRequest.html", type:"class", deprecated:"false" },
+ { id:725, label:"com.google.android.gms.wearable.Wearable", link:"reference/com/google/android/gms/wearable/Wearable.html", type:"class", deprecated:"false" },
+ { id:726, label:"com.google.android.gms.wearable.Wearable.WearableOptions", link:"reference/com/google/android/gms/wearable/Wearable.WearableOptions.html", type:"class", deprecated:"false" },
+ { id:727, label:"com.google.android.gms.wearable.Wearable.WearableOptions.Builder", link:"reference/com/google/android/gms/wearable/Wearable.WearableOptions.Builder.html", type:"class", deprecated:"false" },
+ { id:728, label:"com.google.android.gms.wearable.WearableListenerService", link:"reference/com/google/android/gms/wearable/WearableListenerService.html", type:"class", deprecated:"false" },
+ { id:729, label:"com.google.android.gms.wearable.WearableStatusCodes", link:"reference/com/google/android/gms/wearable/WearableStatusCodes.html", type:"class", deprecated:"false" }
];
diff --git a/docs/html/tools/support-library/features.jd b/docs/html/tools/support-library/features.jd
index 0f0a0c0..ee1ed72 100644
--- a/docs/html/tools/support-library/features.jd
+++ b/docs/html/tools/support-library/features.jd
@@ -205,9 +205,12 @@
information on using the Action Bar, see the
<a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.
</li>
- <li>{@link android.support.v7.app.ActionBarActivity} - Adds an application activity class that
- must be used as a base class for activities that uses the Support Library action bar
- implementation.
+ <li>{@link android.support.v7.app.AppCompatActivity} - Adds an application activity class that can
+ be used as a base class for activities that use the Support Library action bar
+ implementation.
+ </li>
+ <li>{@link android.support.v7.app.AppCompatDialog} - Adds a dialog class that can be used as a base
+ class for AppCompat themed dialogs.
</li>
<li>{@link android.support.v7.widget.ShareActionProvider} - Adds support for a standardized
sharing action (such as email or posting to social applications) that can be included in an
diff --git a/docs/html/tools/support-library/index.jd b/docs/html/tools/support-library/index.jd
index 56a3954..1aef0c1 100644
--- a/docs/html/tools/support-library/index.jd
+++ b/docs/html/tools/support-library/index.jd
@@ -62,6 +62,211 @@
<div class="toggle-content opened">
<p id="rev21"><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
+/>Android Support Library, revision 22.1.0</a> <em>(April 2015)</em>
+ </p>
+ <div class="toggle-content-toggleme">
+ <dl>
+ <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
+ <dd>
+ <ul>
+
+ <li>Added the {@link android.support.v4.graphics.ColorUtils ColorUtils} class
+ to provide a set of color-related utility methods.
+ </li>
+ <li>Added the {@link android.support.v4.graphics.drawable.DrawableCompat#unwrap unwrap()} and
+ {@link android.support.v4.graphics.drawable.DrawableCompat#wrap wrap()} methods to the
+ {@link android.support.v4.graphics.drawable.DrawableCompat} class , allowing you to use
+ {@link android.support.v4.graphics.drawable.DrawableCompat#setTint setTint()},
+ {@link android.support.v4.graphics.drawable.DrawableCompat#setTintList setTintList()},
+ and {@link android.support.v4.graphics.drawable.DrawableCompat#setTintMode setTintMode()}
+ on all API level 4 or higher devices.
+ </li>
+ <li>Added the {@link android.support.v4.os.TraceCompat} class to
+ write trace events to the system trace buffer, which can then be collected and
+ visualized using the <a href="{@docRoot}tools/help/systrace.html">Systrace</a> tool.
+ </li>
+ <li>Added the {@link android.support.v4.util.CircularIntArray} class
+ to create circular integer array data structures.
+ </li>
+ <li>Added the {@link android.support.v4.util.CircularArray#clear clear()},
+ {@link android.support.v4.util.CircularArray#removeFromStart removeFromStart()},
+ and {@link android.support.v4.util.CircularArray#removeFromEnd removeFromEnd()}
+ methods to the {@link android.support.v4.util.CircularArray} class. Also, changed the
+ existing methods in this class to be non-final.
+ </li>
+ <li>Added the {@link android.support.v4.view.InputDeviceCompat}
+ as a helper class to access data in the
+ {@link android.support.v4.view.InputDeviceCompat} class.
+ </li>
+ <li>Added the {@link android.support.v4.view.LayoutInflaterCompat}
+ class as a helper class to access data in the
+ {@link android.support.v4.view.LayoutInflaterCompat} class
+ and added the {@link android.support.v4.view.LayoutInflaterFactory} interface.
+ </li>
+ <li>Added classes, methods, and interfaces to support nested scrolling.
+ <ul>
+ <li>Added the {@link android.support.v4.view.NestedScrollingChildHelper}
+ and {@link android.support.v4.view.NestedScrollingParentHelper}
+ helper classes for implementing nested scrolling parent and child views.</li>
+ <li>Added the {@link android.support.v4.view.NestedScrollingChild}
+ interface to be implemented by {@link android.view.View} subclasses.</li>
+ <li>Added the {@link android.support.v4.view.NestedScrollingParent}
+ and {@link android.support.v4.view.ScrollingView} interfaces to support
+ scrolling operations and provide scroll related APIs.</li>
+ <li>Added the
+ {@link android.support.v4.view.ViewGroupCompat#getNestedScrollAxes
+ getNestedScrollAxes()} method to the {@link android.support.v4.view.ViewGroupCompat}
+ class.</li>
+ <li>Added methods to the {@link android.support.v4.view.ViewParentCompat} class to
+ support nested scrolling.
+ </li>
+ <li>Added the {@link android.support.v4.widget.NestedScrollView}
+ class to support nested scrolling parent and child on both new and old versions of
+ Android.
+ </li>
+ </ul>
+ </li>
+ <li>Added methods and constants to the {@link android.support.v4.view.MotionEventCompat}
+ class for getting axis values and event source.
+ </li>
+ <li>Updated the {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
+ class to add methods for errors, content invalidation and labels.
+ </li>
+ <li>Added the following interpolation classses for animation:
+ {@link android.support.v4.view.animation.FastOutLinearInInterpolator},
+ {@link android.support.v4.view.animation.FastOutSlowInInterpolator},
+ {@link android.support.v4.view.animation.LinearOutSlowInInterpolator},
+ {@link android.support.v4.view.animation.LinearOutSlowInInterpolator}, and
+ {@link android.support.v4.view.animation.PathInterpolatorCompat}.
+ </li>
+ <li>Added the {@link android.support.v4.widget.Space} class to create gaps between
+ components in general purpose layouts. This class is deprecated in the gridlayout library.
+ </li>
+ <li>Added the {@link android.support.v4.widget.TextViewCompat} class for accessing
+ features in a {@link android.widget.TextView}.
+ </li>
+ <li>Added a displacement parameter to the
+ {@link android.support.v4.widget.EdgeEffectCompat#onPull onPull()} method in the
+ {@link android.support.v4.widget.EdgeEffectCompat} class.
+ </li>
+
+ </ul>
+ </dd>
+
+
+ <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
+ <dd>
+ <ul>
+ <li>Added tint support to appcompat widgets, including
+ {@link android.support.v7.widget.AppCompatAutoCompleteTextView},
+ {@link android.support.v7.widget.AppCompatButton},
+ {@link android.support.v7.widget.AppCompatCheckBox},
+ {@link android.support.v7.widget.AppCompatCheckedTextView},
+ {@link android.support.v7.widget.AppCompatEditText},
+ {@link android.support.v7.widget.AppCompatMultiAutoCompleteTextView},
+ {@link android.support.v7.widget.AppCompatRadioButton},
+ {@link android.support.v7.widget.AppCompatRatingBar},
+ {@link android.support.v7.widget.AppCompatSpinner}, and
+ {@link android.support.v7.widget.AppCompatTextView}.
+ </li>
+ <li>Updated the {@link android.support.v7.app.AppCompatActivity} as the base
+ class for activities that use the support library action bar features. This class
+ replaces the deprecated {@link android.support.v7.app.ActionBarActivity}.
+ </li>
+ <li>Added the
+ {@link android.support.v7.app.AppCompatCallback} interface
+ to be implemented for AppCompat to be able to perform callbacks.
+ </li>
+ <li>Added the
+ {@link android.support.v7.app.AppCompatDelegate} abstract class
+ as a delegate you can use to extend AppCompat's support to any activity.
+ </li>
+ <li>Added the
+ {@link android.support.v7.app.AppCompatDialog} class
+ as the base class for AppCompat themed dialogs.
+ </li>
+ <li>Added the spinner style
+ {@link android.support.v7.app.AlertDialog} and
+ {@link android.support.v7.app.AlertDialog.Builder} classes to provide an AppCompat
+ themed {@link android.app.AlertDialog}.
+ </li>
+ <li>Added the {@link android.support.v7.graphics.Palette.Builder} class
+ for generating {@link android.support.v7.graphics.Palette} instances.
+ <ul>
+ <li>Added the
+ {@link android.support.v7.graphics.Palette#from}
+ method to the {@link android.support.v7.graphics.Palette} class to
+ start generating a Palette with the returned
+ {@link android.support.v7.graphics.Palette.Builder} instance.
+ </li>
+ <li>Deprecated the {@link android.support.v7.graphics.Palette#generate generate()} and
+ {@link android.support.v7.graphics.Palette#generateAsync generateAsync()} methods.
+ </li>
+ </ul>
+ </li>
+
+ <li>Added the
+ {@link android.support.v7.widget.GridLayout.Spec#getAbsoluteAlignment
+ getAbsoluteAlignment()} method to the {@link android.support.v7.widget.GridLayout.Spec}
+ class.
+ </li>
+ <li>Deprecated use of <code>app:theme</code> for styling
+ {@link android.support.v7.widget.Toolbar}. You can now use
+ <code>android:theme</code> for toolbars on all API level 7 and higher devices and
+ <code>android:theme</code> support for all widgets on API level 11 and higher devices.
+ </li>
+ </ul>
+ </dd>
+
+
+ <dt>Changes for <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
+ <dd>
+ <ul>
+ <li> Added {@link android.support.v17.leanback.app.GuidedStepFragment},
+ {@link android.support.v17.leanback.widget.GuidanceStylist} and
+ {@link android.support.v17.leanback.widget.GuidedActionsStylist} to support
+ creating multi-step decision flows.
+ </li>
+ </ul>
+ </dd>
+
+
+ <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library</a>:</dt>
+ <dd>
+ <ul>
+ <li>Added {@link android.support.v7.util.SortedList} classes to display items in
+ a list order and provide notification of changes to the list.
+ </li>
+ <li>Added the {@link android.support.v7.widget.util.SortedListAdapterCallback} class
+ that can bind a sorted list to a
+ {@link android.support.v7.widget.RecyclerView.Adapter} class.
+ </li>
+ </ul>
+ </dd>
+
+
+ <dt>Changes for v8 renderscript library:</dt>
+ <dd>
+ <ul>
+ <li>Added the {@link android.support.v8.renderscript.ScriptIntrinsicHistogram} class for
+ use as a histogram filter.</li>
+ <li>Added the {@link android.support.v8.renderscript.ScriptIntrinsicResize} class for
+ performing a resize of a 2D allocation.
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+
+
+ </div>
+</div> <!-- end of collapsible section -->
+
+
+
+<div class="toggle-content closed">
+ <p id="rev21"><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
/>Android Support Library, revision 22</a> <em>(March 2015)</em>
</p>
<div class="toggle-content-toggleme">
@@ -159,6 +364,10 @@
</ul>
</dd>
+ </div>
+</div>
+
+
<div class="toggle-content closed">
@@ -1113,4 +1322,3 @@
<p>Initial release with the v4 library.</p>
</div>
</div>
-
diff --git a/docs/html/training/enterprise/app-restrictions.jd b/docs/html/training/enterprise/app-restrictions.jd
index fc5dfcc..dd2c2c0 100644
--- a/docs/html/training/enterprise/app-restrictions.jd
+++ b/docs/html/training/enterprise/app-restrictions.jd
@@ -316,8 +316,18 @@
{@link android.content.Intent#ACTION_APPLICATION_RESTRICTIONS_CHANGED
ACTION_APPLICATION_RESTRICTIONS_CHANGED} intent. Your app has to listen for
this intent so you can change the app's behavior when the restriction settings
- change. The following code shows how to dynamically register a broadcast
- receiver for this intent:
+ change.</p>
+
+<p class="note">
+ <strong>Note:</strong> The {@link
+ android.content.Intent#ACTION_APPLICATION_RESTRICTIONS_CHANGED
+ ACTION_APPLICATION_RESTRICTIONS_CHANGED} intent is sent only to listeners
+ that are dynamically registered, <em>not</em> to listeners that are declared
+ in the app manifest.
+</p>
+<p>
+ The following code shows how to dynamically register a broadcast receiver for
+ this intent:
</p>
<pre>IntentFilter restrictionsFilter =
diff --git a/docs/html/training/wearables/data-layer/index.jd b/docs/html/training/wearables/data-layer/index.jd
index b49ea4d..df7c216 100644
--- a/docs/html/training/wearables/data-layer/index.jd
+++ b/docs/html/training/wearables/data-layer/index.jd
@@ -91,6 +91,17 @@
channel.
</p>
+<p>Android Wear supports multiple wearables connected to a handheld device. For example, when the
+user saves a note on a handheld, it automatically appears on both of the user's Wear devices. To
+synchronize data between devices, Google’s servers host a cloud node in the network of devices. The
+system synchronizes data to directly connected devices, the cloud node, and to wearable devices
+connected to the cloud node via Wi-Fi.</p>
+
+<img src="{@docRoot}wear/images/wear_cloud_node.png" alt="" width="330" height="375"/>
+<p class="img-caption"><strong>Figure 1.</strong> A sample network of nodes with
+handheld and wearable devices.</p>
+
+
<h2>Lessons</h2>
<dl>
<dt><a href="{@docRoot}training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a></dt>
diff --git a/docs/html/training/wearables/data-layer/messages.jd b/docs/html/training/wearables/data-layer/messages.jd
index 0ca55ba..0826e6b 100644
--- a/docs/html/training/wearables/data-layer/messages.jd
+++ b/docs/html/training/wearables/data-layer/messages.jd
@@ -26,42 +26,191 @@
Messages are a one-way communication mechanism that's good for remote procedure calls (RPC),
such as sending a message to the wearable to start an activity.</p>
-<h2 id="SendMessage">Send a Message</h2>
+<p>Multiple wearable devices can be connected to a user’s handheld device. Each connected device in
+the network is considered a <em>node</em>. With multiple connected devices, you must consider which
+nodes receive the messages. For example, In a voice transcription app that receives voice data on
+the wearable device, you should send the message to a node with the processing power and battery
+capacity to handle the request, such as a handheld device.</p>
-<p>The following example shows how to send a message that indicates to the other
-side of the connection to start an activity.
-This call is synchronous and blocks processing until the message is received or until the request
-times out:</p>
-
-<p class="note"><b>Note:</b> Read more about asynchronous and synchronous calls
-to Google Play services and when to use each in
-<a href="{@docRoot}google/auth/api-client.html#Communicating">Communicate with Google Play Services</a>.
+<p class="note"><strong>Note:</strong>
+With versions of Google Play services prior to 7.3.0, only one wearable device could be connected to
+a handheld device at a time. You may need to update your existing code to take the multiple
+connected nodes feature into consideration. If you don’t implement the changes, your messages may
+not get delivered to intended devices.
</p>
+<h2 id="SendMessage">Send a Message</h2>
+
+<p>A wearable app can provide functionality for users such as voice
+transcription. Users can speak into their wearable device's microphone, and have a transcription
+saved to a note. Since a wearable device typically does not have the processing power and battery
+capacity required to handle the voice transcription activity, the app should offload this work to a
+more capable, connected device.</p>
+
+<p>The following sections show you how to advertise device nodes that can process activity
+requests, discover the nodes capable of fulfilling a requested need, and send messages to those
+nodes.
+</p>
+
+<h3 id="AdvertiseCapabilities">Advertise capabilities</h3>
+
+<p>To launch an activity on a handheld device from a wearable device, use the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.html"><code>MessageApi</code></a>
+class to send the request. Since multiple wearables can be connected to the handheld device, the
+wearable app needs to determine that a connected node is capable of launching the activity. In your
+handheld app, advertise that the node it runs on provides specific capabilities.</p>
+
+<p>To advertise the capabilities of your handheld app:</p>
+
+<ol>
+ <li>Create an XML configuration file in the <code>res/values/</code> directory of your project and
+ name it <code>wear.xml</code>.
+ </li>
+ <li>Add a resource named <code>android_wear_capabilities</code> to <code>wear.xml</code>.
+ </li>
+ <li>Define capabilities that the device provides.
+ </li>
+</ol>
+
+<p class="note"><strong>Note:</strong>
+Capabilities are custom strings that you define and must be unique within your app.
+</p>
+
+<p>The following example shows how to add a capability named <code>voice_transcription</code> to
+<code>wear.xml</code>:</p>
+
<pre>
-GoogleApiClient mGoogleApiClient;
-public static final String START_ACTIVITY_PATH = "/start/MainActivity";
+<resources>
+ <string-array name="android_wear_capabilities">
+ <item>voice_transcription</item>
+ </string-array>
+</resources>
+</pre>
+
+<h3 id="RetrieveCapabilities">Retrieve the nodes with the required capabilities</h3>
+
+<p>Initially, you can detect the capable nodes by calling the <a
+href="{@docRoot}reference/com/google/android/gms/wearable/CapabilityApi.html#getCapability(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, int)"><code>CapabilityApi.getCapability()</code></a>
+method.
+The following example shows how to manually retrieve the results of reachable nodes with the
+<code>voice_transcription</code> capability:</p>
+
+<pre>
+private static final String
+ VOICE_TRANSCRIPTION_CAPABILITY_NAME = "voice_transcription";
+
+private GoogleApiClient mGoogleApiClient;
+
...
-private void sendStartActivityMessage(String nodeId) {
- Wearable.MessageApi.sendMessage(
- mGoogleApiClient, nodeId, START_ACTIVITY_PATH, new byte[0]).setResultCallback(
- new ResultCallback<SendMessageResult>() {
- @Override
- public void onResult(SendMessageResult sendMessageResult) {
- if (!sendMessageResult.getStatus().isSuccess()) {
- Log.e(TAG, "Failed to send message with status code: "
- + sendMessageResult.getStatus().getStatusCode());
- }
- }
- }
- );
+private void setupVoiceTranscription() {
+ CapabilityApi.GetCapabilityResult result =
+ Wearable.CapabilityApi.getCapability(
+ mGoogleApiClient, VOICE_TRANSCRIPTION_CAPABILITY_NAME,
+ CapabilityApi.FILTER_REACHABLE).await();
+
+ updateTranscriptionCapability(result.getCapability());
}
</pre>
-<p>
-Here's a simple way to get a list of connected nodes that you can potentially
-send messages to:</p>
+<p>To detect capable nodes as they connect to the wearable device, register a <a
+href="{@docRoot}reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html"><code>CapabilityApi.CapabilityListener()</code></a>
+instance to your <a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html"><code>GoogleApiClient</code></a>.
+The following example shows how to register the listener and retrieve the results of reachable nodes
+with the <code>voice_transcription</code> capability:</p>
+
+<pre>
+private void setupVoiceTranscription() {
+ ...
+
+ CapabilityApi.CapabilityListener capabilityListener =
+ new CapabilityApi.CapabilityListener() {
+ @Override
+ public void onCapabilityChanged(CapabilityInfo capabilityInfo) {
+ updateTranscriptionCapability(capabilityInfo);
+ }
+ };
+
+ Wearable.CapabilityApi.addCapabilityListener(
+ mGoogleApiClient,
+ capabilityListener,
+ VOICE_TRANSCRIPTION_CAPABILITY_NAME);
+}
+</pre>
+
+<p>After detecting the capable nodes, determine where to send the message. You should pick a node
+that is in close proximity to your wearable device to
+minimize message routing through multiple nodes. A nearby node is defined as one that is directly
+connected to the device. To determine if a node is nearby, call the <a
+href="{@docRoot}reference/com/google/android/gms/wearable/Node.html#isNearby()"><code>Node.isNearby()</code></a>
+method.</p>
+
+<p>The following example shows how you might determine the best node to use:</p>
+
+<pre>
+private String transcriptionNodeId = null;
+
+private void updateTranscriptionCapability(CapabilityInfo capabilityInfo) {
+ Set<Node> connectedNodes = capabilityInfo.getNodes();
+
+ transcriptionNodeId = pickBestNodeId(connectedNodes);
+}
+
+private String pickBestNodeId(Set<Node> nodes) {
+ String bestNodeId = null;
+ // Find a nearby node or pick one arbitrarily
+ for (Node node : nodes) {
+ if (node.isNearby()) {
+ return node.getId();
+ }
+ bestNodeId = node.getId();
+ }
+ return bestNodeId;
+}
+</pre>
+
+<h3 id="DeliverMessage">Deliver the message</h3>
+
+<p>Once you’ve identified the best node to use, send the message using the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.html"><code>MessageApi</code></a>
+class.</p>
+
+<p>The following example shows how to send a message to the transcription-capable node from a
+wearable device. Verify that the node is available before you attempt to send the message. This call
+is synchronous and blocks processing until the message is received or until the request times out.
+</p>
+
+<pre>
+
+public static final String VOICE_TRANSCRIPTION_MESSAGE_PATH = "/voice_transcription";
+
+private void requestTranscription(byte[] voiceData) {
+ if (transcriptionNodeId != null) {
+ Wearable.MessageApi.sendMessage(googleApiClient, transcriptionNodeId,
+ VOICE_TRANSCRIPTION_MESSAGE_PATH, voiceData).setResultCallback(
+ new ResultCallback<SendMessageResult>() {
+ @Override
+ public void onResult(SendMessageResult sendMessageResult) {
+ if (!sendMessageResult.getStatus().isSuccess()) {
+ // Failed to send message
+ }
+ }
+ }
+ );
+ } else {
+ // Unable to retrieve node with transcription capability
+ }
+}
+</pre>
+
+<p class="note"><strong>Note:</strong> To learn more about asynchronous and synchronous calls
+to Google Play services and when to use each, see
+<a href="{@docRoot}google/auth/api-client.html#Communicating">Communicate with Google Play
+Services</a>.
+</p>
+
+<p>You can also broadcast messages to all connected nodes. To retrieve all of the
+connected nodes that you can send messages to, implement the following code:</p>
<pre>
private Collection<String> getNodes() {
@@ -78,22 +227,24 @@
<h2 id="ReceiveMessage">Receive a Message</h2>
<p>
-To be notified of received messages, you implement the
+To be notified of received messages, implement the
<a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.MessageListener.html">
-<code>MessageListener</code></a> interface to provide a listener for message events. Then you register your
-listener with the
+<code>MessageListener</code></a> interface to provide a listener for message events. Then,
+register the listener with the
<a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.MessageApi.MessageListener)">
-<code>MessageApi.addListener()</code></a> method. This example shows how you might implement the listener
-to check the <code>START_ACTIVITY_PATH</code> that the previous example used to send the message.
-If this condition is <code>true</code>, a specific activity is started.
+<code>MessageApi.addListener()</code></a> method. This example shows how you might implement the
+listener to check the <code>VOICE_TRANSCRIPTION_MESSAGE_PATH</code>. If this condition is
+<code>true</code>, start an activity to process the voice
+data.
</p>
<pre>
@Override
public void onMessageReceived(MessageEvent messageEvent) {
- if (messageEvent.getPath().equals(START_ACTIVITY_PATH)) {
+ if (messageEvent.getPath().equals(VOICE_TRANSCRIPTION_MESSAGE_PATH)) {
Intent startIntent = new Intent(this, MainActivity.class);
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startIntent.putExtra("VOICE_DATA", messageEvent.getData());
startActivity(startIntent);
}
}
diff --git a/docs/html/wear/images/wear_cloud_node.png b/docs/html/wear/images/wear_cloud_node.png
new file mode 100644
index 0000000..602e247
--- /dev/null
+++ b/docs/html/wear/images/wear_cloud_node.png
Binary files differ
diff --git a/docs/image_sources/training/wear/wear_cloud_node.graffle b/docs/image_sources/training/wear/wear_cloud_node.graffle
new file mode 100644
index 0000000..8a3e4b5
--- /dev/null
+++ b/docs/image_sources/training/wear/wear_cloud_node.graffle
@@ -0,0 +1,4333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ApplicationVersion</key>
+ <array>
+ <string>com.omnigroup.OmniGraffle6</string>
+ <string>156.11.0.206384</string>
+ </array>
+ <key>CreationDate</key>
+ <string>2015-04-10 16:36:28 +0000</string>
+ <key>Creator</key>
+ <string>Luan Nguyen</string>
+ <key>FileType</key>
+ <string>flat</string>
+ <key>GraphDocumentVersion</key>
+ <integer>11</integer>
+ <key>GuidesLocked</key>
+ <string>NO</string>
+ <key>GuidesVisible</key>
+ <string>YES</string>
+ <key>ImageCounter</key>
+ <integer>3</integer>
+ <key>LinksVisible</key>
+ <string>NO</string>
+ <key>MagnetsVisible</key>
+ <string>NO</string>
+ <key>MasterSheets</key>
+ <array/>
+ <key>ModificationDate</key>
+ <string>2015-04-15 20:46:45 +0000</string>
+ <key>Modifier</key>
+ <string>Luan Nguyen</string>
+ <key>NotesVisible</key>
+ <string>NO</string>
+ <key>OriginVisible</key>
+ <string>NO</string>
+ <key>PageBreaks</key>
+ <string>NO</string>
+ <key>PrintInfo</key>
+ <dict>
+ <key>NSBottomMargin</key>
+ <array>
+ <string>float</string>
+ <string>40</string>
+ </array>
+ <key>NSLeftMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ <key>NSPaperSize</key>
+ <array>
+ <string>size</string>
+ <string>{612, 792}</string>
+ </array>
+ <key>NSRightMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ <key>NSTopMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ </dict>
+ <key>ReadOnly</key>
+ <string>NO</string>
+ <key>Sheets</key>
+ <array>
+ <dict>
+ <key>ActiveLayerIndex</key>
+ <integer>0</integer>
+ <key>AutoAdjust</key>
+ <false/>
+ <key>BackgroundGraphic</key>
+ <dict>
+ <key>Bounds</key>
+ <string>{{0, 0}, {330, 375}}</string>
+ <key>Class</key>
+ <string>SolidGraphic</string>
+ <key>ID</key>
+ <integer>2</integer>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <key>BaseZoom</key>
+ <integer>0</integer>
+ <key>CanvasOrigin</key>
+ <string>{0, 0}</string>
+ <key>CanvasSize</key>
+ <string>{330, 375}</string>
+ <key>ColumnAlign</key>
+ <integer>1</integer>
+ <key>ColumnSpacing</key>
+ <real>36</real>
+ <key>DisplayScale</key>
+ <string>1.0 pt = 1.0 px</string>
+ <key>GraphicsList</key>
+ <array>
+ <dict>
+ <key>Bounds</key>
+ <string>{{66.75, 134.93730967886808}, {109.5, 28.169700000000034}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>1976</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Line</key>
+ <dict>
+ <key>ID</key>
+ <integer>1893</integer>
+ <key>Position</key>
+ <real>0.61324973965300955</real>
+ <key>RotationType</key>
+ <integer>0</integer>
+ </dict>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.938075</string>
+ <key>g</key>
+ <string>0.938269</string>
+ <key>r</key>
+ <string>0.938154</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.472997</string>
+ <key>g</key>
+ <string>0.473094</string>
+ <key>r</key>
+ <string>0.473036</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>2</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Mobile data/Wi-Fi}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{234, 92.968750000000014}, {49, 28.169700000000034}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>1975</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.938075</string>
+ <key>g</key>
+ <string>0.938269</string>
+ <key>r</key>
+ <string>0.938154</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.472997</string>
+ <key>g</key>
+ <string>0.473094</string>
+ <key>r</key>
+ <string>0.473036</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>2</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Wi-Fi}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{85.5, 252.41406223966777}, {72, 28.169700000000034}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>155</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Line</key>
+ <dict>
+ <key>ID</key>
+ <integer>1895</integer>
+ <key>Position</key>
+ <real>0.48590017216177767</real>
+ <key>RotationType</key>
+ <integer>0</integer>
+ </dict>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.938075</string>
+ <key>g</key>
+ <string>0.938269</string>
+ <key>r</key>
+ <string>0.938154</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.472997</string>
+ <key>g</key>
+ <string>0.473094</string>
+ <key>r</key>
+ <string>0.473036</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>2</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Bluetooth}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>Group</string>
+ <key>Graphics</key>
+ <array>
+ <dict>
+ <key>Bounds</key>
+ <string>{{42.947532278010186, 15.40233227120396}, {169.1049769052272, 11.625478289816014}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.65</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-Condensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>1972</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Pad</key>
+ <integer>2</integer>
+ <key>RTFD</key>
+ <data>
+ BAtzdHJlYW10
+ eXBlZIHoA4QB
+ QISEhBJOU0F0
+ dHJpYnV0ZWRT
+ dHJpbmcAhIQI
+ TlNPYmplY3QA
+ hZKEhIQITlNT
+ dHJpbmcBlIQB
+ Kw5Hb29nbGUg
+ U2VydmVyc4aE
+ AmlJAQ6ShISE
+ DE5TRGljdGlv
+ bmFyeQCUhAFp
+ A5KElpYHTlND
+ b2xvcoaShISE
+ B05TQ29sb3IA
+ lIQBYwOEAmZm
+ AINmZiY/hpKE
+ lpYQTlNQYXJh
+ Z3JhcGhTdHls
+ ZYaShISEEE5T
+ UGFyYWdyYXBo
+ U3R5bGUAlIQE
+ Q0NAUwIAhISE
+ B05TQXJyYXkA
+ lJkMkoSEhAlO
+ U1RleHRUYWIA
+ lIQCQ2YAHIaS
+ hKKhADiGkoSi
+ oQBUhpKEoqEA
+ cIaShKKhAIGM
+ AIaShKKhAIGo
+ AIaShKKhAIHE
+ AIaShKKhAIHg
+ AIaShKKhAIH8
+ AIaShKKhAIEY
+ AYaShKKhAIE0
+ AYaShKKhAIFQ
+ AYaGAIaShJaW
+ Bk5TRm9udIaS
+ hISEBk5TRm9u
+ dB6UmRyEBVsy
+ OGNdBgAAABQA
+ AAD//kgAZQBs
+ AHYAZQB0AGkA
+ YwBhAIQBZgyb
+ AJsBmwCbAIaG
+ hg==
+ </data>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf2 Google Servers}</string>
+ <key>alpha</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ <integer>14</integer>
+ <real>0.64999997615814209</real>
+ </array>
+ </array>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{27.500000000000043, 31.027813195885251}, {199.99999999999991, 96.972186804114742}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.65</string>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>1973</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.578326</string>
+ <key>g</key>
+ <string>0.578615</string>
+ <key>r</key>
+ <string>0.578453</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>5</real>
+ <key>Pattern</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>VerticalPad</key>
+ <integer>10</integer>
+ </dict>
+ <key>TextPlacement</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>ID</key>
+ <integer>1971</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>251</integer>
+ </dict>
+ <key>ID</key>
+ <integer>1895</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>OrthogonalBarAutomatic</key>
+ <true/>
+ <key>OrthogonalBarPoint</key>
+ <string>{293, 271.5}</string>
+ <key>OrthogonalBarPosition</key>
+ <real>-1</real>
+ <key>Points</key>
+ <array>
+ <string>{121.5, 232}</string>
+ <string>{121.5, 303}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.7</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>4</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>Legacy</key>
+ <true/>
+ <key>LineType</key>
+ <integer>2</integer>
+ <key>TailArrow</key>
+ <string>FilledArrow</string>
+ </dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>250</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>252</integer>
+ </dict>
+ <key>ID</key>
+ <integer>198</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>OrthogonalBarAutomatic</key>
+ <true/>
+ <key>OrthogonalBarPoint</key>
+ <string>{0, 0}</string>
+ <key>OrthogonalBarPosition</key>
+ <real>-1</real>
+ <key>Points</key>
+ <array>
+ <string>{180.49999999999997, 71.915149999999997}</string>
+ <string>{257.5, 104.58485}</string>
+ <string>{257.5, 181.83030000000002}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.7</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>4</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>Legacy</key>
+ <true/>
+ <key>LineType</key>
+ <integer>2</integer>
+ <key>TailArrow</key>
+ <string>FilledArrow</string>
+ </dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>158</integer>
+ <key>Info</key>
+ <integer>7</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>250</integer>
+ </dict>
+ <key>ID</key>
+ <integer>1893</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>OrthogonalBarAutomatic</key>
+ <true/>
+ <key>OrthogonalBarPoint</key>
+ <string>{293, 271.5}</string>
+ <key>OrthogonalBarPosition</key>
+ <real>-1</real>
+ <key>Points</key>
+ <array>
+ <string>{121.5, 97}</string>
+ <string>{121.5, 181.83029999999999}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.7</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>4</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>Legacy</key>
+ <true/>
+ <key>LineType</key>
+ <integer>2</integer>
+ <key>TailArrow</key>
+ <string>FilledArrow</string>
+ </dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>158</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{212.5, 181.83029999999999}, {90, 50.169699999999999}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>252</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>RoundRect</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>0.6</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0.4</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>3</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Watch 2}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{76.5, 303}, {90, 50.169699999999999}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>251</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>RoundRect</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>0.6</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0.4</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>3</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Watch 1}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{62.5, 181.83029999999999}, {118, 50.169699999999999}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>10</real>
+ </dict>
+ <key>ID</key>
+ <integer>250</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>RoundRect</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>0.6</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0.4</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>3</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Phone}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{62.5, 46.830299999999994}, {118, 50.169699999999999}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Roboto-BoldCondensed</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>158</integer>
+ <key>Layer</key>
+ <integer>0</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{1, 1}</string>
+ <string>{1, -1}</string>
+ <string>{-1, -1}</string>
+ <string>{-1, 1}</string>
+ <string>{0, 1}</string>
+ <string>{0, -1}</string>
+ <string>{1, 0}</string>
+ <string>{-1, 0}</string>
+ <string>{-0.5, -0.233518}</string>
+ <string>{-0.49144199999999999, 0.26006299999999999}</string>
+ <string>{0.50711799999999996, -0.22408600000000001}</string>
+ <string>{0.50711799999999996, 0.267179}</string>
+ <string>{-0.27431, -0.474028}</string>
+ <string>{0.27977999999999997, -0.47847800000000001}</string>
+ <string>{0.29393799999999998, 0.54304399999999997}</string>
+ <string>{-0.28623199999999999, 0.55380399999999996}</string>
+ </array>
+ <key>Shape</key>
+ <string>RoundRect</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.898039</string>
+ <key>g</key>
+ <string>0.709804</string>
+ <key>r</key>
+ <string>0.2</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.35</string>
+ <key>b</key>
+ <string>0.328823</string>
+ <key>g</key>
+ <string>0.328823</string>
+ <key>r</key>
+ <string>0.328823</string>
+ </dict>
+ <key>Fuzziness</key>
+ <real>1.5349206924438477</real>
+ <key>ShadowVector</key>
+ <string>{0, 1}</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.8</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>3</real>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\b\fs24 \cf0 Cloud Node}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>Group</string>
+ <key>Graphics</key>
+ <array>
+ <dict>
+ <key>Bounds</key>
+ <string>{{890, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>45</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{810, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>46</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{730, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>47</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{650, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>48</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{570, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>49</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{490, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>50</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{410, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>51</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{330, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>52</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{250, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>53</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{170, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>54</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{90, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>55</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{10, 0}, {60, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>56</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ </array>
+ <key>ID</key>
+ <integer>44</integer>
+ <key>Layer</key>
+ <integer>1</integer>
+ </dict>
+ </array>
+ <key>GridInfo</key>
+ <dict>
+ <key>GridSpacing</key>
+ <real>1</real>
+ <key>MajorGridColor</key>
+ <dict>
+ <key>a</key>
+ <string>0.15</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MajorGridSpacing</key>
+ <integer>10</integer>
+ <key>ShowsGrid</key>
+ <string>YES</string>
+ <key>SnapsToGrid</key>
+ <string>YES</string>
+ </dict>
+ <key>HPages</key>
+ <integer>1</integer>
+ <key>KeepToScale</key>
+ <false/>
+ <key>Layers</key>
+ <array>
+ <dict>
+ <key>Lock</key>
+ <string>NO</string>
+ <key>Name</key>
+ <string>Layer 1</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ <dict>
+ <key>Lock</key>
+ <string>YES</string>
+ <key>Name</key>
+ <string>12 Column Grid</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>NO</string>
+ </dict>
+ </array>
+ <key>LayoutInfo</key>
+ <dict>
+ <key>Animate</key>
+ <string>NO</string>
+ <key>circoMinDist</key>
+ <real>18</real>
+ <key>circoSeparation</key>
+ <real>0.0</real>
+ <key>layoutEngine</key>
+ <string>dot</string>
+ <key>neatoLineLength</key>
+ <real>0.20000000298023224</real>
+ <key>neatoSeparation</key>
+ <real>0.0</real>
+ <key>twopiSeparation</key>
+ <real>0.0</real>
+ </dict>
+ <key>Orientation</key>
+ <integer>2</integer>
+ <key>PrintOnePage</key>
+ <false/>
+ <key>RowAlign</key>
+ <integer>1</integer>
+ <key>RowSpacing</key>
+ <real>24</real>
+ <key>SheetTitle</key>
+ <string>12 Columns</string>
+ <key>UniqueID</key>
+ <integer>1</integer>
+ <key>VPages</key>
+ <integer>1</integer>
+ <key>VerticalGuides</key>
+ <array>
+ <real>10</real>
+ <real>70</real>
+ <real>90</real>
+ <real>149</real>
+ <real>170</real>
+ <real>230</real>
+ <real>250</real>
+ <real>310</real>
+ <real>330</real>
+ <real>390</real>
+ <real>410</real>
+ <real>470</real>
+ <real>490</real>
+ <real>550</real>
+ <real>570</real>
+ <real>630</real>
+ <real>650</real>
+ <real>710</real>
+ <real>730</real>
+ <real>790</real>
+ <real>810</real>
+ <real>870</real>
+ <real>890</real>
+ <real>950</real>
+ </array>
+ </dict>
+ <dict>
+ <key>ActiveLayerIndex</key>
+ <integer>0</integer>
+ <key>AutoAdjust</key>
+ <false/>
+ <key>BackgroundGraphic</key>
+ <dict>
+ <key>Bounds</key>
+ <string>{{0, 0}, {960, 1172}}</string>
+ <key>Class</key>
+ <string>SolidGraphic</string>
+ <key>ID</key>
+ <integer>2</integer>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <key>BaseZoom</key>
+ <integer>0</integer>
+ <key>CanvasOrigin</key>
+ <string>{0, 0}</string>
+ <key>CanvasSize</key>
+ <string>{960, 1172}</string>
+ <key>ColumnAlign</key>
+ <integer>1</integer>
+ <key>ColumnSpacing</key>
+ <real>20</real>
+ <key>DisplayScale</key>
+ <string>1.0 pt = 1.0 px</string>
+ <key>GraphicsList</key>
+ <array>
+ <dict>
+ <key>Class</key>
+ <string>Group</string>
+ <key>Graphics</key>
+ <array>
+ <dict>
+ <key>Bounds</key>
+ <string>{{910, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>165</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{850, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>166</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{790, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>167</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{730, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>168</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{670, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>169</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{610, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>170</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{550, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>171</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{490, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>172</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{430, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>173</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{370, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>174</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{310, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>175</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{250, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>176</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{190, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>177</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{130, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>178</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{70, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>179</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{10, 0}, {40, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>180</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ </array>
+ <key>ID</key>
+ <integer>164</integer>
+ <key>Layer</key>
+ <integer>1</integer>
+ </dict>
+ </array>
+ <key>GridInfo</key>
+ <dict>
+ <key>GridSpacing</key>
+ <real>1</real>
+ <key>MajorGridColor</key>
+ <dict>
+ <key>a</key>
+ <string>0.15</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MajorGridSpacing</key>
+ <integer>10</integer>
+ <key>ShowsGrid</key>
+ <string>YES</string>
+ <key>SnapsToGrid</key>
+ <string>YES</string>
+ </dict>
+ <key>HPages</key>
+ <integer>2</integer>
+ <key>KeepToScale</key>
+ <false/>
+ <key>Layers</key>
+ <array>
+ <dict>
+ <key>Lock</key>
+ <string>NO</string>
+ <key>Name</key>
+ <string>Layer 1</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ <dict>
+ <key>Lock</key>
+ <string>YES</string>
+ <key>Name</key>
+ <string>16 Column Grid</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ </array>
+ <key>LayoutInfo</key>
+ <dict>
+ <key>Animate</key>
+ <string>NO</string>
+ <key>circoMinDist</key>
+ <real>18</real>
+ <key>circoSeparation</key>
+ <real>0.0</real>
+ <key>layoutEngine</key>
+ <string>dot</string>
+ <key>neatoLineLength</key>
+ <real>0.20000000298023224</real>
+ <key>neatoSeparation</key>
+ <real>0.0</real>
+ <key>twopiSeparation</key>
+ <real>0.0</real>
+ </dict>
+ <key>Orientation</key>
+ <integer>2</integer>
+ <key>PrintOnePage</key>
+ <false/>
+ <key>RowAlign</key>
+ <integer>1</integer>
+ <key>RowSpacing</key>
+ <real>24</real>
+ <key>SheetTitle</key>
+ <string>16 Columns</string>
+ <key>UniqueID</key>
+ <integer>2</integer>
+ <key>VPages</key>
+ <integer>2</integer>
+ <key>VerticalGuides</key>
+ <array>
+ <real>10</real>
+ <real>50</real>
+ <real>70</real>
+ <real>110</real>
+ <real>130</real>
+ <real>170</real>
+ <real>190</real>
+ <real>230</real>
+ <real>250</real>
+ <real>290</real>
+ <real>310</real>
+ <real>350</real>
+ <real>370</real>
+ <real>410</real>
+ <real>430</real>
+ <real>470</real>
+ <real>490</real>
+ <real>530</real>
+ <real>550</real>
+ <real>590</real>
+ <real>610</real>
+ <real>650</real>
+ <real>670</real>
+ <real>710</real>
+ <real>730</real>
+ <real>770</real>
+ <real>790</real>
+ <real>830</real>
+ <real>850</real>
+ <real>890</real>
+ <real>910</real>
+ <real>950</real>
+ </array>
+ </dict>
+ <dict>
+ <key>ActiveLayerIndex</key>
+ <integer>0</integer>
+ <key>AutoAdjust</key>
+ <false/>
+ <key>BackgroundGraphic</key>
+ <dict>
+ <key>Bounds</key>
+ <string>{{0, 0}, {960, 1172}}</string>
+ <key>Class</key>
+ <string>SolidGraphic</string>
+ <key>ID</key>
+ <integer>2</integer>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <key>BaseZoom</key>
+ <integer>0</integer>
+ <key>CanvasOrigin</key>
+ <string>{0, 0}</string>
+ <key>CanvasSize</key>
+ <string>{960, 1172}</string>
+ <key>ColumnAlign</key>
+ <integer>1</integer>
+ <key>ColumnSpacing</key>
+ <real>10</real>
+ <key>DisplayScale</key>
+ <string>1.0 pt = 1.0 px</string>
+ <key>GraphicsList</key>
+ <array>
+ <dict>
+ <key>Class</key>
+ <string>Group</string>
+ <key>Graphics</key>
+ <array>
+ <dict>
+ <key>Bounds</key>
+ <string>{{925, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>193</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{885, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>194</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{845, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>195</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{805, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>196</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{765, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>197</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{725, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>198</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{685, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>199</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{645, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>200</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{605, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>201</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{565, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>202</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{525, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>203</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{485, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>204</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{445, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>205</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{405, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>206</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{365, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>207</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{325, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>208</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{285, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>209</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{245, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>210</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{205, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>211</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{165, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>212</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{125, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>213</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{85, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>214</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{45, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>215</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{5, 0}, {30, 1172}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Helvetica</string>
+ <key>Size</key>
+ <real>12</real>
+ </dict>
+ <key>ID</key>
+ <integer>216</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>a</key>
+ <string>0.1</string>
+ <key>b</key>
+ <string>1</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ </array>
+ <key>ID</key>
+ <integer>192</integer>
+ <key>Layer</key>
+ <integer>1</integer>
+ </dict>
+ </array>
+ <key>GridInfo</key>
+ <dict>
+ <key>GridSpacing</key>
+ <real>1</real>
+ <key>MajorGridColor</key>
+ <dict>
+ <key>a</key>
+ <string>0.15</string>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MajorGridSpacing</key>
+ <integer>5</integer>
+ <key>ShowsGrid</key>
+ <string>YES</string>
+ <key>SnapsToGrid</key>
+ <string>YES</string>
+ </dict>
+ <key>HPages</key>
+ <integer>2</integer>
+ <key>KeepToScale</key>
+ <false/>
+ <key>Layers</key>
+ <array>
+ <dict>
+ <key>Lock</key>
+ <string>NO</string>
+ <key>Name</key>
+ <string>Layer 1</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ <dict>
+ <key>Lock</key>
+ <string>YES</string>
+ <key>Name</key>
+ <string>24 Column Grid</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ </array>
+ <key>LayoutInfo</key>
+ <dict>
+ <key>Animate</key>
+ <string>NO</string>
+ <key>circoMinDist</key>
+ <real>18</real>
+ <key>circoSeparation</key>
+ <real>0.0</real>
+ <key>layoutEngine</key>
+ <string>dot</string>
+ <key>neatoLineLength</key>
+ <real>0.20000000298023224</real>
+ <key>neatoSeparation</key>
+ <real>0.0</real>
+ <key>twopiSeparation</key>
+ <real>0.0</real>
+ </dict>
+ <key>Orientation</key>
+ <integer>2</integer>
+ <key>PrintOnePage</key>
+ <false/>
+ <key>RowAlign</key>
+ <integer>1</integer>
+ <key>RowSpacing</key>
+ <real>24</real>
+ <key>SheetTitle</key>
+ <string>24 Columns</string>
+ <key>UniqueID</key>
+ <integer>3</integer>
+ <key>VPages</key>
+ <integer>2</integer>
+ <key>VerticalGuides</key>
+ <array>
+ <real>5</real>
+ <real>35</real>
+ <real>45</real>
+ <real>75</real>
+ <real>85</real>
+ <real>115</real>
+ <real>125</real>
+ <real>155</real>
+ <real>165</real>
+ <real>195</real>
+ <real>205</real>
+ <real>235</real>
+ <real>245</real>
+ <real>275</real>
+ <real>285</real>
+ <real>315</real>
+ <real>325</real>
+ <real>355</real>
+ <real>365</real>
+ <real>395</real>
+ <real>405</real>
+ <real>435</real>
+ <real>445</real>
+ <real>475</real>
+ <real>485</real>
+ <real>515</real>
+ <real>525</real>
+ <real>555</real>
+ <real>565</real>
+ <real>595</real>
+ <real>605</real>
+ <real>635</real>
+ <real>645</real>
+ <real>675</real>
+ <real>685</real>
+ <real>715</real>
+ <real>725</real>
+ <real>755</real>
+ <real>765</real>
+ <real>795</real>
+ <real>805</real>
+ <real>835</real>
+ <real>845</real>
+ <real>875</real>
+ <real>885</real>
+ <real>915</real>
+ <real>925</real>
+ <real>955</real>
+ </array>
+ </dict>
+ </array>
+ <key>SmartAlignmentGuidesActive</key>
+ <string>YES</string>
+ <key>SmartDistanceGuidesActive</key>
+ <string>YES</string>
+ <key>UseEntirePage</key>
+ <false/>
+ <key>WindowInfo</key>
+ <dict>
+ <key>BottomSlabHeight</key>
+ <real>471</real>
+ <key>CurrentSheet</key>
+ <integer>0</integer>
+ <key>Expanded_Canvases</key>
+ <array/>
+ <key>ShowInfo</key>
+ <true/>
+ <key>ShowRuler</key>
+ <true/>
+ <key>Sidebar</key>
+ <true/>
+ <key>SidebarWidth</key>
+ <integer>230</integer>
+ <key>VisibleRegion</key>
+ <string>{{0, 0}, {893, 674}}</string>
+ <key>Zoom</key>
+ <real>1</real>
+ <key>ZoomValues</key>
+ <array>
+ <array>
+ <string>12 Columns</string>
+ <real>1</real>
+ <real>1</real>
+ </array>
+ </array>
+ </dict>
+</dict>
+</plist>
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 48afcbf..2acb8ba 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -81,10 +81,6 @@
*/
protected int mScreenDensity = Bitmap.DENSITY_NONE;
- // Used by native code
- @SuppressWarnings("UnusedDeclaration")
- private int mSurfaceFormat;
-
/**
* Flag for drawTextRun indicating left-to-right run direction.
* @hide
@@ -137,7 +133,7 @@
public Canvas() {
if (!isHardwareAccelerated()) {
// 0 means no native bitmap
- mNativeCanvasWrapper = initRaster(0);
+ mNativeCanvasWrapper = initRaster(null);
mFinalizer = new CanvasFinalizer(mNativeCanvasWrapper);
} else {
mFinalizer = null;
@@ -158,7 +154,7 @@
throw new IllegalStateException("Immutable bitmap passed to Canvas constructor");
}
throwIfCannotDraw(bitmap);
- mNativeCanvasWrapper = initRaster(bitmap.getSkBitmap());
+ mNativeCanvasWrapper = initRaster(bitmap);
mFinalizer = new CanvasFinalizer(mNativeCanvasWrapper);
mBitmap = bitmap;
mDensity = bitmap.mDensity;
@@ -215,7 +211,7 @@
}
if (bitmap == null) {
- native_setBitmap(mNativeCanvasWrapper, 0, false);
+ native_setBitmap(mNativeCanvasWrapper, null);
mDensity = Bitmap.DENSITY_NONE;
} else {
if (!bitmap.isMutable()) {
@@ -223,7 +219,7 @@
}
throwIfCannotDraw(bitmap);
- native_setBitmap(mNativeCanvasWrapper, bitmap.getSkBitmap(), true);
+ native_setBitmap(mNativeCanvasWrapper, bitmap);
mDensity = bitmap.mDensity;
}
@@ -231,13 +227,6 @@
}
/**
- * setBitmap() variant for native callers with a raw bitmap handle.
- */
- private void setNativeBitmap(long bitmapHandle) {
- native_setBitmap(mNativeCanvasWrapper, bitmapHandle, false);
- }
-
- /**
* Set the viewport dimensions if this canvas is GL based. If it is not,
* this method is ignored and no exception is thrown.
*
@@ -1976,10 +1965,9 @@
*/
public static native void freeTextLayoutCaches();
- private static native long initRaster(long nativeBitmapOrZero);
+ private static native long initRaster(Bitmap bitmap);
private static native void native_setBitmap(long canvasHandle,
- long bitmapHandle,
- boolean copyState);
+ Bitmap bitmap);
private static native boolean native_isOpaque(long canvasHandle);
private static native int native_getWidth(long canvasHandle);
private static native int native_getHeight(long canvasHandle);
diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java
index a9a8f37..f036b19 100644
--- a/graphics/java/android/graphics/Rect.java
+++ b/graphics/java/android/graphics/Rect.java
@@ -16,6 +16,7 @@
package android.graphics;
+import android.annotation.CheckResult;
import android.os.Parcel;
import android.os.Parcelable;
@@ -389,6 +390,7 @@
* (and this rectangle is then set to that intersection) else
* return false and do not change this rectangle.
*/
+ @CheckResult
public boolean intersect(int left, int top, int right, int bottom) {
if (this.left < right && left < this.right && this.top < bottom && top < this.bottom) {
if (this.left < left) this.left = left;
@@ -411,6 +413,7 @@
* (and this rectangle is then set to that intersection) else
* return false and do not change this rectangle.
*/
+ @CheckResult
public boolean intersect(Rect r) {
return intersect(r.left, r.top, r.right, r.bottom);
}
@@ -427,6 +430,7 @@
* this rectangle to that intersection. If they do not, return
* false and do not change this rectangle.
*/
+ @CheckResult
public boolean setIntersect(Rect a, Rect b) {
if (a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom) {
left = Math.max(a.left, b.left);
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index 8468d9e..3bbbc71 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -86,7 +86,6 @@
LayerState mLayerState;
- private int mOpacityOverride = PixelFormat.UNKNOWN;
private int[] mPaddingL;
private int[] mPaddingT;
private int[] mPaddingR;
@@ -177,12 +176,39 @@
// Extract the theme attributes, if any.
state.mThemeAttrs = a.extractThemeAttrs();
- mOpacityOverride = a.getInt(R.styleable.LayerDrawable_opacity, mOpacityOverride);
-
- state.mAutoMirrored = a.getBoolean(R.styleable.LayerDrawable_autoMirrored,
- state.mAutoMirrored);
- state.mPaddingMode = a.getInteger(R.styleable.LayerDrawable_paddingMode,
- state.mPaddingMode);
+ final int N = a.getIndexCount();
+ for (int i = 0; i < N; i++) {
+ int attr = a.getIndex(i);
+ switch (attr) {
+ case R.styleable.LayerDrawable_opacity:
+ state.mOpacityOverride = a.getInt(attr, state.mOpacityOverride);
+ break;
+ case R.styleable.LayerDrawable_paddingTop:
+ state.mPaddingTop = a.getDimensionPixelOffset(attr, state.mPaddingTop);
+ break;
+ case R.styleable.LayerDrawable_paddingBottom:
+ state.mPaddingBottom = a.getDimensionPixelOffset(attr, state.mPaddingBottom);
+ break;
+ case R.styleable.LayerDrawable_paddingLeft:
+ state.mPaddingLeft = a.getDimensionPixelOffset(attr, state.mPaddingLeft);
+ break;
+ case R.styleable.LayerDrawable_paddingRight:
+ state.mPaddingRight = a.getDimensionPixelOffset(attr, state.mPaddingRight);
+ break;
+ case R.styleable.LayerDrawable_paddingStart:
+ state.mPaddingStart = a.getDimensionPixelOffset(attr, state.mPaddingStart);
+ break;
+ case R.styleable.LayerDrawable_paddingEnd:
+ state.mPaddingEnd = a.getDimensionPixelOffset(attr, state.mPaddingEnd);
+ break;
+ case R.styleable.LayerDrawable_autoMirrored:
+ state.mAutoMirrored = a.getBoolean(attr, state.mAutoMirrored);
+ break;
+ case R.styleable.LayerDrawable_paddingMode:
+ state.mPaddingMode = a.getInteger(attr, state.mPaddingMode);
+ break;
+ }
+ }
}
/**
@@ -895,15 +921,210 @@
@Override
public boolean getPadding(Rect padding) {
- if (mLayerState.mPaddingMode == PADDING_MODE_NEST) {
+ final LayerState layerState = mLayerState;
+ if (layerState.mPaddingMode == PADDING_MODE_NEST) {
computeNestedPadding(padding);
} else {
computeStackedPadding(padding);
}
+ // If padding was explicitly specified (e.g. not -1) then override the
+ // computed padding in that dimension.
+ if (layerState.mPaddingTop >= 0) {
+ padding.top = layerState.mPaddingTop;
+ }
+
+ if (layerState.mPaddingBottom >= 0) {
+ padding.bottom = layerState.mPaddingBottom;
+ }
+
+ final int paddingRtlLeft;
+ final int paddingRtlRight;
+ if (getLayoutDirection() == LayoutDirection.RTL) {
+ paddingRtlLeft = layerState.mPaddingEnd;
+ paddingRtlRight = layerState.mPaddingStart;
+ } else {
+ paddingRtlLeft = layerState.mPaddingStart;
+ paddingRtlRight = layerState.mPaddingEnd;
+ }
+
+ final int paddingLeft = paddingRtlLeft >= 0 ? paddingRtlLeft : layerState.mPaddingLeft;
+ if (paddingLeft >= 0) {
+ padding.left = paddingLeft;
+ }
+
+ final int paddingRight = paddingRtlRight >= 0 ? paddingRtlRight : layerState.mPaddingRight;
+ if (paddingRight >= 0) {
+ padding.right = paddingRight;
+ }
+
return padding.left != 0 || padding.top != 0 || padding.right != 0 || padding.bottom != 0;
}
+ /**
+ * Sets the absolute padding.
+ * <p>
+ * If padding in a dimension is specified as {@code -1}, the resolved
+ * padding will use the value computed according to the padding mode (see
+ * {@link #setPaddingMode(int)}).
+ * <p>
+ * Calling this method clears any relative padding values previously set
+ * using {@link #setPaddingRelative(int, int, int, int)}.
+ *
+ * @param left the left padding in pixels, or -1 to use computed padding
+ * @param top the top padding in pixels, or -1 to use computed padding
+ * @param right the right padding in pixels, or -1 to use computed padding
+ * @param bottom the bottom padding in pixels, or -1 to use computed
+ * padding
+ * @attr ref android.R.styleable#LayerDrawable_paddingLeft
+ * @attr ref android.R.styleable#LayerDrawable_paddingTop
+ * @attr ref android.R.styleable#LayerDrawable_paddingRight
+ * @attr ref android.R.styleable#LayerDrawable_paddingBottom
+ * @see #setPaddingRelative(int, int, int, int)
+ */
+ public void setPadding(int left, int top, int right, int bottom) {
+ final LayerState layerState = mLayerState;
+ layerState.mPaddingLeft = left;
+ layerState.mPaddingTop = top;
+ layerState.mPaddingRight = right;
+ layerState.mPaddingBottom = bottom;
+
+ // Clear relative padding values.
+ layerState.mPaddingStart = -1;
+ layerState.mPaddingEnd = -1;
+ }
+
+ /**
+ * Sets the relative padding.
+ * <p>
+ * If padding in a dimension is specified as {@code -1}, the resolved
+ * padding will use the value computed according to the padding mode (see
+ * {@link #setPaddingMode(int)}).
+ * <p>
+ * Calling this method clears any absolute padding values previously set
+ * using {@link #setPadding(int, int, int, int)}.
+ *
+ * @param start the start padding in pixels, or -1 to use computed padding
+ * @param top the top padding in pixels, or -1 to use computed padding
+ * @param end the end padding in pixels, or -1 to use computed padding
+ * @param bottom the bottom padding in pixels, or -1 to use computed
+ * padding
+ * @attr ref android.R.styleable#LayerDrawable_paddingStart
+ * @attr ref android.R.styleable#LayerDrawable_paddingTop
+ * @attr ref android.R.styleable#LayerDrawable_paddingEnd
+ * @attr ref android.R.styleable#LayerDrawable_paddingBottom
+ * @see #setPadding(int, int, int, int)
+ */
+ public void setPaddingRelative(int start, int top, int end, int bottom) {
+ final LayerState layerState = mLayerState;
+ layerState.mPaddingStart = start;
+ layerState.mPaddingTop = top;
+ layerState.mPaddingEnd = end;
+ layerState.mPaddingBottom = bottom;
+
+ // Clear absolute padding values.
+ layerState.mPaddingLeft = -1;
+ layerState.mPaddingRight = -1;
+ }
+
+ /**
+ * Returns the left padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the left padding in pixels, or -1 if not explicitly specified
+ * @see #setPadding(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getLeftPadding() {
+ return mLayerState.mPaddingLeft;
+ }
+
+ /**
+ * Returns the right padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the right padding in pixels, or -1 if not explicitly specified
+ * @see #setPadding(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getRightPadding() {
+ return mLayerState.mPaddingRight;
+ }
+
+ /**
+ * Returns the start padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the start padding in pixels, or -1 if not explicitly specified
+ * @see #setPaddingRelative(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getStartPadding() {
+ return mLayerState.mPaddingStart;
+ }
+
+ /**
+ * Returns the end padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the end padding in pixels, or -1 if not explicitly specified
+ * @see #setPaddingRelative(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getEndPadding() {
+ return mLayerState.mPaddingEnd;
+ }
+
+ /**
+ * Returns the top padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the top padding in pixels, or -1 if not explicitly specified
+ * @see #setPadding(int, int, int, int)
+ * @see #setPaddingRelative(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getTopPadding() {
+ return mLayerState.mPaddingTop;
+ }
+
+ /**
+ * Returns the bottom padding in pixels.
+ * <p>
+ * A return value of {@code -1} means there is no explicit padding set for
+ * this dimension. As a result, the value for this dimension returned by
+ * {@link #getPadding(Rect)} will be computed from the child layers
+ * according to the padding mode (see {@link #getPaddingMode()}.
+ *
+ * @return the bottom padding in pixels, or -1 if not explicitly specified
+ * @see #setPadding(int, int, int, int)
+ * @see #setPaddingRelative(int, int, int, int)
+ * @see #getPadding(Rect)
+ */
+ public int getBottomPadding() {
+ return mLayerState.mPaddingBottom;
+ }
+
private void computeNestedPadding(Rect padding) {
padding.left = 0;
padding.top = 0;
@@ -1109,8 +1330,8 @@
}
/**
- * Sets the opacity of this drawable directly, instead of collecting the
- * states from the layers
+ * Sets the opacity of this drawable directly instead of collecting the
+ * states from the layers.
*
* @param opacity The opacity to use, or {@link PixelFormat#UNKNOWN
* PixelFormat.UNKNOWN} for the default behavior
@@ -1120,13 +1341,13 @@
* @see PixelFormat#OPAQUE
*/
public void setOpacity(int opacity) {
- mOpacityOverride = opacity;
+ mLayerState.mOpacityOverride = opacity;
}
@Override
public int getOpacity() {
- if (mOpacityOverride != PixelFormat.UNKNOWN) {
- return mOpacityOverride;
+ if (mLayerState.mOpacityOverride != PixelFormat.UNKNOWN) {
+ return mLayerState.mOpacityOverride;
}
return mLayerState.getOpacity();
}
@@ -1265,12 +1486,12 @@
* dimension, defaults to START or TOP. Otherwise, defaults to FILL to
* preserve legacy behavior.
*
- * @param gravity
- * @param width
- * @param height
- * @return
+ * @param gravity layer gravity
+ * @param width width of the layer if set, -1 otherwise
+ * @param height height of the layer if set, -1 otherwise
+ * @return the default gravity for the layer
*/
- private int resolveGravity(int gravity, int width, int height) {
+ private static int resolveGravity(int gravity, int width, int height) {
if (!Gravity.isHorizontal(gravity)) {
if (width < 0) {
gravity |= Gravity.FILL_HORIZONTAL;
@@ -1504,6 +1725,14 @@
ChildDrawable[] mChildren;
int[] mThemeAttrs;
+ int mPaddingTop = -1;
+ int mPaddingBottom = -1;
+ int mPaddingLeft = -1;
+ int mPaddingRight = -1;
+ int mPaddingStart = -1;
+ int mPaddingEnd = -1;
+ int mOpacityOverride = PixelFormat.UNKNOWN;
+
int mChangingConfigurations;
int mChildrenChangingConfigurations;
@@ -1540,6 +1769,13 @@
mAutoMirrored = orig.mAutoMirrored;
mPaddingMode = orig.mPaddingMode;
mThemeAttrs = orig.mThemeAttrs;
+ mPaddingTop = orig.mPaddingTop;
+ mPaddingBottom = orig.mPaddingBottom;
+ mPaddingLeft = orig.mPaddingLeft;
+ mPaddingRight = orig.mPaddingRight;
+ mPaddingStart = orig.mPaddingStart;
+ mPaddingEnd = orig.mPaddingEnd;
+ mOpacityOverride = orig.mOpacityOverride;
} else {
mNum = 0;
mChildren = null;
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java
index 6731a17..f67dcb3 100644
--- a/graphics/java/android/graphics/drawable/RippleDrawable.java
+++ b/graphics/java/android/graphics/drawable/RippleDrawable.java
@@ -323,7 +323,21 @@
*/
@Override
public boolean isProjected() {
- return getNumberOfLayers() == 0;
+ // If the maximum radius is contained entirely within the bounds, we
+ // don't need to project this ripple.
+ final int radius = mState.mMaxRadius;
+ final Rect bounds = getBounds();
+ if (radius != RADIUS_AUTO && radius <= bounds.width() / 2
+ && radius <= bounds.height() / 2) {
+ return false;
+ }
+
+ // Otherwise, if the layer is bounded then we don't need to project.
+ return !isBounded();
+ }
+
+ private boolean isBounded() {
+ return getNumberOfLayers() > 0;
}
@Override
@@ -545,7 +559,7 @@
y = mHotspotBounds.exactCenterY();
}
- final boolean isBounded = !isProjected();
+ final boolean isBounded = isBounded();
mRipple = new RippleForeground(this, mHotspotBounds, x, y, isBounded);
}
@@ -866,7 +880,7 @@
@Override
public Rect getDirtyBounds() {
- if (isProjected()) {
+ if (!isBounded()) {
final Rect drawingBounds = mDrawingBounds;
final Rect dirtyBounds = mDirtyBounds;
dirtyBounds.set(drawingBounds);
diff --git a/libs/hwui/Canvas.h b/libs/hwui/Canvas.h
index 7ad0683..aa24673 100644
--- a/libs/hwui/Canvas.h
+++ b/libs/hwui/Canvas.h
@@ -29,7 +29,7 @@
public:
virtual ~Canvas() {};
- static Canvas* create_canvas(SkBitmap* bitmap);
+ static Canvas* create_canvas(const SkBitmap& bitmap);
/**
* Create a new Canvas object which delegates to an SkCanvas.
@@ -52,7 +52,7 @@
*/
virtual SkCanvas* asSkCanvas() = 0;
- virtual void setBitmap(SkBitmap* bitmap, bool copyState) = 0;
+ virtual void setBitmap(const SkBitmap& bitmap) = 0;
virtual bool isOpaque() = 0;
virtual int width() = 0;
@@ -87,7 +87,8 @@
virtual bool quickRejectRect(float left, float top, float right, float bottom) const = 0;
virtual bool quickRejectPath(const SkPath& path) const = 0;
- virtual bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op) = 0;
+ virtual bool clipRect(float left, float top, float right, float bottom,
+ SkRegion::Op op = SkRegion::kIntersect_Op) = 0;
virtual bool clipPath(const SkPath* path, SkRegion::Op op) = 0;
virtual bool clipRegion(const SkRegion* region, SkRegion::Op op) = 0;
diff --git a/libs/hwui/DisplayListCanvas.h b/libs/hwui/DisplayListCanvas.h
index a9ac57d..2b0b6b2 100644
--- a/libs/hwui/DisplayListCanvas.h
+++ b/libs/hwui/DisplayListCanvas.h
@@ -136,7 +136,7 @@
// ----------------------------------------------------------------------------
virtual SkCanvas* asSkCanvas() override;
- virtual void setBitmap(SkBitmap* bitmap, bool copyState) override {
+ virtual void setBitmap(const SkBitmap& bitmap) override {
LOG_ALWAYS_FATAL("DisplayListCanvas is not backed by a bitmap.");
}
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index 8b11757..a323065 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -31,7 +31,7 @@
// Holds an SkCanvas reference plus additional native data.
class SkiaCanvas : public Canvas {
public:
- explicit SkiaCanvas(SkBitmap* bitmap);
+ explicit SkiaCanvas(const SkBitmap& bitmap);
/**
* Create a new SkiaCanvas.
@@ -49,7 +49,7 @@
return mCanvas.get();
}
- virtual void setBitmap(SkBitmap* bitmap, bool copyState) override;
+ virtual void setBitmap(const SkBitmap& bitmap) override;
virtual bool isOpaque() override;
virtual int width() override;
@@ -145,19 +145,7 @@
SkAutoTDelete<SkDeque> mSaveStack; // lazily allocated, tracks partial saves.
};
-// Construct an SkCanvas from the bitmap.
-static SkCanvas* createCanvas(SkBitmap* bitmap) {
- if (bitmap) {
- return SkNEW_ARGS(SkCanvas, (*bitmap));
- }
-
- // Create an empty bitmap device to prevent callers from crashing
- // if they attempt to draw into this canvas.
- SkBitmap emptyBitmap;
- return new SkCanvas(emptyBitmap);
-}
-
-Canvas* Canvas::create_canvas(SkBitmap* bitmap) {
+Canvas* Canvas::create_canvas(const SkBitmap& bitmap) {
return new SkiaCanvas(bitmap);
}
@@ -165,8 +153,8 @@
return new SkiaCanvas(skiaCanvas);
}
-SkiaCanvas::SkiaCanvas(SkBitmap* bitmap) {
- mCanvas.reset(createCanvas(bitmap));
+SkiaCanvas::SkiaCanvas(const SkBitmap& bitmap) {
+ mCanvas.reset(new SkCanvas(bitmap));
}
// ----------------------------------------------------------------------------
@@ -191,11 +179,11 @@
SkCanvas* m_dstCanvas;
};
-void SkiaCanvas::setBitmap(SkBitmap* bitmap, bool copyState) {
- SkCanvas* newCanvas = createCanvas(bitmap);
+void SkiaCanvas::setBitmap(const SkBitmap& bitmap) {
+ SkCanvas* newCanvas = new SkCanvas(bitmap);
SkASSERT(newCanvas);
- if (copyState) {
+ if (!bitmap.isNull()) {
// Copy the canvas matrix & clip state.
newCanvas->setMatrix(mCanvas->getTotalMatrix());
if (NULL != mCanvas->getDevice() && NULL != newCanvas->getDevice()) {
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index 3e771f4..8bbfb51 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -166,10 +166,14 @@
*/
private int mChannelCount;
/**
- * The audio channel mask
+ * The audio channel position mask
*/
private int mChannelMask;
/**
+ * The audio channel index mask
+ */
+ private int mChannelIndexMask;
+ /**
* The encoding of the audio samples.
* @see AudioFormat#ENCODING_PCM_8BIT
* @see AudioFormat#ENCODING_PCM_16BIT
@@ -344,14 +348,19 @@
audioParamCheck(attributes.getCapturePreset(), rate, encoding);
- int channelMask = AudioFormat.CHANNEL_IN_DEFAULT;
if ((format.getPropertySetMask()
- & AudioFormat.AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK) != 0)
- {
- channelMask = format.getChannelMask();
+ & AudioFormat.AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_INDEX_MASK) != 0) {
+ mChannelIndexMask = format.getChannelIndexMask();
+ mChannelCount = format.getChannelCount();
}
- mChannelCount = AudioFormat.channelCountFromInChannelMask(channelMask);
- mChannelMask = getChannelMaskFromLegacyConfig(channelMask, false);
+ if ((format.getPropertySetMask()
+ & AudioFormat.AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK) != 0) {
+ mChannelMask = getChannelMaskFromLegacyConfig(format.getChannelMask(), false);
+ mChannelCount = format.getChannelCount();
+ } else if (mChannelIndexMask == 0) {
+ mChannelMask = getChannelMaskFromLegacyConfig(AudioFormat.CHANNEL_IN_DEFAULT, false);
+ mChannelCount = AudioFormat.channelCountFromInChannelMask(mChannelMask);
+ }
audioBuffSizeCheck(bufferSizeInBytes);
@@ -360,7 +369,8 @@
//TODO: update native initialization when information about hardware init failure
// due to capture device already open is available.
int initResult = native_setup( new WeakReference<AudioRecord>(this),
- mAudioAttributes, mSampleRate, mChannelMask, mAudioFormat, mNativeBufferSizeInBytes,
+ mAudioAttributes, mSampleRate, mChannelMask, mChannelIndexMask,
+ mAudioFormat, mNativeBufferSizeInBytes,
session);
if (initResult != SUCCESS) {
loge("Error code "+initResult+" when initializing native AudioRecord object.");
@@ -1269,7 +1279,7 @@
private native final int native_setup(Object audiorecord_this,
Object /*AudioAttributes*/ attributes,
- int sampleRate, int channelMask, int audioFormat,
+ int sampleRate, int channelMask, int channelIndexMask, int audioFormat,
int buffSizeInBytes, int[] sessionId);
// TODO remove: implementation calls directly into implementation of native_release()
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index 44455fa..093ff26 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -19,7 +19,9 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
+import java.lang.Math;
import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import java.nio.NioUtils;
import android.annotation.IntDef;
@@ -279,6 +281,14 @@
* Reference to the app-ops service.
*/
private final IAppOpsService mAppOps;
+ /**
+ * HW_AV_SYNC track AV Sync Header
+ */
+ private ByteBuffer mAvSyncHeader = null;
+ /**
+ * HW_AV_SYNC track audio data bytes remaining to write after current AV sync header
+ */
+ private int mAvSyncBytesRemaining = 0;
//--------------------------------
// Used exclusively by native code
@@ -936,13 +946,30 @@
}
/**
- * Returns the current playback rate in Hz.
+ * Returns the current playback sample rate rate in Hz.
*/
public int getPlaybackRate() {
return native_get_playback_rate();
}
/**
+ * Returns the current playback settings.
+ * See {@link #setPlaybackSettings(PlaybackSettings)} to set playback settings
+ * @return current {@link PlaybackSettings}.
+ * @throws IllegalStateException if track is not initialized.
+ */
+ public @NonNull PlaybackSettings getPlaybackSettings() {
+ float[] floatArray = new float[2];
+ int[] intArray = new int[2];
+ native_get_playback_settings(floatArray, intArray);
+ return new PlaybackSettings()
+ .setSpeed(floatArray[0])
+ .setPitch(floatArray[1])
+ .setAudioFallbackMode(intArray[0])
+ .setAudioStretchMode(intArray[1]);
+ }
+
+ /**
* Returns the configured audio data format. See {@link AudioFormat#ENCODING_PCM_16BIT}
* and {@link AudioFormat#ENCODING_PCM_8BIT}.
*/
@@ -1297,6 +1324,7 @@
* playback to last twice as long, but will also result in a pitch shift down by one octave.
* The valid sample rate range is from 1 Hz to twice the value returned by
* {@link #getNativeOutputSampleRate(int)}.
+ * Use {@link #setPlaybackSettings(PlaybackSettings)} for speed control.
* @param sampleRateInHz the sample rate expressed in Hz
* @return error code or success, see {@link #SUCCESS}, {@link #ERROR_BAD_VALUE},
* {@link #ERROR_INVALID_OPERATION}
@@ -1313,6 +1341,42 @@
/**
+ * Sets the playback settings.
+ * This method returns failure if it cannot apply the playback settings.
+ * One possible cause is that the parameters for speed or pitch are out of range.
+ * Another possible cause is that the <code>AudioTrack</code> is streaming
+ * (see {@link #MODE_STREAM}) and the
+ * buffer size is too small. For speeds greater than 1.0f, the <code>AudioTrack</code> buffer
+ * on configuration must be larger than the speed multiplied by the minimum size
+ * {@link #getMinBufferSize(int, int, int)}) to allow proper playback.
+ * @param settings see {@link PlaybackSettings}. In particular,
+ * speed, pitch, and audio mode should be set.
+ * @throws IllegalArgumentException if the settings are invalid or not accepted.
+ * @throws IllegalStateException if track is not initialized.
+ */
+ public void setPlaybackSettings(@NonNull PlaybackSettings settings) {
+ if (settings == null) {
+ throw new IllegalArgumentException("settings is null");
+ }
+ float[] floatArray;
+ int[] intArray;
+ try {
+ floatArray = new float[] {
+ settings.getSpeed(),
+ settings.getPitch(),
+ };
+ intArray = new int[] {
+ settings.getAudioFallbackMode(),
+ settings.getAudioStretchMode(),
+ };
+ } catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
+ native_set_playback_settings(floatArray, intArray);
+ }
+
+
+ /**
* Sets the position of the notification marker. At most one marker can be active.
* @param markerInFrames marker position in wrapping frame units similar to
* {@link #getPlaybackHeadPosition}, or zero to disable the marker.
@@ -1489,6 +1553,8 @@
synchronized(mPlayStateLock) {
native_stop();
mPlayState = PLAYSTATE_STOPPED;
+ mAvSyncHeader = null;
+ mAvSyncBytesRemaining = 0;
}
}
@@ -1533,6 +1599,8 @@
if (mState == STATE_INITIALIZED) {
// flush the data in native layer
native_flush();
+ mAvSyncHeader = null;
+ mAvSyncBytesRemaining = 0;
}
}
@@ -1849,6 +1917,86 @@
}
/**
+ * Writes the audio data to the audio sink for playback (streaming mode) on a HW_AV_SYNC track.
+ * In streaming mode, the blocking behavior will depend on the write mode.
+ * @param audioData the buffer that holds the data to play, starting at the position reported
+ * by <code>audioData.position()</code>.
+ * <BR>Note that upon return, the buffer position (<code>audioData.position()</code>) will
+ * have been advanced to reflect the amount of data that was successfully written to
+ * the AudioTrack.
+ * @param sizeInBytes number of bytes to write.
+ * <BR>Note this may differ from <code>audioData.remaining()</code>, but cannot exceed it.
+ * @param writeMode one of {@link #WRITE_BLOCKING}, {@link #WRITE_NON_BLOCKING}.
+ * <BR>With {@link #WRITE_BLOCKING}, the write will block until all data has been written
+ * to the audio sink.
+ * <BR>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after
+ * queuing as much audio data for playback as possible without blocking.
+ * @param timestamp The timestamp of the first decodable audio frame in the provided audioData.
+ * @return 0 or a positive number of bytes that were written, or
+ * {@link #ERROR_BAD_VALUE}, {@link #ERROR_INVALID_OPERATION}, or
+ * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and
+ * needs to be recreated.
+ */
+ public int write(ByteBuffer audioData, int sizeInBytes,
+ @WriteMode int writeMode, long timestamp) {
+
+ 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);
+ }
+
+ if ((audioData == null) || (sizeInBytes < 0) || (sizeInBytes > audioData.remaining())) {
+ Log.e(TAG, "AudioTrack.write() called with invalid size (" + sizeInBytes + ") value");
+ return ERROR_BAD_VALUE;
+ }
+
+ // create timestamp header if none exists
+ if (mAvSyncHeader == null) {
+ mAvSyncHeader = ByteBuffer.allocate(16);
+ mAvSyncHeader.order(ByteOrder.BIG_ENDIAN);
+ mAvSyncHeader.putInt(0x55550001);
+ mAvSyncHeader.putInt(sizeInBytes);
+ mAvSyncHeader.putLong(timestamp);
+ mAvSyncHeader.position(0);
+ mAvSyncBytesRemaining = sizeInBytes;
+ }
+
+ // write timestamp header if not completely written already
+ int ret = 0;
+ if (mAvSyncHeader.remaining() != 0) {
+ ret = write(mAvSyncHeader, mAvSyncHeader.remaining(), writeMode);
+ if (ret < 0) {
+ Log.e(TAG, "AudioTrack.write() could not write timestamp header!");
+ mAvSyncHeader = null;
+ mAvSyncBytesRemaining = 0;
+ return ret;
+ }
+ if (mAvSyncHeader.remaining() > 0) {
+ Log.v(TAG, "AudioTrack.write() partial timestamp header written.");
+ return 0;
+ }
+ }
+
+ // write audio data
+ int sizeToWrite = Math.min(mAvSyncBytesRemaining, sizeInBytes);
+ ret = write(audioData, sizeToWrite, writeMode);
+ if (ret < 0) {
+ Log.e(TAG, "AudioTrack.write() could not write audio data!");
+ mAvSyncHeader = null;
+ mAvSyncBytesRemaining = 0;
+ return ret;
+ }
+
+ mAvSyncBytesRemaining -= ret;
+ if (mAvSyncBytesRemaining == 0) {
+ mAvSyncHeader = null;
+ }
+
+ return ret;
+ }
+
+
+ /**
* Sets the playback head position within the static buffer to zero,
* that is it rewinds to start of static buffer.
* The track must be stopped or paused, and
@@ -2113,6 +2261,15 @@
private native final int native_set_playback_rate(int sampleRateInHz);
private native final int native_get_playback_rate();
+ // floatArray must be a non-null array of length >= 2
+ // [0] is speed
+ // [1] is pitch
+ // intArray must be a non-null array of length >= 2
+ // [0] is audio fallback mode
+ // [1] is audio stretch mode
+ private native final void native_set_playback_settings(float[] floatArray, int[] intArray);
+ private native final void native_get_playback_settings(float[] floatArray, int[] intArray);
+
private native final int native_set_marker_pos(int marker);
private native final int native_get_marker_pos();
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index d82afdf..1f00c7b 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -16,6 +16,9 @@
package android.media;
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.graphics.ImageFormat;
import android.graphics.Rect;
import android.media.Image;
@@ -30,6 +33,8 @@
import android.view.Surface;
import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer;
import java.nio.ReadOnlyBufferException;
import java.util.Arrays;
@@ -253,7 +258,7 @@
* {@link #BUFFER_FLAG_END_OF_STREAM}.
*/
public void set(
- int newOffset, int newSize, long newTimeUs, int newFlags) {
+ int newOffset, int newSize, long newTimeUs, @BufferFlag int newFlags) {
offset = newOffset;
size = newSize;
presentationTimeUs = newTimeUs;
@@ -293,7 +298,16 @@
* be an empty buffer, whose sole purpose is to carry the end-of-stream
* marker.
*/
+ @BufferFlag
public int flags;
+
+ /** @hide */
+ @NonNull
+ public BufferInfo dup() {
+ BufferInfo copy = new BufferInfo();
+ copy.set(offset, size, presentationTimeUs, flags);
+ return copy;
+ }
};
// The follow flag constants MUST stay in sync with their equivalents
@@ -325,11 +339,37 @@
*/
public static final int BUFFER_FLAG_END_OF_STREAM = 4;
+ /** @hide */
+ @IntDef(
+ flag = true,
+ value = {
+ BUFFER_FLAG_SYNC_FRAME,
+ BUFFER_FLAG_KEY_FRAME,
+ BUFFER_FLAG_CODEC_CONFIG,
+ BUFFER_FLAG_END_OF_STREAM,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface BufferFlag {}
+
+ private static class FrameRenderedInfo {
+ public long mPresentationTimeUs;
+ public long mNanoTime;
+ public FrameRenderedInfo(long presentationTimeUs, long nanoTime) {
+ mPresentationTimeUs = presentationTimeUs;
+ mNanoTime = nanoTime;
+ }
+ }
+
private EventHandler mEventHandler;
+ private EventHandler mOnFrameRenderedHandler;
+ private EventHandler mCallbackHandler;
private Callback mCallback;
+ private OnFrameRenderedListener mOnFrameRenderedListener;
+ private Object mListenerLock = new Object();
private static final int EVENT_CALLBACK = 1;
private static final int EVENT_SET_CALLBACK = 2;
+ private static final int EVENT_FRAME_RENDERED = 3;
private static final int CB_INPUT_AVAILABLE = 1;
private static final int CB_OUTPUT_AVAILABLE = 2;
@@ -339,13 +379,13 @@
private class EventHandler extends Handler {
private MediaCodec mCodec;
- public EventHandler(MediaCodec codec, Looper looper) {
+ public EventHandler(@NonNull MediaCodec codec, @NonNull Looper looper) {
super(looper);
mCodec = codec;
}
@Override
- public void handleMessage(Message msg) {
+ public void handleMessage(@NonNull Message msg) {
switch (msg.what) {
case EVENT_CALLBACK:
{
@@ -357,6 +397,15 @@
mCallback = (MediaCodec.Callback) msg.obj;
break;
}
+ case EVENT_FRAME_RENDERED:
+ synchronized (mListenerLock) {
+ FrameRenderedInfo info = (FrameRenderedInfo)msg.obj;
+ if (mOnFrameRenderedListener != null) {
+ mOnFrameRenderedListener.onFrameRendered(
+ mCodec, info.mPresentationTimeUs, info.mNanoTime);
+ }
+ break;
+ }
default:
{
break;
@@ -364,7 +413,7 @@
}
}
- private void handleCallback(Message msg) {
+ private void handleCallback(@NonNull Message msg) {
if (mCallback == null) {
return;
}
@@ -413,6 +462,8 @@
}
}
+ private boolean mHasSurface = false;
+
/**
* Instantiate a decoder supporting input data of the given mime type.
*
@@ -438,7 +489,8 @@
* @throws IllegalArgumentException if type is not a valid mime type.
* @throws NullPointerException if type is null.
*/
- public static MediaCodec createDecoderByType(String type)
+ @NonNull
+ public static MediaCodec createDecoderByType(@NonNull String type)
throws IOException {
return new MediaCodec(type, true /* nameIsType */, false /* encoder */);
}
@@ -450,7 +502,8 @@
* @throws IllegalArgumentException if type is not a valid mime type.
* @throws NullPointerException if type is null.
*/
- public static MediaCodec createEncoderByType(String type)
+ @NonNull
+ public static MediaCodec createEncoderByType(@NonNull String type)
throws IOException {
return new MediaCodec(type, true /* nameIsType */, true /* encoder */);
}
@@ -464,14 +517,15 @@
* @throws IllegalArgumentException if name is not valid.
* @throws NullPointerException if name is null.
*/
- public static MediaCodec createByCodecName(String name)
+ @NonNull
+ public static MediaCodec createByCodecName(@NonNull String name)
throws IOException {
return new MediaCodec(
name, false /* nameIsType */, false /* unused */);
}
private MediaCodec(
- String name, boolean nameIsType, boolean encoder) {
+ @NonNull String name, boolean nameIsType, boolean encoder) {
Looper looper;
if ((looper = Looper.myLooper()) != null) {
mEventHandler = new EventHandler(this, looper);
@@ -480,6 +534,9 @@
} else {
mEventHandler = null;
}
+ mCallbackHandler = mEventHandler;
+ mOnFrameRenderedHandler = mEventHandler;
+
mBufferLock = new Object();
native_setup(name, nameIsType, encoder);
@@ -524,15 +581,26 @@
*/
public static final int CONFIGURE_FLAG_ENCODE = 1;
+ /** @hide */
+ @IntDef(flag = true, value = { CONFIGURE_FLAG_ENCODE })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ConfigureFlag {}
+
/**
* Configures a component.
*
* @param format The format of the input data (decoder) or the desired
- * format of the output data (encoder).
+ * format of the output data (encoder). Passing {@code null}
+ * as {@code format} is equivalent to passing an
+ * {@link MediaFormat#MediaFormat an empty mediaformat}.
* @param surface Specify a surface on which to render the output of this
- * decoder.
+ * decoder. Pass {@code null} as {@code surface} if the
+ * codec does not generate raw video output (e.g. not a video
+ * decoder) and/or if you want to configure the codec for
+ * {@link ByteBuffer} output.
* @param crypto Specify a crypto object to facilitate secure decryption
- * of the media data.
+ * of the media data. Pass {@code null} as {@code crypto} for
+ * non-secure codecs.
* @param flags Specify {@link #CONFIGURE_FLAG_ENCODE} to configure the
* component as an encoder.
* @throws IllegalArgumentException if the surface has been released (or is invalid),
@@ -544,14 +612,14 @@
* @throws CodecException upon codec error.
*/
public void configure(
- MediaFormat format,
- Surface surface, MediaCrypto crypto, int flags) {
- Map<String, Object> formatMap = format.getMap();
-
+ @Nullable MediaFormat format,
+ @Nullable Surface surface, @Nullable MediaCrypto crypto,
+ @ConfigureFlag int flags) {
String[] keys = null;
Object[] values = null;
if (format != null) {
+ Map<String, Object> formatMap = format.getMap();
keys = new String[formatMap.size()];
values = new Object[formatMap.size()];
@@ -575,14 +643,71 @@
}
}
+ mHasSurface = surface != null;
+
native_configure(keys, values, surface, crypto, flags);
}
- private native final void native_setCallback(Callback cb);
+ /**
+ * Dynamically sets the output surface of a codec.
+ * <p>
+ * This can only be used if the codec was configured with an output surface. The
+ * new output surface should have a compatible usage type to the original output surface.
+ * E.g. codecs may not support switching from a SurfaceTexture (GPU readable) output
+ * to ImageReader (software readable) output.
+ * @param surface the output surface to use. It must not be {@code null}.
+ * @throws IllegalStateException if the codec does not support setting the output
+ * surface in the current state.
+ * @throws IllegalArgumentException if the new surface is not of a suitable type for the codec.
+ */
+ public void setSurface(@NonNull Surface surface) {
+ if (!mHasSurface) {
+ throw new IllegalStateException("codec was not configured for an output surface");
+ }
+
+ // TODO implement this
+ throw new IllegalArgumentException("codec does not support this surface");
+ }
+
+ /**
+ * Create a persistent input surface that can be used with codecs that normally have an input
+ * surface, such as video encoders. A persistent input can be reused by subsequent
+ * {@link MediaCodec} or {@link MediaRecorder} instances, but can only be used by at
+ * most one codec or recorder instance concurrently.
+ * <p>
+ * The application is responsible for calling release() on the Surface when done.
+ *
+ * @return an input surface that can be used with {@link #usePersistentInputSurface}.
+ */
+ @NonNull
+ public static Surface createPersistentInputSurface() {
+ // TODO implement this
+ return new PersistentSurface();
+ }
+
+ static class PersistentSurface extends Surface {
+ PersistentSurface() {}
+ };
+
+ /**
+ * Configures the codec (e.g. encoder) to use a persistent input surface in place of input
+ * buffers. This may only be called after {@link #configure} and before {@link #start}, in
+ * lieu of {@link #createInputSurface}.
+ * @param surface a persistent input surface created by {@link #createPersistentInputSurface}
+ * @throws IllegalStateException if not in the Configured state or does not require an input
+ * surface.
+ * @throws IllegalArgumentException if the surface was not created by
+ * {@link #createPersistentInputSurface}.
+ */
+ public void usePersistentInputSurface(@NonNull Surface surface) {
+ throw new IllegalArgumentException("not implemented");
+ }
+
+ private native final void native_setCallback(@Nullable Callback cb);
private native final void native_configure(
- String[] keys, Object[] values,
- Surface surface, MediaCrypto crypto, int flags);
+ @Nullable String[] keys, @Nullable Object[] values,
+ @Nullable Surface surface, @Nullable MediaCrypto crypto, @ConfigureFlag int flags);
/**
* Requests a Surface to use as the input to an encoder, in place of input buffers. This
@@ -596,6 +721,7 @@
* unexpected results.
* @throws IllegalStateException if not in the Configured state.
*/
+ @NonNull
public native final Surface createInputSurface();
/**
@@ -629,9 +755,14 @@
native_stop();
freeAllTrackedBuffers();
- if (mEventHandler != null) {
- mEventHandler.removeMessages(EVENT_CALLBACK);
- mEventHandler.removeMessages(EVENT_SET_CALLBACK);
+ synchronized (mListenerLock) {
+ if (mCallbackHandler != null) {
+ mCallbackHandler.removeMessages(EVENT_SET_CALLBACK);
+ mCallbackHandler.removeMessages(EVENT_CALLBACK);
+ }
+ if (mOnFrameRenderedHandler != null) {
+ mOnFrameRenderedHandler.removeMessages(EVENT_FRAME_RENDERED);
+ }
}
}
@@ -669,7 +800,7 @@
* Thrown when an internal codec error occurs.
*/
public final static class CodecException extends IllegalStateException {
- CodecException(int errorCode, int actionCode, String detailMessage, int reason) {
+ CodecException(int errorCode, int actionCode, @Nullable String detailMessage, int reason) {
super(detailMessage);
mErrorCode = errorCode;
mReason = reason;
@@ -704,6 +835,7 @@
* The reason could be one of {@link #REASON_HARDWARE} or {@link #REASON_RECLAIMED}.
*
*/
+ @ReasonCode
public int getReason() {
return mReason;
}
@@ -725,7 +857,7 @@
* since this string will not be localized or generally
* comprehensible to end-users.
*/
- public String getDiagnosticInfo() {
+ public @NonNull String getDiagnosticInfo() {
return mDiagnosticInfo;
}
@@ -742,6 +874,14 @@
*/
public static final int REASON_RECLAIMED = 1;
+ /** @hide */
+ @IntDef({
+ REASON_HARDWARE,
+ REASON_RECLAIMED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ReasonCode {}
+
/* Must be in sync with android_media_MediaCodec.cpp */
private final static int ACTION_TRANSIENT = 1;
private final static int ACTION_RECOVERABLE = 2;
@@ -756,7 +896,7 @@
* Thrown when a crypto error occurs while queueing a secure input buffer.
*/
public final static class CryptoException extends RuntimeException {
- public CryptoException(int errorCode, String detailMessage) {
+ public CryptoException(int errorCode, @Nullable String detailMessage) {
super(detailMessage);
mErrorCode = errorCode;
}
@@ -789,9 +929,20 @@
*/
public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4;
+ /** @hide */
+ @IntDef({
+ ERROR_NO_KEY,
+ ERROR_KEY_EXPIRED,
+ ERROR_RESOURCE_BUSY,
+ ERROR_INSUFFICIENT_OUTPUT_PROTECTION,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface CryptoErrorCode {}
+
/**
* Retrieve the error code associated with a CryptoException
*/
+ @CryptoErrorCode
public int getErrorCode() {
return mErrorCode;
}
@@ -885,10 +1036,10 @@
public final static class CryptoInfo {
public void set(
int newNumSubSamples,
- int[] newNumBytesOfClearData,
- int[] newNumBytesOfEncryptedData,
- byte[] newKey,
- byte[] newIV,
+ @NonNull int[] newNumBytesOfClearData,
+ @NonNull int[] newNumBytesOfEncryptedData,
+ @NonNull byte[] newKey,
+ @NonNull byte[] newIV,
int newMode) {
numSubSamples = newNumSubSamples;
numBytesOfClearData = newNumBytesOfClearData;
@@ -970,7 +1121,7 @@
public final void queueSecureInputBuffer(
int index,
int offset,
- CryptoInfo info,
+ @NonNull CryptoInfo info,
long presentationTimeUs,
int flags) throws CryptoException {
synchronized(mBufferLock) {
@@ -989,7 +1140,7 @@
private native final void native_queueSecureInputBuffer(
int index,
int offset,
- CryptoInfo info,
+ @NonNull CryptoInfo info,
long presentationTimeUs,
int flags) throws CryptoException;
@@ -1043,6 +1194,15 @@
*/
public static final int INFO_OUTPUT_BUFFERS_CHANGED = -3;
+ /** @hide */
+ @IntDef({
+ INFO_TRY_AGAIN_LATER,
+ INFO_OUTPUT_FORMAT_CHANGED,
+ INFO_OUTPUT_BUFFERS_CHANGED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface OutputBufferInfo {}
+
/**
* Dequeue an output buffer, block at most "timeoutUs" microseconds.
* Returns the index of an output buffer that has been successfully
@@ -1053,21 +1213,25 @@
* or codec is configured in asynchronous mode.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @OutputBufferInfo
public final int dequeueOutputBuffer(
- BufferInfo info, long timeoutUs) {
+ @NonNull BufferInfo info, long timeoutUs) {
int res = native_dequeueOutputBuffer(info, timeoutUs);
synchronized(mBufferLock) {
if (res == INFO_OUTPUT_BUFFERS_CHANGED) {
cacheBuffers(false /* input */);
} else if (res >= 0) {
validateOutputByteBuffer(mCachedOutputBuffers, res, info);
+ if (mHasSurface) {
+ mDequeuedOutputInfos.put(res, info.dup());
+ }
}
}
return res;
}
private native final int native_dequeueOutputBuffer(
- BufferInfo info, long timeoutUs);
+ @NonNull BufferInfo info, long timeoutUs);
/**
* If you are done with a buffer, use this call to return the buffer to
@@ -1087,13 +1251,34 @@
* @throws MediaCodec.CodecException upon codec error.
*/
public final void releaseOutputBuffer(int index, boolean render) {
+ BufferInfo info = null;
synchronized(mBufferLock) {
invalidateByteBuffer(mCachedOutputBuffers, index);
mDequeuedOutputBuffers.remove(index);
+ if (mHasSurface) {
+ info = mDequeuedOutputInfos.remove(index);
+ }
}
+ // TODO
+ // until codec and libgui supports callback, assume frame is rendered within 50 ms
+ postRenderedCallback(render, info, 50 /* delayMs */);
releaseOutputBuffer(index, render, false /* updatePTS */, 0 /* dummy */);
}
+ private void postRenderedCallback(boolean render, @Nullable BufferInfo info, long delayMs) {
+ if (render && info != null) {
+ synchronized (mListenerLock) {
+ if (mOnFrameRenderedListener != null) {
+ FrameRenderedInfo obj = new FrameRenderedInfo(
+ info.presentationTimeUs, System.nanoTime() + delayMs * 1000000);
+ Message msg = mOnFrameRenderedHandler.obtainMessage(
+ EVENT_FRAME_RENDERED, obj);
+ mOnFrameRenderedHandler.sendMessageDelayed(msg, delayMs);
+ }
+ }
+ }
+ }
+
/**
* If you are done with a buffer, use this call to update its surface timestamp
* and return it to the codec to render it on the output surface. If you
@@ -1144,10 +1329,20 @@
* @throws MediaCodec.CodecException upon codec error.
*/
public final void releaseOutputBuffer(int index, long renderTimestampNs) {
+ BufferInfo info = null;
synchronized(mBufferLock) {
invalidateByteBuffer(mCachedOutputBuffers, index);
mDequeuedOutputBuffers.remove(index);
+ if (mHasSurface) {
+ info = mDequeuedOutputInfos.remove(index);
+ }
}
+ // TODO
+ // until codec and libgui supports callback, assume frame is rendered at the
+ // render time or 16 ms from now, whichever is later.
+ postRenderedCallback(
+ true /* render */, info,
+ Math.max(renderTimestampNs - System.nanoTime(), 16666666) / 1000000);
releaseOutputBuffer(
index, true /* render */, true /* updatePTS */, renderTimestampNs);
}
@@ -1176,6 +1371,7 @@
* Configured state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @NonNull
public final MediaFormat getOutputFormat() {
return new MediaFormat(getFormatNative(false /* input */));
}
@@ -1190,6 +1386,7 @@
* Configured state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @NonNull
public final MediaFormat getInputFormat() {
return new MediaFormat(getFormatNative(true /* input */));
}
@@ -1203,12 +1400,15 @@
* @return the format for the output buffer, or null if the index
* is not a dequeued output buffer.
*/
+ @NonNull
public final MediaFormat getOutputFormat(int index) {
return new MediaFormat(getOutputFormatNative(index));
}
+ @NonNull
private native final Map<String, Object> getFormatNative(boolean input);
+ @NonNull
private native final Map<String, Object> getOutputFormatNative(int index);
// used to track dequeued buffers
@@ -1230,12 +1430,12 @@
}
}
- public void setImage(Image image) {
+ public void setImage(@Nullable Image image) {
free();
mImage = image;
}
- public void setByteBuffer(ByteBuffer buffer) {
+ public void setByteBuffer(@Nullable ByteBuffer buffer) {
free();
mByteBuffer = buffer;
}
@@ -1252,7 +1452,7 @@
}
}
- public void put(int index, ByteBuffer newBuffer) {
+ public void put(int index, @Nullable ByteBuffer newBuffer) {
CodecBuffer buffer = mMap.get(index);
if (buffer == null) { // likely
buffer = new CodecBuffer();
@@ -1261,7 +1461,7 @@
buffer.setByteBuffer(newBuffer);
}
- public void put(int index, Image newImage) {
+ public void put(int index, @Nullable Image newImage) {
CodecBuffer buffer = mMap.get(index);
if (buffer == null) { // likely
buffer = new CodecBuffer();
@@ -1282,10 +1482,12 @@
private ByteBuffer[] mCachedOutputBuffers;
private final BufferMap mDequeuedInputBuffers = new BufferMap();
private final BufferMap mDequeuedOutputBuffers = new BufferMap();
+ private final Map<Integer, BufferInfo> mDequeuedOutputInfos =
+ new HashMap<Integer, BufferInfo>();
final private Object mBufferLock;
private final void invalidateByteBuffer(
- ByteBuffer[] buffers, int index) {
+ @Nullable ByteBuffer[] buffers, int index) {
if (buffers != null && index >= 0 && index < buffers.length) {
ByteBuffer buffer = buffers[index];
if (buffer != null) {
@@ -1295,7 +1497,7 @@
}
private final void validateInputByteBuffer(
- ByteBuffer[] buffers, int index) {
+ @Nullable ByteBuffer[] buffers, int index) {
if (buffers != null && index >= 0 && index < buffers.length) {
ByteBuffer buffer = buffers[index];
if (buffer != null) {
@@ -1306,7 +1508,7 @@
}
private final void revalidateByteBuffer(
- ByteBuffer[] buffers, int index) {
+ @Nullable ByteBuffer[] buffers, int index) {
synchronized(mBufferLock) {
if (buffers != null && index >= 0 && index < buffers.length) {
ByteBuffer buffer = buffers[index];
@@ -1318,7 +1520,7 @@
}
private final void validateOutputByteBuffer(
- ByteBuffer[] buffers, int index, BufferInfo info) {
+ @Nullable ByteBuffer[] buffers, int index, @NonNull BufferInfo info) {
if (buffers != null && index >= 0 && index < buffers.length) {
ByteBuffer buffer = buffers[index];
if (buffer != null) {
@@ -1328,7 +1530,7 @@
}
}
- private final void invalidateByteBuffers(ByteBuffer[] buffers) {
+ private final void invalidateByteBuffers(@Nullable ByteBuffer[] buffers) {
if (buffers != null) {
for (ByteBuffer buffer: buffers) {
if (buffer != null) {
@@ -1338,14 +1540,14 @@
}
}
- private final void freeByteBuffer(ByteBuffer buffer) {
+ private final void freeByteBuffer(@Nullable ByteBuffer buffer) {
if (buffer != null /* && buffer.isDirect() */) {
// all of our ByteBuffers are direct
java.nio.NioUtils.freeDirectBuffer(buffer);
}
}
- private final void freeByteBuffers(ByteBuffer[] buffers) {
+ private final void freeByteBuffers(@Nullable ByteBuffer[] buffers) {
if (buffers != null) {
for (ByteBuffer buffer: buffers) {
freeByteBuffer(buffer);
@@ -1388,13 +1590,14 @@
* @deprecated Use the new {@link #getInputBuffer} method instead
* each time an input buffer is dequeued.
*
- * <b>Note:</b>As of API 21, dequeued input buffers are
+ * <b>Note:</b> As of API 21, dequeued input buffers are
* automatically {@link java.nio.Buffer#clear cleared}.
*
* @throws IllegalStateException if not in the Executing state,
* or codec is configured in asynchronous mode.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @NonNull
public ByteBuffer[] getInputBuffers() {
if (mCachedInputBuffers == null) {
throw new IllegalStateException();
@@ -1415,7 +1618,7 @@
* each time an output buffer is dequeued. This method is not
* supported if codec is configured in asynchronous mode.
*
- * <b>Note:</b>As of API 21, the position and limit of output
+ * <b>Note:</b> As of API 21, the position and limit of output
* buffers that are dequeued will be set to the valid data
* range.
*
@@ -1423,6 +1626,7 @@
* or codec is configured in asynchronous mode.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @NonNull
public ByteBuffer[] getOutputBuffers() {
if (mCachedOutputBuffers == null) {
throw new IllegalStateException();
@@ -1449,6 +1653,7 @@
* @throws IllegalStateException if not in the Executing state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @Nullable
public ByteBuffer getInputBuffer(int index) {
ByteBuffer newBuffer = getBuffer(true /* input */, index);
synchronized(mBufferLock) {
@@ -1477,6 +1682,7 @@
* @throws IllegalStateException if not in the Executing state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @Nullable
public Image getInputImage(int index) {
Image newImage = getImage(true /* input */, index);
synchronized(mBufferLock) {
@@ -1505,6 +1711,7 @@
* @throws IllegalStateException if not in the Executing state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @Nullable
public ByteBuffer getOutputBuffer(int index) {
ByteBuffer newBuffer = getBuffer(false /* input */, index);
synchronized(mBufferLock) {
@@ -1532,6 +1739,7 @@
* @throws IllegalStateException if not in the Executing state.
* @throws MediaCodec.CodecException upon codec error.
*/
+ @Nullable
public Image getOutputImage(int index) {
Image newImage = getImage(false /* input */, index);
synchronized(mBufferLock) {
@@ -1552,19 +1760,28 @@
*/
public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2;
+ /** @hide */
+ @IntDef({
+ VIDEO_SCALING_MODE_SCALE_TO_FIT,
+ VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface VideoScalingMode {}
+
/**
* If a surface has been specified in a previous call to {@link #configure}
* specifies the scaling mode to use. The default is "scale to fit".
* @throws IllegalArgumentException if mode is not recognized.
* @throws IllegalStateException if in the Uninitialized state.
*/
- public native final void setVideoScalingMode(int mode);
+ public native final void setVideoScalingMode(@VideoScalingMode int mode);
/**
* Get the component name. If the codec was created by createDecoderByType
* or createEncoderByType, what component is chosen is not known beforehand.
* @throws IllegalStateException if in the Uninitialized state.
*/
+ @NonNull
public native final String getName();
/**
@@ -1592,9 +1809,12 @@
/**
* Communicate additional parameter changes to the component instance.
+ * <b>Note:</b> Some of these parameter changes may silently fail to apply.
+ *
+ * @param params The bundle of parameters to set.
* @throws IllegalStateException if in the Uninitialized state.
*/
- public final void setParameters(Bundle params) {
+ public final void setParameters(@Nullable Bundle params) {
if (params == null) {
return;
}
@@ -1626,22 +1846,124 @@
* {@code flush}, you must call {@link #start} to "resume" receiving input buffers,
* even if an input surface was created.
*
- * @param cb The callback that will run.
+ * @param cb The callback that will run. Use {@code null} to clear a previously
+ * set callback (before {@link #configure configure} is called and run
+ * in synchronous mode).
+ * @param handler Callbacks will happen on the handler's thread. If {@code null},
+ * callbacks are done on the default thread (the caller's thread or the
+ * main thread.)
*/
- public void setCallback(/* MediaCodec. */ Callback cb) {
- if (mEventHandler != null) {
- // set java callback on handler
- Message msg = mEventHandler.obtainMessage(EVENT_SET_CALLBACK, 0, 0, cb);
- mEventHandler.sendMessage(msg);
+ public void setCallback(@Nullable /* MediaCodec. */ Callback cb, @Nullable Handler handler) {
+ if (cb != null) {
+ synchronized (mListenerLock) {
+ EventHandler newHandler = getEventHandlerOn(handler, mCallbackHandler);
+ // NOTE: there are no callbacks on the handler at this time, but check anyways
+ // even if we were to extend this to be callable dynamically, it must
+ // be called when codec is flushed, so no messages are pending.
+ if (newHandler != mCallbackHandler) {
+ mCallbackHandler.removeMessages(EVENT_SET_CALLBACK);
+ mCallbackHandler.removeMessages(EVENT_CALLBACK);
+ mCallbackHandler = newHandler;
+ }
+ }
+ } else if (mCallbackHandler != null) {
+ mCallbackHandler.removeMessages(EVENT_SET_CALLBACK);
+ mCallbackHandler.removeMessages(EVENT_CALLBACK);
+ }
+
+ if (mCallbackHandler != null) {
+ // set java callback on main handler
+ Message msg = mCallbackHandler.obtainMessage(EVENT_SET_CALLBACK, 0, 0, cb);
+ mCallbackHandler.sendMessage(msg);
// set native handler here, don't post to handler because
- // it may cause the callback to be delayed and set in a wrong state,
- // and MediaCodec is already doing it on looper.
+ // it may cause the callback to be delayed and set in a wrong state.
+ // Note that native codec may start sending events to the callback
+ // handler after this returns.
native_setCallback(cb);
}
}
/**
+ * Sets an asynchronous callback for actionable MediaCodec events on the default
+ * looper.
+ * <p>
+ * Same as {@link #setCallback(Callback, Handler)} with handler set to null.
+ * @param cb The callback that will run. Use {@code null} to clear a previously
+ * set callback (before {@link #configure configure} is called and run
+ * in synchronous mode).
+ * @see #setCallback(Callback, Handler)
+ */
+ public void setCallback(@Nullable /* MediaCodec. */ Callback cb) {
+ setCallback(cb, null /* handler */);
+ }
+
+ /**
+ * Listener to be called when an output frame has rendered on the output surface
+ *
+ * @see MediaCodec#setOnFrameRenderedListener
+ */
+ public interface OnFrameRenderedListener {
+
+ /**
+ * Called when an output frame has rendered on the output surface.
+ *
+ * @param codec the MediaCodec instance
+ * @param presentationTimeUs the presentation time (media time) of the frame rendered.
+ * This is usually the same as specified in {@link #queueInputBuffer}; however,
+ * some codecs may alter the media time by applying some time-based transformation,
+ * such as frame rate conversion. In that case, presentation time corresponds
+ * to the actual output frame rendered.
+ * @param nanoTime The system time when the frame was rendered.
+ *
+ * @see System#nanoTime
+ */
+ public void onFrameRendered(
+ @NonNull MediaCodec codec, long presentationTimeUs, long nanoTime);
+ }
+
+ /**
+ * Register a callback to be invoked when an output frame is rendered on the output surface.
+ * <p>
+ * This method can be called in any codec state, but will only have an effect in the
+ * Executing state for codecs that render buffers to the output surface.
+ *
+ * @param listener the callback that will be run
+ * @param handler the callback will be run on the handler's thread. If {@code null},
+ * the callback will be run on the default thread, which is the looper
+ * from which the codec was created, or a new thread if there was none.
+ */
+ public void setOnFrameRenderedListener(
+ @Nullable OnFrameRenderedListener listener, @Nullable Handler handler) {
+ synchronized (mListenerLock) {
+ mOnFrameRenderedListener = listener;
+ if (listener != null) {
+ EventHandler newHandler = getEventHandlerOn(handler, mOnFrameRenderedHandler);
+ if (newHandler != mOnFrameRenderedHandler) {
+ mOnFrameRenderedHandler.removeMessages(EVENT_FRAME_RENDERED);
+ }
+ mOnFrameRenderedHandler = newHandler;
+ } else if (mOnFrameRenderedHandler != null) {
+ mOnFrameRenderedHandler.removeMessages(EVENT_FRAME_RENDERED);
+ }
+ }
+ }
+
+ private EventHandler getEventHandlerOn(
+ @Nullable Handler handler, @NonNull EventHandler lastHandler) {
+ if (handler == null) {
+ return mEventHandler;
+ } else {
+ Looper looper = handler.getLooper();
+ if (lastHandler.getLooper() == looper) {
+ return lastHandler;
+ } else {
+ return new EventHandler(this, looper);
+ }
+ }
+ }
+
+ /**
* MediaCodec callback interface. Used to notify the user asynchronously
* of various MediaCodec events.
*/
@@ -1652,7 +1974,7 @@
* @param codec The MediaCodec object.
* @param index The index of the available input buffer.
*/
- public abstract void onInputBufferAvailable(MediaCodec codec, int index);
+ public abstract void onInputBufferAvailable(@NonNull MediaCodec codec, int index);
/**
* Called when an output buffer becomes available.
@@ -1661,7 +1983,8 @@
* @param index The index of the available output buffer.
* @param info Info regarding the available output buffer {@link MediaCodec.BufferInfo}.
*/
- public abstract void onOutputBufferAvailable(MediaCodec codec, int index, BufferInfo info);
+ public abstract void onOutputBufferAvailable(
+ @NonNull MediaCodec codec, int index, @NonNull BufferInfo info);
/**
* Called when the MediaCodec encountered an error
@@ -1669,7 +1992,7 @@
* @param codec The MediaCodec object.
* @param e The {@link MediaCodec.CodecException} object describing the error.
*/
- public abstract void onError(MediaCodec codec, CodecException e);
+ public abstract void onError(@NonNull MediaCodec codec, @NonNull CodecException e);
/**
* Called when the output format has changed
@@ -1677,18 +2000,27 @@
* @param codec The MediaCodec object.
* @param format The new output format.
*/
- public abstract void onOutputFormatChanged(MediaCodec codec, MediaFormat format);
+ public abstract void onOutputFormatChanged(
+ @NonNull MediaCodec codec, @NonNull MediaFormat format);
}
private void postEventFromNative(
- int what, int arg1, int arg2, Object obj) {
- if (mEventHandler != null) {
- Message msg = mEventHandler.obtainMessage(what, arg1, arg2, obj);
- mEventHandler.sendMessage(msg);
+ int what, int arg1, int arg2, @Nullable Object obj) {
+ synchronized (mListenerLock) {
+ EventHandler handler = mEventHandler;
+ if (what == EVENT_CALLBACK) {
+ handler = mCallbackHandler;
+ } else if (what == EVENT_FRAME_RENDERED) {
+ handler = mOnFrameRenderedHandler;
+ }
+ if (handler != null) {
+ Message msg = handler.obtainMessage(what, arg1, arg2, obj);
+ handler.sendMessage(msg);
+ }
}
}
- private native final void setParameters(String[] keys, Object[] values);
+ private native final void setParameters(@NonNull String[] keys, @NonNull Object[] values);
/**
* Get the codec info. If the codec was created by createDecoderByType
@@ -1696,20 +2028,24 @@
* and thus the caller does not have the MediaCodecInfo.
* @throws IllegalStateException if in the Uninitialized state.
*/
+ @NonNull
public MediaCodecInfo getCodecInfo() {
return MediaCodecList.getInfoFor(getName());
}
+ @NonNull
private native final ByteBuffer[] getBuffers(boolean input);
+ @Nullable
private native final ByteBuffer getBuffer(boolean input, int index);
+ @Nullable
private native final Image getImage(boolean input, int index);
private static native final void native_init();
private native final void native_setup(
- String name, boolean nameIsType, boolean encoder);
+ @NonNull String name, boolean nameIsType, boolean encoder);
private native final void native_finalize();
@@ -1756,6 +2092,7 @@
return mTimestamp;
}
+ @NonNull
public Plane[] getPlanes() {
checkValid();
return Arrays.copyOf(mPlanes, mPlanes.length);
@@ -1774,7 +2111,7 @@
* The crop rectangle specifies the region of valid pixels in the image,
* using coordinates in the largest-resolution plane.
*/
- public void setCropRect(Rect cropRect) {
+ public void setCropRect(@Nullable Rect cropRect) {
if (mIsReadOnly) {
throw new ReadOnlyBufferException();
}
@@ -1787,7 +2124,7 @@
}
}
- private int readInt(ByteBuffer buffer, boolean asLong) {
+ private int readInt(@NonNull ByteBuffer buffer, boolean asLong) {
if (asLong) {
return (int)buffer.getLong();
} else {
@@ -1796,8 +2133,8 @@
}
public MediaImage(
- ByteBuffer buffer, ByteBuffer info, boolean readOnly,
- long timestamp, int xOffset, int yOffset, Rect cropRect) {
+ @NonNull ByteBuffer buffer, @NonNull ByteBuffer info, boolean readOnly,
+ long timestamp, int xOffset, int yOffset, @Nullable Rect cropRect) {
mFormat = ImageFormat.YUV_420_888;
mTimestamp = timestamp;
mIsValid = true;
@@ -1863,7 +2200,7 @@
}
private class MediaPlane extends Plane {
- public MediaPlane(ByteBuffer buffer, int rowInc, int colInc) {
+ public MediaPlane(@NonNull ByteBuffer buffer, int rowInc, int colInc) {
mData = buffer;
mRowInc = rowInc;
mColInc = colInc;
@@ -1882,6 +2219,7 @@
}
@Override
+ @NonNull
public ByteBuffer getBuffer() {
checkValid();
return mData;
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index ce06e65..ff1b57d 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -160,57 +160,214 @@
public CodecProfileLevel[] profileLevels; // NOTE this array is modifiable by user
// from OMX_COLOR_FORMATTYPE
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_FormatMonochrome = 1;
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_Format8bitRGB332 = 2;
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_Format12bitRGB444 = 3;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format16bitARGB4444 = 4;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format16bitARGB1555 = 5;
+
+ /**
+ * 16 bits per pixel RGB color format, with 5-bit red & blue and 6-bit green component.
+ * <p>
+ * Using LSB 16-bit byte ordering, colors stored as Red 15:11, Green 10:5, Blue 4:0.
+ * <pre>
+ * byte byte
+ * <--------- i --------> | <------ i + 1 ------>
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * | BLUE | GREEN | RED |
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * 0 4 5 7 0 2 3 7
+ * bit
+ * </pre>
+ */
public static final int COLOR_Format16bitRGB565 = 6;
+ /** @deprecated Use {@link #COLOR_Format16bitRGB565}. */
public static final int COLOR_Format16bitBGR565 = 7;
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_Format18bitRGB666 = 8;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format18bitARGB1665 = 9;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format19bitARGB1666 = 10;
+
+ /**
+ * 24 bits per pixel RGB color format, with 8-bit red, green & blue components.
+ * <p>
+ * Using LSB 24-bit byte ordering, colors stored as Red 23:16, Green 15:8, Blue 7:0.
+ * <pre>
+ * byte byte byte
+ * <------ i -----> | <---- i+1 ----> | <---- i+2 ----->
+ * +-----------------+-----------------+-----------------+
+ * | BLUE | GREEN | RED |
+ * +-----------------+-----------------+-----------------+
+ * </pre>
+ */
public static final int COLOR_Format24bitRGB888 = 11;
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_Format24bitBGR888 = 12;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format24bitARGB1887 = 13;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format25bitARGB1888 = 14;
+
+ /**
+ * 32 bits per pixel ARGB color format, with 8-bit alpha, red, green & blue components.
+ * <p>
+ * Using LSB 32-bit byte ordering, colors stored as Alpha 31:24, Red 23:16, Green 15:8,
+ * Blue 7:0.
+ * <pre>
+ * byte byte byte byte
+ * <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
+ * +-----------------+-----------------+-----------------+-----------------+
+ * | BLUE | GREEN | RED | ALPHA |
+ * +-----------------+-----------------+-----------------+-----------------+
+ * </pre>
+ */
public static final int COLOR_Format32bitBGRA8888 = 15;
+
+ /**
+ * 32 bits per pixel ARGB color format, with 8-bit alpha, red, green & blue components.
+ * <p>
+ * Using LSB 32-bit byte ordering, colors stored as Alpha 31:24, Red 7:0, Green 15:8,
+ * Blue 23:16.
+ * <pre>
+ * byte byte byte byte
+ * <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
+ * +-----------------+-----------------+-----------------+-----------------+
+ * | RED | GREEN | BLUE | ALPHA |
+ * +-----------------+-----------------+-----------------+-----------------+
+ * </pre>
+ */
public static final int COLOR_Format32bitARGB8888 = 16;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV411Planar = 17;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV411PackedPlanar = 18;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV420Planar = 19;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV420PackedPlanar = 20;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV420SemiPlanar = 21;
+
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYUV422Planar = 22;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYUV422PackedPlanar = 23;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYUV422SemiPlanar = 24;
+
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYCbYCr = 25;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYCrYCb = 26;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatCbYCrY = 27;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatCrYCbY = 28;
+
public static final int COLOR_FormatYUV444Interleaved = 29;
+
public static final int COLOR_FormatRawBayer8bit = 30;
public static final int COLOR_FormatRawBayer10bit = 31;
public static final int COLOR_FormatRawBayer8bitcompressed = 32;
+
+ /** @deprecated Use {@link #COLOR_FormatL8}. */
public static final int COLOR_FormatL2 = 33;
+ /** @deprecated Use {@link #COLOR_FormatL8}. */
public static final int COLOR_FormatL4 = 34;
+
+ /**
+ * 8 bits per pixel Y color format.
+ * <p>
+ * Each byte contains a single pixel.
+ */
public static final int COLOR_FormatL8 = 35;
+
+ /**
+ * 16 bits per pixel, little-endian Y color format.
+ * <p>
+ * <pre>
+ * byte byte
+ * <--------- i --------> | <------ i + 1 ------>
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * | Y |
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * 0 7 0 7
+ * bit
+ * </pre>
+ */
public static final int COLOR_FormatL16 = 36;
+ /** @deprecated Use {@link #COLOR_FormatL32}. */
public static final int COLOR_FormatL24 = 37;
+
+ /**
+ * 32 bits per pixel, little-endian Y color format.
+ * <p>
+ * <pre>
+ * byte byte byte byte
+ * <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
+ * +-----------------+-----------------+-----------------+-----------------+
+ * | Y |
+ * +-----------------+-----------------+-----------------+-----------------+
+ * 0 7 0 7 0 7 0 7
+ * bit
+ * </pre>
+ */
public static final int COLOR_FormatL32 = 38;
+
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_FormatYUV420PackedSemiPlanar = 39;
+ /** @deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
public static final int COLOR_FormatYUV422PackedSemiPlanar = 40;
+
+ /** @deprecated Use {@link #COLOR_Format24bitRGB888}. */
public static final int COLOR_Format18BitBGR666 = 41;
+
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format24BitARGB6666 = 42;
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format24BitABGR6666 = 43;
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100;
// COLOR_FormatSurface indicates that the data will be a GraphicBuffer metadata reference.
// In OMX this is called OMX_COLOR_FormatAndroidOpaque.
public static final int COLOR_FormatSurface = 0x7F000789;
+
+ /** @deprecated Use {@link #COLOR_Format32bitARGB8888}. */
public static final int COLOR_Format32BitRGBA8888 = 0x7F00A000;
+
+ /**
+ * Flexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma
+ * components.
+ * <p>
+ * Chroma planes are subsampled by 2 both horizontally and vertically.
+ * Use this format with {@link Image}.
+ *
+ * @see Image#getFormat
+ */
// This corresponds to YUV_420_888 format
public static final int COLOR_FormatYUV420Flexible = 0x7F420888;
+
+ /**
+ * Flexible 16 bits per pixel, subsampled YUV color format with 8-bit chroma and luma
+ * components.
+ * <p>
+ * Chroma planes are horizontally subsampled by 2.
+ * Use this format with {@link Image}.
+ *
+ * @see Image#getFormat
+ */
+ // This corresponds to YUV_422_888 format
+ public static final int COLOR_FormatYUV422Flexible = 0x7F422888;
+
+ /** @deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
public static final int COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00;
/**
@@ -979,6 +1136,27 @@
}
/**
+ * Returns the range of achievable video frame rates for a video size.
+ * May return {@code null}, if the codec did not publish any measurement
+ * data.
+ * <p>
+ * This is a performance estimate, based on full-speed decoding
+ * and encoding measurements of common video sizes supported by the codec.
+ *
+ * @param width the width of the video
+ * @param height the height of the video
+ *
+ * @throws IllegalArgumentException if the video size is not supported.
+ */
+ public Range<Double> getAchievableFrameRatesFor(int width, int height) {
+ if (!supports(width, height, null)) {
+ throw new IllegalArgumentException("unsupported size");
+ }
+ // TODO: get this data from the codec
+ return null;
+ }
+
+ /**
* Returns whether a given video size ({@code width} and
* {@code height}) and {@code frameRate} combination is supported.
*/
diff --git a/media/java/android/media/MediaCrypto.java b/media/java/android/media/MediaCrypto.java
index da81b37..474d8b9 100644
--- a/media/java/android/media/MediaCrypto.java
+++ b/media/java/android/media/MediaCrypto.java
@@ -16,6 +16,7 @@
package android.media;
+import android.annotation.NonNull;
import android.media.MediaCryptoException;
import java.util.UUID;
@@ -34,11 +35,12 @@
* this device.
* @param uuid The UUID of the crypto scheme.
*/
- public static final boolean isCryptoSchemeSupported(UUID uuid) {
+ public static final boolean isCryptoSchemeSupported(@NonNull UUID uuid) {
return isCryptoSchemeSupportedNative(getByteArrayFromUUID(uuid));
}
- private static final byte[] getByteArrayFromUUID(UUID uuid) {
+ @NonNull
+ private static final byte[] getByteArrayFromUUID(@NonNull UUID uuid) {
long msb = uuid.getMostSignificantBits();
long lsb = uuid.getLeastSignificantBits();
@@ -51,7 +53,7 @@
return uuidBytes;
}
- private static final native boolean isCryptoSchemeSupportedNative(byte[] uuid);
+ private static final native boolean isCryptoSchemeSupportedNative(@NonNull byte[] uuid);
/**
* Instantiate a MediaCrypto object using opaque, crypto scheme specific
@@ -59,7 +61,7 @@
* @param uuid The UUID of the crypto scheme.
* @param initData Opaque initialization data specific to the crypto scheme.
*/
- public MediaCrypto(UUID uuid, byte[] initData) throws MediaCryptoException {
+ public MediaCrypto(@NonNull UUID uuid, @NonNull byte[] initData) throws MediaCryptoException {
native_setup(getByteArrayFromUUID(uuid), initData);
}
@@ -68,7 +70,7 @@
* to decode data of the given mime type.
* @param mime The mime type of the media data
*/
- public final native boolean requiresSecureDecoderComponent(String mime);
+ public final native boolean requiresSecureDecoderComponent(@NonNull String mime);
/**
* Associate a MediaDrm session with this MediaCrypto instance. The
@@ -81,7 +83,7 @@
* MediaCrypto instance
* @throws MediaCryptoException on failure to set the sessionId
*/
- public final native void setMediaDrmSession(byte[] sessionId)
+ public final native void setMediaDrmSession(@NonNull byte[] sessionId)
throws MediaCryptoException;
@Override
@@ -92,7 +94,7 @@
public native final void release();
private static native final void native_init();
- private native final void native_setup(byte[] uuid, byte[] initData)
+ private native final void native_setup(@NonNull byte[] uuid, @NonNull byte[] initData)
throws MediaCryptoException;
private native final void native_finalize();
diff --git a/media/java/android/media/MediaCryptoException.java b/media/java/android/media/MediaCryptoException.java
index 703e96f..32ddf47 100644
--- a/media/java/android/media/MediaCryptoException.java
+++ b/media/java/android/media/MediaCryptoException.java
@@ -16,12 +16,14 @@
package android.media;
+import android.annotation.Nullable;
+
/**
* Exception thrown if MediaCrypto object could not be instantiated or
* if unable to perform an operation on the MediaCrypto object.
*/
public final class MediaCryptoException extends Exception {
- public MediaCryptoException(String detailMessage) {
+ public MediaCryptoException(@Nullable String detailMessage) {
super(detailMessage);
}
}
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index fc5fc43..acff301 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -16,11 +16,17 @@
package android.media;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.StringDef;
import android.annotation.SystemApi;
import android.os.Handler;
import android.os.Looper;
@@ -104,6 +110,8 @@
private static final String PERMISSION = android.Manifest.permission.ACCESS_DRM_CERTIFICATES;
private EventHandler mEventHandler;
+ private EventHandler mOnKeysChangeEventHandler;
+ private EventHandler mOnExpirationUpdateEventHandler;
private OnEventListener mOnEventListener;
private OnKeysChangeListener mOnKeysChangeListener;
private OnExpirationUpdateListener mOnExpirationUpdateListener;
@@ -124,12 +132,20 @@
*/
public static final int CERTIFICATE_TYPE_X509 = 1;
+ /** @hide */
+ @IntDef({
+ CERTIFICATE_TYPE_NONE,
+ CERTIFICATE_TYPE_X509,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface CertificateType {}
+
/**
* Query if the given scheme identified by its UUID is supported on
* this device.
* @param uuid The UUID of the crypto scheme.
*/
- public static final boolean isCryptoSchemeSupported(UUID uuid) {
+ public static final boolean isCryptoSchemeSupported(@NonNull UUID uuid) {
return isCryptoSchemeSupportedNative(getByteArrayFromUUID(uuid), null);
}
@@ -141,11 +157,12 @@
* @param mimeType The MIME type of the media container, e.g. "video/mp4"
* or "video/webm"
*/
- public static final boolean isCryptoSchemeSupported(UUID uuid, String mimeType) {
+ public static final boolean isCryptoSchemeSupported(
+ @NonNull UUID uuid, @NonNull String mimeType) {
return isCryptoSchemeSupportedNative(getByteArrayFromUUID(uuid), mimeType);
}
- private static final byte[] getByteArrayFromUUID(UUID uuid) {
+ private static final byte[] getByteArrayFromUUID(@NonNull UUID uuid) {
long msb = uuid.getMostSignificantBits();
long lsb = uuid.getLeastSignificantBits();
@@ -158,8 +175,8 @@
return uuidBytes;
}
- private static final native boolean isCryptoSchemeSupportedNative(byte[] uuid,
- String mimeType);
+ private static final native boolean isCryptoSchemeSupportedNative(
+ @NonNull byte[] uuid, @Nullable String mimeType);
/**
* Instantiate a MediaDrm object
@@ -169,7 +186,7 @@
* @throws UnsupportedSchemeException if the device does not support the
* specified scheme UUID
*/
- public MediaDrm(UUID uuid) throws UnsupportedSchemeException {
+ public MediaDrm(@NonNull UUID uuid) throws UnsupportedSchemeException {
Looper looper;
if ((looper = Looper.myLooper()) != null) {
mEventHandler = new EventHandler(this, looper);
@@ -198,7 +215,7 @@
/**
* @hide
*/
- public MediaDrmStateException(int errorCode, String detailMessage) {
+ public MediaDrmStateException(int errorCode, @Nullable String detailMessage) {
super(detailMessage);
mErrorCode = errorCode;
@@ -224,6 +241,7 @@
* since this string will not be localized or generally comprehensible
* to end-users.
*/
+ @NonNull
public String getDiagnosticInfo() {
return mDiagnosticInfo;
}
@@ -233,13 +251,13 @@
* Register a callback to be invoked when a session expiration update
* occurs. The app's OnExpirationUpdateListener will be notified
* when the expiration time of the keys in the session have changed.
- * @param listener the callback that will be run
+ * @param listener the callback that will be run, or {@code null} to unregister the
+ * previously registered callback.
* @param handler the handler on which the listener should be invoked, or
- * null if the listener should be invoked on the calling thread's looper.
+ * {@code null} if the listener should be invoked on the calling thread's looper.
*/
- public void setOnExpirationUpdateListener(OnExpirationUpdateListener listener,
- Handler handler)
- {
+ public void setOnExpirationUpdateListener(
+ @Nullable OnExpirationUpdateListener listener, @Nullable Handler handler) {
if (listener != null) {
Looper looper = handler != null ? handler.getLooper() : Looper.myLooper();
if (looper != null) {
@@ -266,20 +284,21 @@
* @param expirationTime the new expiration time for the keys in the session.
* The time is in milliseconds, relative to the Unix epoch.
*/
- void onExpirationUpdate(MediaDrm md, byte[] sessionId, long expirationTime);
+ void onExpirationUpdate(
+ @NonNull MediaDrm md, @NonNull byte[] sessionId, long expirationTime);
}
/**
* Register a callback to be invoked when the state of keys in a session
* change, e.g. when a license update occurs or when a license expires.
*
- * @param listener the callback that will be run when key status changes
+ * @param listener the callback that will be run when key status changes, or
+ * {@code null} to unregister the previously registered callback.
* @param handler the handler on which the listener should be invoked, or
* null if the listener should be invoked on the calling thread's looper.
*/
- public void setOnKeysChangeListener(OnKeysChangeListener listener,
- Handler handler)
- {
+ public void setOnKeysChangeListener(
+ @Nullable OnKeysChangeListener listener, @Nullable Handler handler) {
if (listener != null) {
Looper looper = handler != null ? handler.getLooper() : Looper.myLooper();
if (looper != null) {
@@ -309,7 +328,9 @@
* which may trigger an attempt to resume playback on the media stream
* if it is currently blocked waiting for a key.
*/
- void onKeysChange(MediaDrm md, byte[] sessionId, List<KeyStatus> keyInformation,
+ void onKeysChange(
+ @NonNull MediaDrm md, @NonNull byte[] sessionId,
+ @NonNull List<KeyStatus> keyInformation,
boolean hasNewUsableKey);
}
@@ -344,6 +365,16 @@
*/
public static final int KEY_STATUS_INTERNAL_ERROR = 4;
+ /** @hide */
+ @IntDef({
+ KEY_STATUS_USABLE,
+ KEY_STATUS_EXPIRED,
+ KEY_STATUS_OUTPUT_NOT_ALLOWED,
+ KEY_STATUS_PENDING,
+ KEY_STATUS_INTERNAL_ERROR,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface KeyStatusCode {}
/**
* Defines the status of a key.
@@ -355,7 +386,7 @@
private final byte[] mKeyId;
private final int mStatusCode;
- KeyStatus(byte[] keyId, int statusCode) {
+ KeyStatus(@NonNull byte[] keyId, @KeyStatusCode int statusCode) {
mKeyId = keyId;
mStatusCode = statusCode;
}
@@ -363,20 +394,23 @@
/**
* Returns the status code for the key
*/
+ @KeyStatusCode
public int getStatusCode() { return mStatusCode; }
/**
* Returns the id for the key
*/
+ @NonNull
public byte[] getKeyId() { return mKeyId; }
}
/**
* Register a callback to be invoked when an event occurs
*
- * @param listener the callback that will be run
+ * @param listener the callback that will be run. Use {@code null} to
+ * stop receiving event callbacks.
*/
- public void setOnEventListener(OnEventListener listener)
+ public void setOnEventListener(@Nullable OnEventListener listener)
{
mOnEventListener = listener;
}
@@ -391,12 +425,16 @@
* Called when an event occurs that requires the app to be notified
*
* @param md the MediaDrm object on which the event occurred
- * @param sessionId the DRM session ID on which the event occurred
+ * @param sessionId the DRM session ID on which the event occurred,
+ * or {@code null} if there is no session ID associated with the event.
* @param event indicates the event type
* @param extra an secondary error code
* @param data optional byte array of data that may be associated with the event
*/
- void onEvent(MediaDrm md, byte[] sessionId, int event, int extra, byte[] data);
+ void onEvent(
+ @NonNull MediaDrm md, @Nullable byte[] sessionId,
+ @DrmEvent int event, int extra,
+ @Nullable byte[] data);
}
/**
@@ -433,6 +471,17 @@
*/
public static final int EVENT_SESSION_RECLAIMED = 5;
+ /** @hide */
+ @IntDef({
+ EVENT_PROVISION_REQUIRED,
+ EVENT_KEY_REQUIRED,
+ EVENT_KEY_EXPIRED,
+ EVENT_VENDOR_DEFINED,
+ EVENT_SESSION_RECLAIMED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface DrmEvent {}
+
private static final int DRM_EVENT = 200;
private static final int EXPIRATION_UPDATE = 201;
private static final int KEYS_CHANGE = 202;
@@ -441,13 +490,13 @@
{
private MediaDrm mMediaDrm;
- public EventHandler(MediaDrm md, Looper looper) {
+ public EventHandler(@NonNull MediaDrm md, @NonNull Looper looper) {
super(looper);
mMediaDrm = md;
}
@Override
- public void handleMessage(Message msg) {
+ public void handleMessage(@NonNull Message msg) {
if (mMediaDrm.mNativeContext == 0) {
Log.w(TAG, "MediaDrm went away with unhandled events");
return;
@@ -516,7 +565,8 @@
/**
* Parse a list of KeyStatus objects from an event parcel
*/
- private List<KeyStatus> keyStatusListFromParcel(Parcel parcel) {
+ @NonNull
+ private List<KeyStatus> keyStatusListFromParcel(@NonNull Parcel parcel) {
int nelems = parcel.readInt();
List<KeyStatus> keyStatusList = new ArrayList(nelems);
while (nelems-- > 0) {
@@ -534,8 +584,8 @@
* code is safe from the object disappearing from underneath it. (This is
* the cookie passed to native_setup().)
*/
- private static void postEventFromNative(Object mediadrm_ref,
- int what, int eventType, int extra, Object obj)
+ private static void postEventFromNative(@NonNull Object mediadrm_ref,
+ int what, int eventType, int extra, @Nullable Object obj)
{
MediaDrm md = (MediaDrm)((WeakReference<MediaDrm>)mediadrm_ref).get();
if (md == null) {
@@ -553,6 +603,7 @@
* @throws NotProvisionedException if provisioning is needed
* @throws ResourceBusyException if required resources are in use
*/
+ @NonNull
public native byte[] openSession() throws NotProvisionedException,
ResourceBusyException;
@@ -560,7 +611,7 @@
* Close a session on the MediaDrm object that was previously opened
* with {@link #openSession}.
*/
- public native void closeSession(byte[] sessionId);
+ public native void closeSession(@NonNull byte[] sessionId);
/**
* This key request type species that the keys will be for online use, they will
@@ -580,6 +631,15 @@
*/
public static final int KEY_TYPE_RELEASE = 3;
+ /** @hide */
+ @IntDef({
+ KEY_TYPE_STREAMING,
+ KEY_TYPE_OFFLINE,
+ KEY_TYPE_RELEASE,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface KeyType {}
+
/**
* Key request type is initial license request
*/
@@ -595,6 +655,15 @@
*/
public static final int REQUEST_TYPE_RELEASE = 2;
+ /** @hide */
+ @IntDef({
+ REQUEST_TYPE_INITIAL,
+ REQUEST_TYPE_RENEWAL,
+ REQUEST_TYPE_RELEASE,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface RequestType {}
+
/**
* Contains the opaque data an app uses to request keys from a license server
*/
@@ -608,18 +677,38 @@
/**
* Get the opaque message data
*/
- public byte[] getData() { return mData; }
+ @NonNull
+ public byte[] getData() {
+ if (mData == null) {
+ // this should never happen as mData is initialized in
+ // JNI after construction of the KeyRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("KeyRequest is not initialized");
+ }
+ return mData;
+ }
/**
* Get the default URL to use when sending the key request message to a
* server, if known. The app may prefer to use a different license
* server URL from other sources.
+ * This method returns an empty string if the default URL is not known.
*/
- public String getDefaultUrl() { return mDefaultUrl; }
+ @NonNull
+ public String getDefaultUrl() {
+ if (mDefaultUrl == null) {
+ // this should never happen as mDefaultUrl is initialized in
+ // JNI after construction of the KeyRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("KeyRequest is not initialized");
+ }
+ return mDefaultUrl;
+ }
/**
* Get the type of the request
*/
+ @RequestType
public int getRequestType() { return mRequestType; }
};
@@ -652,12 +741,15 @@
* keys, which are identified by a keySetId.
* @param optionalParameters are included in the key request message to
* allow a client application to provide additional message parameters to the server.
- *
+ * This may be {@code null} if no additional parameters are to be sent.
* @throws NotProvisionedException if reprovisioning is needed, due to a
* problem with the certifcate
*/
- public native KeyRequest getKeyRequest(byte[] scope, byte[] init,
- String mimeType, int keyType, HashMap<String, String> optionalParameters)
+ @NonNull
+ public native KeyRequest getKeyRequest(
+ @NonNull byte[] scope, @Nullable byte[] init,
+ @Nullable String mimeType, @KeyType int keyType,
+ @Nullable HashMap<String, String> optionalParameters)
throws NotProvisionedException;
@@ -680,7 +772,9 @@
* @throws DeniedByServerException if the response indicates that the
* server rejected the request
*/
- public native byte[] provideKeyResponse(byte[] scope, byte[] response)
+ @Nullable
+ public native byte[] provideKeyResponse(
+ @NonNull byte[] scope, @NonNull byte[] response)
throws NotProvisionedException, DeniedByServerException;
@@ -691,14 +785,14 @@
* @param sessionId the session ID for the DRM session
* @param keySetId identifies the saved key set to restore
*/
- public native void restoreKeys(byte[] sessionId, byte[] keySetId);
+ public native void restoreKeys(@NonNull byte[] sessionId, @NonNull byte[] keySetId);
/**
* Remove the current keys from a session.
*
* @param sessionId the session ID for the DRM session
*/
- public native void removeKeys(byte[] sessionId);
+ public native void removeKeys(@NonNull byte[] sessionId);
/**
* Request an informative description of the key status for the session. The status is
@@ -709,7 +803,8 @@
*
* @param sessionId the session ID for the DRM session
*/
- public native HashMap<String, String> queryKeyStatus(byte[] sessionId);
+ @NonNull
+ public native HashMap<String, String> queryKeyStatus(@NonNull byte[] sessionId);
/**
* Contains the opaque data an app uses to request a certificate from a provisioning
@@ -721,14 +816,33 @@
/**
* Get the opaque message data
*/
- public byte[] getData() { return mData; }
+ @NonNull
+ public byte[] getData() {
+ if (mData == null) {
+ // this should never happen as mData is initialized in
+ // JNI after construction of the KeyRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("ProvisionRequest is not initialized");
+ }
+ return mData;
+ }
/**
* Get the default URL to use when sending the provision request
* message to a server, if known. The app may prefer to use a different
* provisioning server URL obtained from other sources.
+ * This method returns an empty string if the default URL is not known.
*/
- public String getDefaultUrl() { return mDefaultUrl; }
+ @NonNull
+ public String getDefaultUrl() {
+ if (mDefaultUrl == null) {
+ // this should never happen as mDefaultUrl is initialized in
+ // JNI after construction of the ProvisionRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("ProvisionRequest is not initialized");
+ }
+ return mDefaultUrl;
+ }
private byte[] mData;
private String mDefaultUrl;
@@ -743,12 +857,14 @@
* is returned in ProvisionRequest.data. The recommended URL to deliver the provision
* request to is returned in ProvisionRequest.defaultUrl.
*/
+ @NonNull
public ProvisionRequest getProvisionRequest() {
return getProvisionRequestNative(CERTIFICATE_TYPE_NONE, "");
}
+ @NonNull
private native ProvisionRequest getProvisionRequestNative(int certType,
- String certAuthority);
+ @NonNull String certAuthority);
/**
* After a provision response is received by the app, it is provided to the DRM
@@ -760,12 +876,14 @@
* @throws DeniedByServerException if the response indicates that the
* server rejected the request
*/
- public void provideProvisionResponse(byte[] response)
+ public void provideProvisionResponse(@NonNull byte[] response)
throws DeniedByServerException {
provideProvisionResponseNative(response);
}
- private native Certificate provideProvisionResponseNative(byte[] response)
+ @NonNull
+ /* could there be a valid response with 0-sized certificate or key? */
+ private native Certificate provideProvisionResponseNative(@NonNull byte[] response)
throws DeniedByServerException;
/**
@@ -795,6 +913,7 @@
* record on the client is only removed after positive confirmation that the server
* received the message using releaseSecureStops().
*/
+ @NonNull
public native List<byte[]> getSecureStops();
/**
@@ -802,7 +921,8 @@
*
* @param ssid - The secure stop ID provided by the license server.
*/
- public native byte[] getSecureStop(byte[] ssid);
+ @NonNull
+ public native byte[] getSecureStop(@NonNull byte[] ssid);
/**
* Process the SecureStop server response message ssRelease. After authenticating
@@ -810,7 +930,7 @@
*
* @param ssRelease the server response indicating which secure stops to release
*/
- public native void releaseSecureStops(byte[] ssRelease);
+ public native void releaseSecureStops(@NonNull byte[] ssRelease);
/**
* Remove all secure stops without requiring interaction with the server.
@@ -839,6 +959,16 @@
*/
public static final String PROPERTY_ALGORITHMS = "algorithms";
+ /** @hide */
+ @StringDef({
+ PROPERTY_VENDOR,
+ PROPERTY_VERSION,
+ PROPERTY_DESCRIPTION,
+ PROPERTY_ALGORITHMS,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface StringProperty {}
+
/**
* Read a DRM engine plugin String property value, given the property name string.
* <p>
@@ -846,51 +976,68 @@
* {@link #PROPERTY_VENDOR}, {@link #PROPERTY_VERSION},
* {@link #PROPERTY_DESCRIPTION}, {@link #PROPERTY_ALGORITHMS}
*/
- public native String getPropertyString(String propertyName);
-
+ /* FIXME this throws IllegalStateException for invalid property names */
+ @NonNull
+ public native String getPropertyString(@NonNull @StringProperty String propertyName);
/**
* Byte array property name: the device unique identifier is established during
* device provisioning and provides a means of uniquely identifying each device.
*/
+ /* FIXME this throws IllegalStateException for invalid property names */
public static final String PROPERTY_DEVICE_UNIQUE_ID = "deviceUniqueId";
+ /** @hide */
+ @StringDef({
+ PROPERTY_DEVICE_UNIQUE_ID,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ArrayProperty {}
+
/**
* Read a DRM engine plugin byte array property value, given the property name string.
* <p>
* Standard fields names are {@link #PROPERTY_DEVICE_UNIQUE_ID}
*/
- public native byte[] getPropertyByteArray(String propertyName);
-
+ @NonNull
+ public native byte[] getPropertyByteArray(@ArrayProperty String propertyName);
/**
* Set a DRM engine plugin String property value.
*/
- public native void setPropertyString(String propertyName, String value);
+ public native void setPropertyString(
+ @StringProperty String propertyName, @NonNull String value);
/**
* Set a DRM engine plugin byte array property value.
*/
- public native void setPropertyByteArray(String propertyName, byte[] value);
+ public native void setPropertyByteArray(
+ @ArrayProperty String propertyName, @NonNull byte[] value);
+ private static final native void setCipherAlgorithmNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId, @NonNull String algorithm);
- private static final native void setCipherAlgorithmNative(MediaDrm drm, byte[] sessionId,
- String algorithm);
+ private static final native void setMacAlgorithmNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId, @NonNull String algorithm);
- private static final native void setMacAlgorithmNative(MediaDrm drm, byte[] sessionId,
- String algorithm);
+ @NonNull
+ private static final native byte[] encryptNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull byte[] keyId, @NonNull byte[] input, @NonNull byte[] iv);
- private static final native byte[] encryptNative(MediaDrm drm, byte[] sessionId,
- byte[] keyId, byte[] input, byte[] iv);
+ @NonNull
+ private static final native byte[] decryptNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull byte[] keyId, @NonNull byte[] input, @NonNull byte[] iv);
- private static final native byte[] decryptNative(MediaDrm drm, byte[] sessionId,
- byte[] keyId, byte[] input, byte[] iv);
+ @NonNull
+ private static final native byte[] signNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull byte[] keyId, @NonNull byte[] message);
- private static final native byte[] signNative(MediaDrm drm, byte[] sessionId,
- byte[] keyId, byte[] message);
-
- private static final native boolean verifyNative(MediaDrm drm, byte[] sessionId,
- byte[] keyId, byte[] message, byte[] signature);
+ private static final native boolean verifyNative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull byte[] keyId, @NonNull byte[] message, @NonNull byte[] signature);
/**
* In addition to supporting decryption of DASH Common Encrypted Media, the
@@ -919,8 +1066,8 @@
private MediaDrm mDrm;
private byte[] mSessionId;
- CryptoSession(MediaDrm drm, byte[] sessionId,
- String cipherAlgorithm, String macAlgorithm)
+ CryptoSession(@NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull String cipherAlgorithm, @NonNull String macAlgorithm)
{
mSessionId = sessionId;
mDrm = drm;
@@ -935,7 +1082,9 @@
* @param input the data to encrypt
* @param iv the initialization vector to use for the cipher
*/
- public byte[] encrypt(byte[] keyid, byte[] input, byte[] iv) {
+ @NonNull
+ public byte[] encrypt(
+ @NonNull byte[] keyid, @NonNull byte[] input, @NonNull byte[] iv) {
return encryptNative(mDrm, mSessionId, keyid, input, iv);
}
@@ -946,7 +1095,9 @@
* @param input the data to encrypt
* @param iv the initialization vector to use for the cipher
*/
- public byte[] decrypt(byte[] keyid, byte[] input, byte[] iv) {
+ @NonNull
+ public byte[] decrypt(
+ @NonNull byte[] keyid, @NonNull byte[] input, @NonNull byte[] iv) {
return decryptNative(mDrm, mSessionId, keyid, input, iv);
}
@@ -956,7 +1107,8 @@
* @param keyid specifies which key to use
* @param message the data for which a signature is to be computed
*/
- public byte[] sign(byte[] keyid, byte[] message) {
+ @NonNull
+ public byte[] sign(@NonNull byte[] keyid, @NonNull byte[] message) {
return signNative(mDrm, mSessionId, keyid, message);
}
@@ -969,7 +1121,8 @@
* @param signature the reference signature which will be compared with the
* computed signature
*/
- public boolean verify(byte[] keyid, byte[] message, byte[] signature) {
+ public boolean verify(
+ @NonNull byte[] keyid, @NonNull byte[] message, @NonNull byte[] signature) {
return verifyNative(mDrm, mSessionId, keyid, message, signature);
}
};
@@ -994,8 +1147,9 @@
* using the method {@link #getPropertyString} with the property name
* "algorithms".
*/
- public CryptoSession getCryptoSession(byte[] sessionId,
- String cipherAlgorithm, String macAlgorithm)
+ public CryptoSession getCryptoSession(
+ @NonNull byte[] sessionId,
+ @NonNull String cipherAlgorithm, @NonNull String macAlgorithm)
{
return new CryptoSession(this, sessionId, cipherAlgorithm, macAlgorithm);
}
@@ -1010,7 +1164,7 @@
private byte[] mData;
private String mDefaultUrl;
- CertificateRequest(byte[] data, String defaultUrl) {
+ CertificateRequest(@NonNull byte[] data, @NonNull String defaultUrl) {
mData = data;
mDefaultUrl = defaultUrl;
}
@@ -1018,6 +1172,7 @@
/**
* Get the opaque message data
*/
+ @NonNull
public byte[] getData() { return mData; }
/**
@@ -1025,6 +1180,7 @@
* message to a server, if known. The app may prefer to use a different
* certificate server URL obtained from other sources.
*/
+ @NonNull
public String getDefaultUrl() { return mDefaultUrl; }
}
@@ -1040,8 +1196,9 @@
*
* @hide - not part of the public API at this time
*/
- public CertificateRequest getCertificateRequest(int certType,
- String certAuthority)
+ @NonNull
+ public CertificateRequest getCertificateRequest(
+ @CertificateType int certType, @NonNull String certAuthority)
{
ProvisionRequest provisionRequest = getProvisionRequestNative(certType, certAuthority);
return new CertificateRequest(provisionRequest.getData(),
@@ -1060,12 +1217,30 @@
/**
* Get the wrapped private key data
*/
- public byte[] getWrappedPrivateKey() { return mWrappedKey; }
+ @NonNull
+ public byte[] getWrappedPrivateKey() {
+ if (mWrappedKey == null) {
+ // this should never happen as mWrappedKey is initialized in
+ // JNI after construction of the KeyRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("Cerfificate is not initialized");
+ }
+ return mWrappedKey;
+ }
/**
* Get the PEM-encoded certificate chain
*/
- public byte[] getContent() { return mCertificateData; }
+ @NonNull
+ public byte[] getContent() {
+ if (mCertificateData == null) {
+ // this should never happen as mCertificateData is initialized in
+ // JNI after construction of the KeyRequest object. The check
+ // is needed here to guarantee @NonNull annotation.
+ throw new RuntimeException("Cerfificate is not initialized");
+ }
+ return mCertificateData;
+ }
private byte[] mWrappedKey;
private byte[] mCertificateData;
@@ -1089,13 +1264,16 @@
*
* @hide - not part of the public API at this time
*/
- public Certificate provideCertificateResponse(byte[] response)
+ @NonNull
+ public Certificate provideCertificateResponse(@NonNull byte[] response)
throws DeniedByServerException {
return provideProvisionResponseNative(response);
}
- private static final native byte[] signRSANative(MediaDrm drm, byte[] sessionId,
- String algorithm, byte[] wrappedKey, byte[] message);
+ @NonNull
+ private static final native byte[] signRSANative(
+ @NonNull MediaDrm drm, @NonNull byte[] sessionId,
+ @NonNull String algorithm, @NonNull byte[] wrappedKey, @NonNull byte[] message);
/**
* Sign data using an RSA key
@@ -1108,8 +1286,10 @@
*
* @hide - not part of the public API at this time
*/
- public byte[] signRSA(byte[] sessionId, String algorithm,
- byte[] wrappedKey, byte[] message) {
+ @NonNull
+ public byte[] signRSA(
+ @NonNull byte[] sessionId, @NonNull String algorithm,
+ @NonNull byte[] wrappedKey, @NonNull byte[] message) {
return signRSANative(this, sessionId, algorithm, wrappedKey, message);
}
diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java
index b4acbc0..0bf995f 100644
--- a/media/java/android/media/MediaExtractor.java
+++ b/media/java/android/media/MediaExtractor.java
@@ -16,6 +16,9 @@
package android.media;
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.AssetFileDescriptor;
@@ -27,6 +30,8 @@
import java.io.FileDescriptor;
import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.HashMap;
@@ -69,21 +74,26 @@
* Sets the data source (MediaDataSource) to use.
*
* @param dataSource the MediaDataSource for the media you want to extract from
+ *
+ * @throws IllegalArgumentException if dataSource is invalid.
*/
- public native final void setDataSource(MediaDataSource dataSource) throws IllegalArgumentException, IOException;
+ public native final void setDataSource(@NonNull MediaDataSource dataSource)
+ throws IOException;
/**
* Sets the data source as a content Uri.
*
* @param context the Context to use when resolving the Uri
* @param uri the Content URI of the data you want to extract from.
- * @param headers the headers to be sent together with the request for the data
+ * @param headers the headers to be sent together with the request for the data.
+ * This can be {@code null} if no specific headers are to be sent with the
+ * request.
*/
public final void setDataSource(
- Context context, Uri uri, Map<String, String> headers)
+ @NonNull Context context, @NonNull Uri uri, @Nullable Map<String, String> headers)
throws IOException {
String scheme = uri.getScheme();
- if(scheme == null || scheme.equals("file")) {
+ if (scheme == null || scheme.equals("file")) {
setDataSource(uri.getPath());
return;
}
@@ -122,9 +132,11 @@
* Sets the data source (file-path or http URL) to use.
*
* @param path the path of the file, or the http URL
- * @param headers the headers associated with the http request for the stream you want to play
+ * @param headers the headers associated with the http request for the stream you want to play.
+ * This can be {@code null} if no specific headers are to be sent with the
+ * request.
*/
- public final void setDataSource(String path, Map<String, String> headers)
+ public final void setDataSource(@NonNull String path, @Nullable Map<String, String> headers)
throws IOException {
String[] keys = null;
String[] values = null;
@@ -149,10 +161,10 @@
}
private native final void nativeSetDataSource(
- IBinder httpServiceBinder,
- String path,
- String[] keys,
- String[] values) throws IOException;
+ @NonNull IBinder httpServiceBinder,
+ @NonNull String path,
+ @Nullable String[] keys,
+ @Nullable String[] values) throws IOException;
/**
* Sets the data source (file-path or http URL) to use.
@@ -166,7 +178,7 @@
* As an alternative, the application could first open the file for reading,
* and then use the file descriptor form {@link #setDataSource(FileDescriptor)}.
*/
- public final void setDataSource(String path) throws IOException {
+ public final void setDataSource(@NonNull String path) throws IOException {
nativeSetDataSource(
MediaHTTPService.createHttpServiceBinderIfNecessary(path),
path,
@@ -180,7 +192,7 @@
*
* @param fd the FileDescriptor for the file you want to extract from.
*/
- public final void setDataSource(FileDescriptor fd) throws IOException {
+ public final void setDataSource(@NonNull FileDescriptor fd) throws IOException {
setDataSource(fd, 0, 0x7ffffffffffffffL);
}
@@ -194,7 +206,7 @@
* @param length the length in bytes of the data to be extracted
*/
public native final void setDataSource(
- FileDescriptor fd, long offset, long length) throws IOException;
+ @NonNull FileDescriptor fd, long offset, long length) throws IOException;
@Override
protected void finalize() {
@@ -217,7 +229,9 @@
* Get the PSSH info if present.
* @return a map of uuid-to-bytes, with the uuid specifying
* the crypto scheme, and the bytes being the data specific to that scheme.
+ * This can be {@code null} if the source does not contain PSSH info.
*/
+ @Nullable
public Map<UUID, byte[]> getPsshInfo() {
Map<UUID, byte[]> psshMap = null;
Map<String, Object> formatMap = getFileFormatNative();
@@ -243,16 +257,19 @@
return psshMap;
}
+ @NonNull
private native Map<String, Object> getFileFormatNative();
/**
* Get the track format at the specified index.
* More detail on the representation can be found at {@link android.media.MediaCodec}
*/
+ @NonNull
public MediaFormat getTrackFormat(int index) {
return new MediaFormat(getTrackFormatNative(index));
}
+ @NonNull
private native Map<String, Object> getTrackFormatNative(int index);
/**
@@ -284,11 +301,20 @@
*/
public static final int SEEK_TO_CLOSEST_SYNC = 2;
+ /** @hide */
+ @IntDef({
+ SEEK_TO_PREVIOUS_SYNC,
+ SEEK_TO_NEXT_SYNC,
+ SEEK_TO_CLOSEST_SYNC,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SeekMode {}
+
/**
* All selected tracks seek near the requested time according to the
* specified mode.
*/
- public native void seekTo(long timeUs, int mode);
+ public native void seekTo(long timeUs, @SeekMode int mode);
/**
* Advance to the next sample. Returns false if no more sample data
@@ -305,7 +331,7 @@
* @param byteBuf the destination byte buffer
* @return the sample size (or -1 if no more samples are available).
*/
- public native int readSampleData(ByteBuffer byteBuf, int offset);
+ public native int readSampleData(@NonNull ByteBuffer byteBuf, int offset);
/**
* Returns the track index the current sample originates from (or -1
@@ -334,9 +360,20 @@
*/
public static final int SAMPLE_FLAG_ENCRYPTED = 2;
+ /** @hide */
+ @IntDef(
+ flag = true,
+ value = {
+ SAMPLE_FLAG_SYNC,
+ SAMPLE_FLAG_ENCRYPTED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SampleFlag {}
+
/**
* Returns the current sample's flags.
*/
+ @SampleFlag
public native int getSampleFlags();
/**
@@ -347,7 +384,7 @@
* to be filled in.
* @return true iff the sample flags contain {@link #SAMPLE_FLAG_ENCRYPTED}
*/
- public native boolean getSampleCryptoInfo(MediaCodec.CryptoInfo info);
+ public native boolean getSampleCryptoInfo(@NonNull MediaCodec.CryptoInfo info);
/**
* Returns an estimate of how much data is presently cached in memory
diff --git a/media/java/android/media/MediaMuxer.java b/media/java/android/media/MediaMuxer.java
index f518ab2..4b6b4fa 100644
--- a/media/java/android/media/MediaMuxer.java
+++ b/media/java/android/media/MediaMuxer.java
@@ -16,12 +16,18 @@
package android.media;
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.media.MediaCodec;
import android.media.MediaCodec.BufferInfo;
import dalvik.system.CloseGuard;
import java.io.FileDescriptor;
import java.io.IOException;
import java.io.RandomAccessFile;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer;
import java.util.Map;
@@ -80,19 +86,27 @@
public static final int MUXER_OUTPUT_WEBM = 1;
};
+ /** @hide */
+ @IntDef({
+ OutputFormat.MUXER_OUTPUT_MPEG_4,
+ OutputFormat.MUXER_OUTPUT_WEBM,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface Format {}
+
// All the native functions are listed here.
- private static native long nativeSetup(FileDescriptor fd, int format);
+ private static native long nativeSetup(@NonNull FileDescriptor fd, int format);
private static native void nativeRelease(long nativeObject);
private static native void nativeStart(long nativeObject);
private static native void nativeStop(long nativeObject);
- private static native int nativeAddTrack(long nativeObject, String[] keys,
- Object[] values);
- private static native void nativeSetOrientationHint(long nativeObject,
- int degrees);
+ private static native int nativeAddTrack(
+ long nativeObject, @NonNull String[] keys, @NonNull Object[] values);
+ private static native void nativeSetOrientationHint(
+ long nativeObject, int degrees);
private static native void nativeSetLocation(long nativeObject, int latitude, int longitude);
- private static native void nativeWriteSampleData(long nativeObject,
- int trackIndex, ByteBuffer byteBuf,
- int offset, int size, long presentationTimeUs, int flags);
+ private static native void nativeWriteSampleData(
+ long nativeObject, int trackIndex, @NonNull ByteBuffer byteBuf,
+ int offset, int size, long presentationTimeUs, @MediaCodec.BufferFlag int flags);
// Muxer internal states.
private static final int MUXER_STATE_UNINITIALIZED = -1;
@@ -115,7 +129,7 @@
* @see android.media.MediaMuxer.OutputFormat
* @throws IOException if failed to open the file for write
*/
- public MediaMuxer(String path, int format) throws IOException {
+ public MediaMuxer(@NonNull String path, @Format int format) throws IOException {
if (path == null) {
throw new IllegalArgumentException("path must not be null");
}
@@ -246,11 +260,12 @@
/**
* Adds a track with the specified format.
- * @param format The media format for the track.
+ * @param format The media format for the track. This must not be an empty
+ * MediaFormat.
* @return The track index for this newly added track, and it should be used
* in the {@link #writeSampleData}.
*/
- public int addTrack(MediaFormat format) {
+ public int addTrack(@NonNull MediaFormat format) {
if (format == null) {
throw new IllegalArgumentException("format must not be null.");
}
@@ -302,8 +317,8 @@
* MediaMuxer uses the flags provided in {@link MediaCodec.BufferInfo},
* to signal sync frames.
*/
- public void writeSampleData(int trackIndex, ByteBuffer byteBuf,
- BufferInfo bufferInfo) {
+ public void writeSampleData(int trackIndex, @NonNull ByteBuffer byteBuf,
+ @NonNull BufferInfo bufferInfo) {
if (trackIndex < 0 || trackIndex > mLastTrackIndex) {
throw new IllegalArgumentException("trackIndex is invalid");
}
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 210d08f..a33fa59 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -17,6 +17,8 @@
package android.media;
import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityThread;
import android.app.AppOpsManager;
import android.content.ContentResolver;
@@ -44,10 +46,12 @@
import android.media.AudioManager;
import android.media.MediaFormat;
import android.media.MediaTimeProvider;
+import android.media.PlaybackSettings;
import android.media.SubtitleController;
import android.media.SubtitleController.Anchor;
import android.media.SubtitleData;
import android.media.SubtitleTrack.RenderingWidget;
+import android.media.SyncSettings;
import com.android.internal.app.IAppOpsService;
@@ -471,16 +475,21 @@
* <td>{} </p></td>
* <td>This method can be called in any state and calling it does not change
* the object state. </p></td></tr>
- * <tr><td>setScreenOnWhilePlaying</></td>
- * <td>any </p></td>
- * <td>{} </p></td>
- * <td>This method can be called in any state and calling it does not change
- * the object state. </p></td></tr>
* <tr><td>setPlaybackRate</p></td>
* <td>any </p></td>
* <td>{} </p></td>
* <td>This method can be called in any state and calling it does not change
* the object state. </p></td></tr>
+ * <tr><td>setPlaybackSettings</p></td>
+ * <td>any </p></td>
+ * <td>{} </p></td>
+ * <td>This method can be called in any state and calling it does not change
+ * the object state. </p></td></tr>
+ * <tr><td>setScreenOnWhilePlaying</></td>
+ * <td>any </p></td>
+ * <td>{} </p></td>
+ * <td>This method can be called in any state and calling it does not change
+ * the object state. </p></td></tr>
* <tr><td>setVolume </p></td>
* <td>{Idle, Initialized, Stopped, Prepared, Started, Paused,
* PlaybackCompleted}</p></td>
@@ -1342,6 +1351,8 @@
public native boolean isPlaying();
/**
+ * Change playback speed of audio by resampling the audio.
+ * <p>
* Specifies resampling as audio mode for variable rate playback, i.e.,
* resample the waveform based on the requested playback rate to get
* a new waveform, and play back the new waveform at the original sampling
@@ -1349,33 +1360,44 @@
* When rate is larger than 1.0, pitch becomes higher.
* When rate is smaller than 1.0, pitch becomes lower.
*/
- public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0;
+ public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2;
/**
+ * Change playback speed of audio without changing its pitch.
+ * <p>
* Specifies time stretching as audio mode for variable rate playback.
* Time stretching changes the duration of the audio samples without
* affecting its pitch.
- * FIXME: implement time strectching.
- * @hide
+ * <p>
+ * This mode is only supported for a limited range of playback speed factors,
+ * e.g. between 1/2x and 2x.
*/
public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1;
+ /**
+ * Change playback speed of audio without changing its pitch, and
+ * possibly mute audio if time stretching is not supported for the playback
+ * speed.
+ * <p>
+ * Try to keep audio pitch when changing the playback rate, but allow the
+ * system to determine how to change audio playback if the rate is out
+ * of range.
+ */
+ public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0;
+
/** @hide */
@IntDef(
value = {
+ PLAYBACK_RATE_AUDIO_MODE_DEFAULT,
+ PLAYBACK_RATE_AUDIO_MODE_STRETCH,
PLAYBACK_RATE_AUDIO_MODE_RESAMPLE,
- PLAYBACK_RATE_AUDIO_MODE_STRETCH })
+ })
@Retention(RetentionPolicy.SOURCE)
public @interface PlaybackRateAudioMode {}
/**
* Sets playback rate and audio mode.
*
- * <p> The supported audio modes are:
- * <ul>
- * <li> {@link #PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
- * </ul>
- *
* @param rate the ratio between desired playback rate and normal one.
* @param audioMode audio playback mode. Must be one of the supported
* audio modes.
@@ -1385,14 +1407,68 @@
* @throws IllegalArgumentException if audioMode is not supported.
*/
public void setPlaybackRate(float rate, @PlaybackRateAudioMode int audioMode) {
- if (!isAudioPlaybackModeSupported(audioMode)) {
+ PlaybackSettings settings = new PlaybackSettings();
+ settings.allowDefaults();
+ switch (audioMode) {
+ case PLAYBACK_RATE_AUDIO_MODE_DEFAULT:
+ settings.setSpeed(rate).setPitch(1.0f);
+ break;
+ case PLAYBACK_RATE_AUDIO_MODE_STRETCH:
+ settings.setSpeed(rate).setPitch(1.0f)
+ .setAudioFallbackMode(settings.AUDIO_FALLBACK_MODE_FAIL);
+ break;
+ case PLAYBACK_RATE_AUDIO_MODE_RESAMPLE:
+ settings.setSpeed(rate).setPitch(rate);
+ break;
+ default:
final String msg = "Audio playback mode " + audioMode + " is not supported";
throw new IllegalArgumentException(msg);
}
- _setPlaybackRate(rate);
+ setPlaybackSettings(settings);
}
- private native void _setPlaybackRate(float rate) throws IllegalStateException;
+ /**
+ * Sets playback rate using {@link PlaybackSettings}.
+ *
+ * @param settings the playback settings.
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ * @throws IllegalArgumentException if settings is not supported.
+ */
+ public native void setPlaybackSettings(@NonNull PlaybackSettings settings);
+
+ /**
+ * Gets the playback settings, containing the current playback rate.
+ *
+ * @return the playback settings.
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ */
+ @NonNull
+ public native PlaybackSettings getPlaybackSettings();
+
+ /**
+ * Sets A/V sync mode.
+ *
+ * @param settings the A/V sync settings to apply
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ * @throws IllegalArgumentException if settings are not supported.
+ */
+ public native void setSyncSettings(@NonNull SyncSettings settings);
+
+ /**
+ * Gets the A/V sync mode.
+ *
+ * @return the A/V sync settings
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ */
+ @NonNull
+ public native SyncSettings getSyncSettings();
/**
* Seeks to specified time position.
@@ -1404,6 +1480,39 @@
public native void seekTo(int msec) throws IllegalStateException;
/**
+ * Get current playback position.
+ * <p>
+ * The MediaTimestamp represents how the media time correlates to the system time in
+ * a linear fashion. It contains the media time and system timestamp of an anchor frame
+ * ({@link MediaTimestamp#mediaTimeUs} and {@link MediaTimestamp#nanoTime})
+ * and the speed of the media clock ({@link MediaTimestamp#clockRate}).
+ * <p>
+ * During regular playback, the media time moves fairly constantly (though the
+ * anchor frame may be rebased to a current system time, the linear correlation stays
+ * steady). Therefore, this method does not need to be called often.
+ * <p>
+ * To help users to get current playback position, this method always returns the timestamp of
+ * just-rendered frame, i.e., {@link System#nanoTime} and its corresponding media time. They
+ * can be used as current playback position.
+ *
+ * @return a MediaTimestamp object if a timestamp is available, or {@code null} if no timestamp
+ * is available, e.g. because the media player has not been initialized.
+ */
+ @Nullable
+ public MediaTimestamp getTimestamp()
+ {
+ try {
+ // TODO: get the timestamp from native side
+ return new MediaTimestamp(
+ getCurrentPosition() * 1000L,
+ System.nanoTime(),
+ isPlaying() ? getPlaybackSettings().getSpeed() : 0.f);
+ } catch (IllegalStateException e) {
+ return null;
+ }
+ }
+
+ /**
* Gets the current playback position.
*
* @return the current position in milliseconds
@@ -3219,14 +3328,6 @@
mode == VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
}
- /*
- * Test whether a given audio playback mode is supported.
- * TODO query supported AudioPlaybackMode from player.
- */
- private boolean isAudioPlaybackModeSupported(int mode) {
- return (mode == PLAYBACK_RATE_AUDIO_MODE_RESAMPLE);
- }
-
/** @hide */
static class TimeProvider implements MediaPlayer.OnSeekCompleteListener,
MediaTimeProvider {
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 876aebc..78fd9f0 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -140,6 +140,24 @@
public native Surface getSurface();
/**
+ * Configures the recorder to use a persistent surface when using SURFACE video source.
+ * <p> May only be called after {@link #prepare} in lieu of {@link #getSurface}.
+ * Frames rendered to the Surface before {@link #start} will be discarded.</p>
+
+ * @param surface a persistent input surface created by
+ * {@link MediaCodec#createPersistentInputSurface}
+ * @throws IllegalStateException if it is called before {@link #prepare}, after
+ * {@link #stop}, or is called when VideoSource is not set to SURFACE.
+ * @throws IllegalArgumentException if the surface was not created by
+ * {@link MediaCodec#createPersistentInputSurface}.
+ * @see MediaCodec#createPersistentInputSurface
+ * @see MediaRecorder.VideoSource
+ */
+ public void usePersistentSurface(Surface surface) {
+ throw new IllegalArgumentException("not implemented");
+ }
+
+ /**
* Sets a Surface to show a preview of recorded media (video). Calls this
* before prepare() to make sure that the desirable preview display is
* set. If {@link #setCamera(Camera)} is used and the surface has been
diff --git a/media/java/android/media/MediaSync.java b/media/java/android/media/MediaSync.java
index e6bc10d..c1f1a73 100644
--- a/media/java/android/media/MediaSync.java
+++ b/media/java/android/media/MediaSync.java
@@ -18,7 +18,9 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.media.AudioTrack;
+import android.media.PlaybackSettings;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -37,13 +39,13 @@
* <p>MediaSync is generally used like this:
* <pre>
* MediaSync sync = new MediaSync();
- * sync.configureSurface(surface);
+ * sync.setSurface(surface);
* Surface inputSurface = sync.createInputSurface();
* ...
* // MediaCodec videoDecoder = ...;
* videoDecoder.configure(format, inputSurface, ...);
* ...
- * sync.configureAudioTrack(audioTrack);
+ * sync.setAudioTrack(audioTrack);
* sync.setCallback(new MediaSync.Callback() {
* {@literal @Override}
* public void onReturnAudioBuffer(MediaSync sync, ByteBuffer audioBuffer, int bufferIndex) {
@@ -93,8 +95,8 @@
*
* </pre>
*
- * The client needs to configure corresponding sink (i.e., Surface and AudioTrack) based on
- * the stream type it will play.
+ * The client needs to configure corresponding sink by setting the Surface and/or AudioTrack
+ * based on the stream type it will play.
* <p>
* For video, the client needs to call {@link #createInputSurface} to obtain a surface on
* which it will render video frames.
@@ -120,9 +122,10 @@
*
* @param sync The MediaSync object.
* @param audioBuffer The returned audio buffer.
+ * @param bufferIndex The index associated with the audio buffer
*/
public abstract void onReturnAudioBuffer(
- MediaSync sync, ByteBuffer audioBuffer, int bufferIndex);
+ @NonNull MediaSync sync, @NonNull ByteBuffer audioBuffer, int bufferIndex);
}
private static final String TAG = "MediaSync";
@@ -138,7 +141,7 @@
public int mSizeInBytes;
long mPresentationTimeUs;
- public AudioBuffer(ByteBuffer byteBuffer, int bufferIndex,
+ public AudioBuffer(@NonNull ByteBuffer byteBuffer, int bufferIndex,
int sizeInBytes, long presentationTimeUs) {
mByteBuffer = byteBuffer;
mBufferIndex = bufferIndex;
@@ -200,13 +203,17 @@
/**
* Sets an asynchronous callback for actionable MediaSync events.
- * It shouldn't be called inside callback.
+ * <p>
+ * This method can be called multiple times to update a previously set callback. If the
+ * handler is changed, undelivered notifications scheduled for the old handler may be dropped.
+ * <p>
+ * <b>Do not call this inside callback.</b>
*
- * @param cb The callback that will run.
- * @param handler The Handler that will run the callback. Using null means to use MediaSync's
+ * @param cb The callback that will run. Use {@code null} to stop receiving callbacks.
+ * @param handler The Handler that will run the callback. Use {@code null} to use MediaSync's
* internal handler if it exists.
*/
- public void setCallback(/* MediaSync. */ Callback cb, Handler handler) {
+ public void setCallback(@Nullable /* MediaSync. */ Callback cb, @Nullable Handler handler) {
synchronized(mCallbackLock) {
if (handler != null) {
mCallbackHandler = handler;
@@ -227,29 +234,33 @@
}
/**
- * Configures the output surface for MediaSync.
+ * Sets the output surface for MediaSync.
+ * <p>
+ * Currently, this is only supported in the Initialized state.
*
* @param surface Specify a surface on which to render the video data.
- * @throws IllegalArgumentException if the surface has been released, or is invalid.
+ * @throws IllegalArgumentException if the surface has been released, is invalid,
* or can not be connected.
- * @throws IllegalStateException if not in the Initialized state, or another surface
- * has already been configured.
+ * @throws IllegalStateException if setting the surface is not supported, e.g.
+ * not in the Initialized state, or another surface has already been configured.
*/
- public void configureSurface(Surface surface) {
+ public void setSurface(@Nullable Surface surface) {
native_configureSurface(surface);
}
- private native final void native_configureSurface(Surface surface);
+ private native final void native_configureSurface(@Nullable Surface surface);
/**
- * Configures the audio track for MediaSync.
+ * Sets the audio track for MediaSync.
+ * <p>
+ * Currently, this is only supported in the Initialized state.
*
* @param audioTrack Specify an AudioTrack through which to render the audio data.
* @throws IllegalArgumentException if the audioTrack has been released, or is invalid.
- * @throws IllegalStateException if not in the Initialized state, or another audio track
- * has already been configured.
+ * @throws IllegalStateException if setting the audio track is not supported, e.g.
+ * not in the Initialized state, or another audio track has already been configured.
*/
- public void configureAudioTrack(AudioTrack audioTrack) {
+ public void setAudioTrack(@Nullable AudioTrack audioTrack) {
// AudioTrack has sanity check for configured sample rate.
int nativeSampleRateInHz = (audioTrack == null ? 0 : audioTrack.getSampleRate());
@@ -261,74 +272,73 @@
}
private native final void native_configureAudioTrack(
- AudioTrack audioTrack, int nativeSampleRateInHz);
+ @Nullable AudioTrack audioTrack, int nativeSampleRateInHz);
/**
* Requests a Surface to use as the input. This may only be called after
- * {@link #configureSurface}.
+ * {@link #setSurface}.
* <p>
* The application is responsible for calling release() on the Surface when
* done.
* @throws IllegalStateException if not configured, or another input surface has
* already been created.
*/
+ @NonNull
public native final Surface createInputSurface();
/**
- * Specifies resampling as audio mode for variable rate playback, i.e.,
- * resample the waveform based on the requested playback rate to get
+ * Resample audio data when changing playback speed.
+ * <p>
+ * Resample the waveform based on the requested playback rate to get
* a new waveform, and play back the new waveform at the original sampling
* frequency.
- * When rate is larger than 1.0, pitch becomes higher.
- * When rate is smaller than 1.0, pitch becomes lower.
+ * <p><ul>
+ * <li>When rate is larger than 1.0, pitch becomes higher.
+ * <li>When rate is smaller than 1.0, pitch becomes lower.
+ * </ul>
*/
- public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0;
+ public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2;
/**
- * Specifies time stretching as audio mode for variable rate playback.
+ * Time stretch audio when changing playback speed.
+ * <p>
* Time stretching changes the duration of the audio samples without
- * affecting its pitch.
- * FIXME: implement time strectching.
- * @hide
+ * affecting their pitch. This is only supported for a limited range
+ * of playback speeds, e.g. from 1/2x to 2x. If the rate is adjusted
+ * beyond this limit, the rate change will fail.
*/
public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1;
+ /**
+ * Time stretch audio when changing playback speed, and may mute if
+ * stretching is no longer supported.
+ * <p>
+ * Time stretching changes the duration of the audio samples without
+ * affecting their pitch. This is only supported for a limited range
+ * of playback speeds, e.g. from 1/2x to 2x. When it is no longer
+ * supported, the audio may be muted. Using this mode will not fail
+ * for non-negative playback rates.
+ */
+ public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0;
+
/** @hide */
@IntDef(
value = {
+ PLAYBACK_RATE_AUDIO_MODE_DEFAULT,
+ PLAYBACK_RATE_AUDIO_MODE_STRETCH,
PLAYBACK_RATE_AUDIO_MODE_RESAMPLE,
- PLAYBACK_RATE_AUDIO_MODE_STRETCH })
+ })
@Retention(RetentionPolicy.SOURCE)
public @interface PlaybackRateAudioMode {}
/**
- * Sets playback rate. It does same as {@link #setPlaybackRate(float, int)},
- * except that it always uses {@link #PLAYBACK_RATE_AUDIO_MODE_STRETCH} for audioMode.
- *
- * @param rate the ratio between desired playback rate and normal one. 1.0 means normal
- * playback speed. 0.0 means stop or pause. Value larger than 1.0 means faster playback,
- * while value between 0.0 and 1.0 for slower playback.
- *
- * @throws IllegalStateException if the internal sync engine or the audio track has not
- * been initialized.
- * TODO: unhide when PLAYBACK_RATE_AUDIO_MODE_STRETCH is supported.
- * @hide
- */
- public void setPlaybackRate(float rate) {
- setPlaybackRate(rate, PLAYBACK_RATE_AUDIO_MODE_STRETCH);
- }
-
- /**
* Sets playback rate and audio mode.
*
- * <p> The supported audio modes are:
- * <ul>
- * <li> {@link #PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
- * </ul>
- *
* @param rate the ratio between desired playback rate and normal one. 1.0 means normal
- * playback speed. 0.0 means stop or pause. Value larger than 1.0 means faster playback,
- * while value between 0.0 and 1.0 for slower playback.
+ * playback speed. 0.0 means pause. Value larger than 1.0 means faster playback,
+ * while value between 0.0 and 1.0 for slower playback. <b>Note:</b> the normal rate
+ * does not change as a result of this call. To restore the original rate at any time,
+ * use 1.0.
* @param audioMode audio playback mode. Must be one of the supported
* audio modes.
*
@@ -337,82 +347,178 @@
* @throws IllegalArgumentException if audioMode is not supported.
*/
public void setPlaybackRate(float rate, @PlaybackRateAudioMode int audioMode) {
- if (!isAudioPlaybackModeSupported(audioMode)) {
- final String msg = "Audio playback mode " + audioMode + " is not supported";
- throw new IllegalArgumentException(msg);
- }
-
- int status = AudioTrack.SUCCESS;
- if (mAudioTrack != null) {
- int nativeSampleRateInHz = mAudioTrack.getSampleRate();
- int playbackSampleRate = (int)(rate * nativeSampleRateInHz + 0.5);
- rate = playbackSampleRate / (float)nativeSampleRateInHz;
-
- try {
- if (rate == 0.0) {
- mAudioTrack.pause();
- } else {
- status = mAudioTrack.setPlaybackRate(playbackSampleRate);
- mAudioTrack.play();
- }
- } catch (IllegalStateException e) {
- throw e;
+ PlaybackSettings rateSettings = new PlaybackSettings();
+ rateSettings.allowDefaults();
+ switch (audioMode) {
+ case PLAYBACK_RATE_AUDIO_MODE_DEFAULT:
+ rateSettings.setSpeed(rate).setPitch(1.0f);
+ break;
+ case PLAYBACK_RATE_AUDIO_MODE_STRETCH:
+ rateSettings.setSpeed(rate).setPitch(1.0f)
+ .setAudioFallbackMode(rateSettings.AUDIO_FALLBACK_MODE_FAIL);
+ break;
+ case PLAYBACK_RATE_AUDIO_MODE_RESAMPLE:
+ rateSettings.setSpeed(rate).setPitch(rate);
+ break;
+ default:
+ {
+ final String msg = "Audio playback mode " + audioMode + " is not supported";
+ throw new IllegalArgumentException(msg);
}
}
+ setPlaybackSettings(rateSettings);
+ }
- if (status != AudioTrack.SUCCESS) {
- throw new IllegalArgumentException("Fail to set playback rate in audio track");
- }
+ /**
+ * Sets playback rate using {@link PlaybackSettings}.
+ * <p>
+ * When using MediaSync with {@link AudioTrack}, set playback settings using this
+ * call instead of calling it directly on the track, so that the sync is aware of
+ * the settings change.
+ * <p>
+ * This call also works if there is no audio track.
+ *
+ * @param settings the playback settings to use. {@link PlaybackSettings#getSpeed
+ * Speed} is the ratio between desired playback rate and normal one. 1.0 means
+ * normal playback speed. 0.0 means pause. Value larger than 1.0 means faster playback,
+ * while value between 0.0 and 1.0 for slower playback. <b>Note:</b> the normal rate
+ * does not change as a result of this call. To restore the original rate at any time,
+ * use speed of 1.0.
+ *
+ * @throws IllegalStateException if the internal sync engine or the audio track has not
+ * been initialized.
+ * @throws IllegalArgumentException if the settings are not supported.
+ */
+ public void setPlaybackSettings(@NonNull PlaybackSettings settings) {
+ float rate;
+ try {
+ rate = settings.getSpeed();
- synchronized(mAudioLock) {
- mPlaybackRate = rate;
+ // rate is specified
+ if (mAudioTrack != null) {
+ try {
+ if (rate == 0.0) {
+ mAudioTrack.pause();
+ } else {
+ mAudioTrack.setPlaybackSettings(settings);
+ mAudioTrack.play();
+ }
+ } catch (IllegalStateException e) {
+ throw e;
+ }
+ }
+
+ synchronized(mAudioLock) {
+ mPlaybackRate = rate;
+ }
+ if (mPlaybackRate != 0.0 && mAudioThread != null) {
+ postRenderAudio(0);
+ }
+ native_setPlaybackRate(mPlaybackRate);
+ } catch (IllegalStateException e) {
+ // rate is not specified; still, propagate settings to audio track
+ if (mAudioTrack != null) {
+ mAudioTrack.setPlaybackSettings(settings);
+ }
}
- if (mPlaybackRate != 0.0 && mAudioThread != null) {
- postRenderAudio(0);
+ }
+
+ /**
+ * Gets the playback rate using {@link PlaybackSettings}.
+ *
+ * @return the playback rate being used.
+ *
+ * @throws IllegalStateException if the internal sync engine or the audio track has not
+ * been initialized.
+ */
+ @NonNull
+ public PlaybackSettings getPlaybackSettings() {
+ if (mAudioTrack != null) {
+ return mAudioTrack.getPlaybackSettings();
+ } else {
+ PlaybackSettings settings = new PlaybackSettings();
+ settings.allowDefaults();
+ settings.setSpeed(mPlaybackRate);
+ return settings;
}
- native_setPlaybackRate(mPlaybackRate);
}
private native final void native_setPlaybackRate(float rate);
- /*
- * Test whether a given audio playback mode is supported.
- * TODO query supported AudioPlaybackMode from audio track.
+ /**
+ * Sets A/V sync mode.
+ *
+ * @param settings the A/V sync settings to apply
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ * @throws IllegalArgumentException if settings are not supported.
*/
- private boolean isAudioPlaybackModeSupported(int mode) {
- return (mode == PLAYBACK_RATE_AUDIO_MODE_RESAMPLE);
+ public native void setSyncSettings(@NonNull SyncSettings settings);
+
+ /**
+ * Gets the A/V sync mode.
+ *
+ * @return the A/V sync settings
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ */
+ @NonNull
+ public native SyncSettings getSyncSettings();
+
+ /**
+ * Flushes all buffers from the sync object.
+ * <p>
+ * No callbacks are received for the flushed buffers.
+ *
+ * @throws IllegalStateException if the internal player engine has not been
+ * initialized.
+ */
+ public void flush() {
+ synchronized(mAudioLock) {
+ mAudioBuffers.clear();
+ mCallbackHandler.removeCallbacksAndMessages(null);
+ }
+ // TODO implement this for surface buffers.
}
/**
* Get current playback position.
* <p>
- * The MediaTimestamp represents a clock ticking during media playback. It's represented
- * by an anchor frame ({@link MediaTimestamp#mediaTimeUs} and {@link MediaTimestamp#nanoTime})
- * and clock speed ({@link MediaTimestamp#clockRate}). For continous playback with
- * constant speed, its anchor frame doesn't change that often. Thereafter, it's recommended
- * to not call this method often.
+ * The MediaTimestamp represents how the media time correlates to the system time in
+ * a linear fashion. It contains the media time and system timestamp of an anchor frame
+ * ({@link MediaTimestamp#mediaTimeUs} and {@link MediaTimestamp#nanoTime})
+ * and the speed of the media clock ({@link MediaTimestamp#clockRate}).
+ * <p>
+ * During regular playback, the media time moves fairly constantly (though the
+ * anchor frame may be rebased to a current system time, the linear correlation stays
+ * steady). Therefore, this method does not need to be called often.
* <p>
* To help users to get current playback position, this method always returns the timestamp of
* just-rendered frame, i.e., {@link System#nanoTime} and its corresponding media time. They
* can be used as current playback position.
*
- * @param timestamp a reference to a non-null MediaTimestamp instance allocated
- * and owned by caller.
- * @return true if a timestamp is available, or false if no timestamp is available.
- * If a timestamp if available, the MediaTimestamp instance is filled in with
- * playback rate, together with the current media timestamp and the system nanoTime
- * corresponding to the measured media timestamp.
- * In the case that no timestamp is available, any supplied instance is left unaltered.
+ * @return a MediaTimestamp object if a timestamp is available, or {@code null} if no timestamp
+ * is available, e.g. because the media sync has not been initialized.
*/
- public boolean getTimestamp(@NonNull MediaTimestamp timestamp)
+ @Nullable
+ public MediaTimestamp getTimestamp()
{
- if (timestamp == null) {
- throw new IllegalArgumentException();
+ try {
+ // TODO: create the timestamp in native
+ MediaTimestamp timestamp = new MediaTimestamp();
+ if (native_getTimestamp(timestamp)) {
+ return timestamp;
+ } else {
+ return null;
+ }
+ } catch (IllegalStateException e) {
+ return null;
}
- return native_getTimestamp(timestamp);
}
- private native final boolean native_getTimestamp(MediaTimestamp timestamp);
+ private native final boolean native_getTimestamp(@NonNull MediaTimestamp timestamp);
/**
* Queues the audio data asynchronously for playback (AudioTrack must be in streaming mode).
@@ -427,7 +533,8 @@
* has not been done correctly.
*/
public void queueAudio(
- ByteBuffer audioData, int bufferIndex, int sizeInBytes, long presentationTimeUs) {
+ @NonNull ByteBuffer audioData, int bufferIndex, int sizeInBytes,
+ long presentationTimeUs) {
if (mAudioTrack == null || mAudioThread == null) {
throw new IllegalStateException(
"AudioTrack is NOT configured or audio thread is not created");
@@ -489,7 +596,7 @@
private native final void native_updateQueuedAudioData(
int sizeInBytes, long presentationTimeUs);
- private final void postReturnByteBuffer(final AudioBuffer audioBuffer) {
+ private final void postReturnByteBuffer(@NonNull final AudioBuffer audioBuffer) {
synchronized(mCallbackLock) {
if (mCallbackHandler != null) {
final MediaSync sync = this;
diff --git a/media/java/android/media/MediaTimestamp.java b/media/java/android/media/MediaTimestamp.java
index 4b7e827..d3d5618 100644
--- a/media/java/android/media/MediaTimestamp.java
+++ b/media/java/android/media/MediaTimestamp.java
@@ -17,36 +17,55 @@
package android.media;
/**
- * Structure that groups clock rate of the stream playback, together with the media timestamp
+ * An immutable object that represents the linear correlation between the media time
+ * and the system time. It contains the media clock rate, together with the media timestamp
* of an anchor frame and the system time when that frame was presented or is committed
* to be presented.
- * The "present" means that audio/video produced on device is detectable by an external
+ * <p>
+ * The phrase "present" means that audio/video produced on device is detectable by an external
* observer off device.
* The time is based on the implementation's best effort, using whatever knowledge
* is available to the system, but cannot account for any delay unknown to the implementation.
- * The anchor frame could be any frame, including just-rendered frame, dependent on how
- * it's selected. When the anchor frame is the just-rendered one, the media time stands for
- * current position of the playback.
+ * The anchor frame could be any frame, including a just-rendered frame, or even a theoretical
+ * or in-between frame, based on the source of the MediaTimestamp.
+ * When the anchor frame is a just-rendered one, the media time stands for
+ * current position of the playback or recording.
*
* @see MediaSync#getTimestamp
+ * @see MediaPlayer#getTimestamp
*/
public final class MediaTimestamp
{
/**
- * Media timestamp in microseconds.
+ * Media time in microseconds.
*/
- public long mediaTimeUs;
+ public final long mediaTimeUs;
/**
- * The {@link java.lang.System#nanoTime} corresponding to the media timestamp.
+ * The {@link java.lang.System#nanoTime system time} corresponding to the media time
+ * in nanoseconds.
*/
- public long nanoTime;
+ public final long nanoTime;
/**
- * Media clock rate.
- * It is 1.0 if media clock is in sync with the system clock;
+ * The rate of the media clock in relation to the system time.
+ * It is 1.0 if media clock advances in sync with the system clock;
* greater than 1.0 if media clock is faster than the system clock;
* less than 1.0 if media clock is slower than the system clock.
*/
- public float clockRate;
+ public final float clockRate;
+
+ /** @hide */
+ MediaTimestamp(long mediaUs, long systemNs, float rate) {
+ mediaTimeUs = mediaUs;
+ nanoTime = systemNs;
+ clockRate = rate;
+ }
+
+ /** @hide */
+ MediaTimestamp() {
+ mediaTimeUs = 0;
+ nanoTime = 0;
+ clockRate = 1.0f;
+ }
}
diff --git a/media/java/android/media/PlaybackSettings.java b/media/java/android/media/PlaybackSettings.java
new file mode 100644
index 0000000..ceb6bb1
--- /dev/null
+++ b/media/java/android/media/PlaybackSettings.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright 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.media;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import android.annotation.IntDef;
+
+/**
+ * Structure for common playback settings.
+ *
+ * Used by {@link AudioTrack} {@link AudioTrack#getPlaybackSettings()} and
+ * {@link AudioTrack#setPlaybackSettings(PlaybackSettings)}
+ * to control playback behavior.
+ * <p> <strong>audio fallback mode:</strong>
+ * select out-of-range parameter handling.
+ * <ul>
+ * <li> {@link PlaybackSettings#AUDIO_FALLBACK_MODE_DEFAULT}:
+ * System will determine best handling. </li>
+ * <li> {@link PlaybackSettings#AUDIO_FALLBACK_MODE_MUTE}:
+ * Play silence for settings normally out of range.</li>
+ * <li> {@link PlaybackSettings#AUDIO_FALLBACK_MODE_FAIL}:
+ * Return {@link java.lang.IllegalArgumentException} from
+ * <code>AudioTrack.setPlaybackSettings(PlaybackSettings)</code>.</li>
+ * </ul>
+ * <p> <strong>audio stretch mode:</strong> select
+ * timestretch handling.
+ * <ul>
+ * <li> {@link PlaybackSettings#AUDIO_STRETCH_MODE_DEFAULT}:
+ * System will determine best selection. </li>
+ * <li> {@link PlaybackSettings#AUDIO_STRETCH_MODE_VOICE}:
+ * Content is primarily voice.</li>
+ * </ul>
+ * <p> <strong>pitch:</strong> increases or decreases the tonal frequency of the audio content.
+ * It is expressed as a multiplicative factor, where normal pitch is 1.0f.
+ * <p> <strong>speed:</strong> increases or decreases the time to
+ * play back a set of audio or video frames.
+ * It is expressed as a multiplicative factor, where normal speed is 1.0f.
+ * <p> Different combinations of speed and pitch may be used for audio playback;
+ * some common ones:
+ * <ul>
+ * <li> <em>Pitch equals 1.0f.</em> Speed change will be done with pitch preserved,
+ * often called <em>timestretching</em>.</li>
+ * <li> <em>Pitch equals speed.</em> Speed change will be done by <em>resampling</em>,
+ * similar to {@link AudioTrack#setPlaybackRate(int)}.</li>
+ * </ul>
+ */
+public final class PlaybackSettings {
+ /** @hide */
+ @IntDef(
+ value = {
+ AUDIO_FALLBACK_MODE_DEFAULT,
+ AUDIO_FALLBACK_MODE_MUTE,
+ AUDIO_FALLBACK_MODE_FAIL,
+ }
+ )
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface AudioFallbackMode {}
+ public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0;
+ public static final int AUDIO_FALLBACK_MODE_MUTE = 1;
+ public static final int AUDIO_FALLBACK_MODE_FAIL = 2;
+
+ /** @hide */
+ @IntDef(
+ value = {
+ AUDIO_STRETCH_MODE_DEFAULT,
+ AUDIO_STRETCH_MODE_VOICE,
+ }
+ )
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface AudioStretchMode {}
+ public static final int AUDIO_STRETCH_MODE_DEFAULT = 0;
+ public static final int AUDIO_STRETCH_MODE_VOICE = 1;
+
+ // flags to indicate which settings are actually set
+ private static final int SET_SPEED = 1 << 0;
+ private static final int SET_PITCH = 1 << 1;
+ private static final int SET_AUDIO_FALLBACK_MODE = 1 << 2;
+ private static final int SET_AUDIO_STRETCH_MODE = 1 << 3;
+ private int mSet = 0;
+
+ // settings
+ private int mAudioFallbackMode = AUDIO_FALLBACK_MODE_DEFAULT;
+ private int mAudioStretchMode = AUDIO_STRETCH_MODE_DEFAULT;
+ private float mPitch = 1.0f;
+ private float mSpeed = 1.0f;
+
+ /**
+ * Allows defaults to be returned for properties not set.
+ * Otherwise a {@link java.lang.IllegalArgumentException} exception
+ * is raised when getting those properties
+ * which have defaults but have never been set.
+ * @return this <code>PlaybackSettings</code> instance.
+ */
+ public PlaybackSettings allowDefaults() {
+ mSet |= SET_AUDIO_FALLBACK_MODE | SET_AUDIO_STRETCH_MODE | SET_PITCH | SET_SPEED;
+ return this;
+ }
+
+ /**
+ * Sets the audio fallback mode.
+ * @param audioFallbackMode
+ * @return this <code>PlaybackSettings</code> instance.
+ */
+ public PlaybackSettings setAudioFallbackMode(@AudioFallbackMode int audioFallbackMode) {
+ mAudioFallbackMode = audioFallbackMode;
+ mSet |= SET_AUDIO_FALLBACK_MODE;
+ return this;
+ }
+
+ /**
+ * Retrieves the audio fallback mode.
+ * @return audio fallback mode
+ * @throws IllegalStateException if the audio fallback mode is not set.
+ */
+ public @AudioFallbackMode int getAudioFallbackMode() {
+ if ((mSet & SET_AUDIO_FALLBACK_MODE) == 0) {
+ throw new IllegalStateException("audio fallback mode not set");
+ }
+ return mAudioFallbackMode;
+ }
+
+ /**
+ * Sets the audio stretch mode.
+ * @param audioStretchMode
+ * @return this <code>PlaybackSettings</code> instance.
+ */
+ public PlaybackSettings setAudioStretchMode(@AudioStretchMode int audioStretchMode) {
+ mAudioStretchMode = audioStretchMode;
+ mSet |= SET_AUDIO_STRETCH_MODE;
+ return this;
+ }
+
+ /**
+ * Retrieves the audio stretch mode.
+ * @return audio stretch mode
+ * @throws IllegalStateException if the audio stretch mode is not set.
+ */
+ public @AudioStretchMode int getAudioStretchMode() {
+ if ((mSet & SET_AUDIO_STRETCH_MODE) == 0) {
+ throw new IllegalStateException("audio stretch mode not set");
+ }
+ return mAudioStretchMode;
+ }
+
+ /**
+ * Sets the pitch factor.
+ * @param pitch
+ * @return this <code>PlaybackSettings</code> instance.
+ */
+ public PlaybackSettings setPitch(float pitch) {
+ mPitch = pitch;
+ mSet |= SET_PITCH;
+ return this;
+ }
+
+ /**
+ * Retrieves the pitch factor.
+ * @return pitch
+ * @throws IllegalStateException if pitch is not set.
+ */
+ public float getPitch() {
+ if ((mSet & SET_PITCH) == 0) {
+ throw new IllegalStateException("pitch not set");
+ }
+ return mPitch;
+ }
+
+ /**
+ * Sets the speed factor.
+ * @param speed
+ * @return this <code>PlaybackSettings</code> instance.
+ */
+ public PlaybackSettings setSpeed(float speed) {
+ mSpeed = speed;
+ mSet |= SET_SPEED;
+ return this;
+ }
+
+ /**
+ * Retrieves the speed factor.
+ * @return speed
+ * @throws IllegalStateException if speed is not set.
+ */
+ public float getSpeed() {
+ if ((mSet & SET_SPEED) == 0) {
+ throw new IllegalStateException("speed not set");
+ }
+ return mSpeed;
+ }
+}
diff --git a/media/java/android/media/SyncSettings.java b/media/java/android/media/SyncSettings.java
new file mode 100644
index 0000000..9740147
--- /dev/null
+++ b/media/java/android/media/SyncSettings.java
@@ -0,0 +1,282 @@
+/*
+ * Copyright 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.media;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import android.annotation.IntDef;
+
+/**
+ * Structure for common A/V sync settings.
+ *
+ * Used by {@link MediaSync} {link MediaSync#getSyncSettings()} and
+ * {link MediaSync#setSyncSettings(SyncSettings)}
+ * to control A/V sync behavior.
+ * <p> <strong>audio adjust mode:</strong>
+ * select handling of audio track when changing playback speed due to sync.
+ * <ul>
+ * <li> {@link SyncSettings#AUDIO_ADJUST_MODE_DEFAULT}:
+ * System will determine best handling. </li>
+ * <li> {@link SyncSettings#AUDIO_ADJUST_MODE_STRETCH}:
+ * Change the speed of audio playback without altering its pitch.</li>
+ * <li> {@link SyncSettings#AUDIO_ADJUST_MODE_RESAMPLE}:
+ * Change the speed of audio playback by resampling the audio.</li>
+ * </ul>
+ * <p> <strong>sync source:</strong> select
+ * clock source for sync.
+ * <ul>
+ * <li> {@link SyncSettings#SYNC_SOURCE_DEFAULT}:
+ * System will determine best selection.</li>
+ * <li> {@link SyncSettings#SYNC_SOURCE_SYSTEM_CLOCK}:
+ * Use system clock for sync source.</li>
+ * <li> {@link SyncSettings#SYNC_SOURCE_AUDIO}:
+ * Use audio track for sync source.</li>
+ * <li> {@link SyncSettings#SYNC_SOURCE_VSYNC}:
+ * Syncronize media to vsync.</li>
+ * </ul>
+ * <p> <strong>tolerance:</strong> specifies the amount of allowed playback rate
+ * change to keep media in sync with the sync source. The handling of this depends
+ * on the sync source.
+ * <p> <strong>frameRate:</strong> initial hint for video frame rate. Used when
+ * sync source is vsync.
+ */
+public final class SyncSettings {
+ /** @hide */
+ @IntDef(
+ value = {
+ SYNC_SOURCE_DEFAULT,
+ SYNC_SOURCE_SYSTEM_CLOCK,
+ SYNC_SOURCE_AUDIO,
+ SYNC_SOURCE_VSYNC,
+ }
+ )
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SyncSource {}
+
+ /**
+ * Use the default sync source (default). If media has video, the sync renders to a
+ * surface that directly renders to a display, and tolerance is non zero (e.g. not
+ * less than 0.001) vsync source is used for clock source. Otherwise, if media has
+ * audio, audio track is used. Finally, if media has no audio, system clock is used.
+ */
+ public static final int SYNC_SOURCE_DEFAULT = 0;
+
+ /**
+ * Use system monotonic clock for sync source.
+ *
+ * @see System#nanoTime
+ */
+ public static final int SYNC_SOURCE_SYSTEM_CLOCK = 1;
+
+ /**
+ * Use audio track for sync source. This requires audio data and an audio track.
+ *
+ * @see AudioTrack#getTimeStamp
+ */
+ public static final int SYNC_SOURCE_AUDIO = 2;
+
+ /**
+ * Use vsync as the sync source. This requires video data and an output surface that
+ * directly renders to the display, e.g. {@link android.view.SurfaceView}
+ * <p>
+ * This mode allows smoother playback experience by adjusting the playback speed
+ * to match the vsync rate, e.g. playing 30fps content on a 59.94Hz display.
+ * When using this mode, the tolerance should be set to greater than 0 (e.g. at least
+ * 1/1000), so that the playback speed can actually be adjusted.
+ * <p>
+ * This mode can also be used to play 25fps content on a 60Hz display using
+ * a 2:3 pulldown (basically playing the content at 24fps), which results on
+ * better playback experience on most devices. In this case the tolerance should be
+ * at least (1/24).
+ *
+ * @see android.view.Choreographer.FrameCallback#doFrame
+ * @see android.view.Display#getAppVsyncOffsetNanos
+ */
+ public static final int SYNC_SOURCE_VSYNC = 3;
+
+ /** @hide */
+ @IntDef(
+ value = {
+ AUDIO_ADJUST_MODE_DEFAULT,
+ AUDIO_ADJUST_MODE_STRETCH,
+ AUDIO_ADJUST_MODE_RESAMPLE,
+ }
+ )
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface AudioAdjustMode {}
+
+ /**
+ * System will determine best handling of audio for playback rate
+ * adjustments.
+ * <p>
+ * Used by default. This will make audio play faster or slower as required
+ * by the sync source without changing its pitch; however, system may fall
+ * back to some other method (e.g. change the pitch, or mute the audio) if
+ * time stretching is no longer supported for the playback rate.
+ */
+ public static final int AUDIO_ADJUST_MODE_DEFAULT = 0;
+
+ /**
+ * Time stretch audio when playback rate must be adjusted.
+ * <p>
+ * This will make audio play faster or slower as required by the sync source
+ * without changing its pitch, as long as it is supported for the playback
+ * rate.
+ *
+ * @see MediaSync#PLAYBACK_RATE_AUDIO_MODE_STRETCH
+ * @see MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_STRETCH
+ */
+ public static final int AUDIO_ADJUST_MODE_STRETCH = 1;
+
+ /**
+ * Resample audio when playback rate must be adjusted.
+ * <p>
+ * This will make audio play faster or slower as required by the sync source
+ * by changing its pitch (making it lower to play slower, and higher to play
+ * faster.)
+ *
+ * @see MediaSync#PLAYBACK_RATE_AUDIO_MODE_RESAMPLE
+ * @see MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_RESAMPLE
+ */
+ public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2;
+
+ // flags to indicate which settings are actually set
+ private static final int SET_SYNC_SOURCE = 1 << 0;
+ private static final int SET_AUDIO_ADJUST_MODE = 1 << 1;
+ private static final int SET_TOLERANCE = 1 << 2;
+ private static final int SET_FRAME_RATE = 1 << 3;
+ private int mSet = 0;
+
+ // settings
+ private int mAudioAdjustMode = AUDIO_ADJUST_MODE_STRETCH;
+ private int mSyncSource = SYNC_SOURCE_DEFAULT;
+ private float mTolerance = 0.f;
+ private float mFrameRate = 0.f;
+
+ /**
+ * Allows defaults to be returned for properties not set.
+ * Otherwise a {@link java.lang.IllegalArgumentException} exception
+ * is raised when getting those properties
+ * which have defaults but have never been set.
+ * @return this <code>SyncSettings</code> instance.
+ */
+ public SyncSettings allowDefaults() {
+ mSet |= SET_SYNC_SOURCE | SET_AUDIO_ADJUST_MODE | SET_TOLERANCE;
+ return this;
+ }
+
+ /**
+ * Sets the audio adjust mode.
+ * @param audioAdjustMode
+ * @return this <code>SyncSettings</code> instance.
+ */
+ public SyncSettings setAudioAdjustMode(@AudioAdjustMode int audioAdjustMode) {
+ mAudioAdjustMode = audioAdjustMode;
+ mSet |= SET_AUDIO_ADJUST_MODE;
+ return this;
+ }
+
+ /**
+ * Retrieves the audio adjust mode.
+ * @return audio adjust mode
+ * @throws IllegalStateException if the audio adjust mode is not set.
+ */
+ public @AudioAdjustMode int getAudioAdjustMode() {
+ if ((mSet & SET_AUDIO_ADJUST_MODE) == 0) {
+ throw new IllegalStateException("audio adjust mode not set");
+ }
+ return mAudioAdjustMode;
+ }
+
+ /**
+ * Sets the sync source.
+ * @param syncSource
+ * @return this <code>SyncSettings</code> instance.
+ */
+ public SyncSettings setSyncSource(@SyncSource int syncSource) {
+ mSyncSource = syncSource;
+ mSet |= SET_SYNC_SOURCE;
+ return this;
+ }
+
+ /**
+ * Retrieves the sync source.
+ * @return sync source
+ * @throws IllegalStateException if the sync source is not set.
+ */
+ public @SyncSource int getSyncSource() {
+ if ((mSet & SET_SYNC_SOURCE) == 0) {
+ throw new IllegalStateException("sync source not set");
+ }
+ return mSyncSource;
+ }
+
+ /**
+ * Sets the tolerance. The default tolerance is 0.
+ * @param tolerance A non-negative number representing
+ * the maximum deviation of the playback rate from the playback rate
+ * set. ({@code abs(actual_rate - set_rate) / set_rate})
+ * @return this <code>SyncSettings</code> instance.
+ */
+ public SyncSettings setTolerance(float tolerance) {
+ mTolerance = tolerance;
+ mSet |= SET_TOLERANCE;
+ return this;
+ }
+
+ /**
+ * Retrieves the tolerance factor.
+ * @return tolerance factor. A non-negative number representing
+ * the maximum deviation of the playback rate from the playback rate
+ * set. ({@code abs(actual_rate - set_rate) / set_rate})
+ * @throws IllegalStateException if tolerance is not set.
+ */
+ public float getTolerance() {
+ if ((mSet & SET_TOLERANCE) == 0) {
+ throw new IllegalStateException("tolerance not set");
+ }
+ return mTolerance;
+ }
+
+ /**
+ * Sets the video frame rate hint to be used. By default the frame rate is unspecified.
+ * @param frameRate A non-negative number used as an initial hint on
+ * the video frame rate to be used when using vsync as the sync source.
+ * @return this <code>SyncSettings</code> instance.
+ */
+ public SyncSettings setFrameRate(float frameRate) {
+ mFrameRate = frameRate;
+ mSet |= SET_FRAME_RATE;
+ return this;
+ }
+
+ /**
+ * Retrieves the video frame rate hint.
+ * @return frame rate factor. A non-negative number representing
+ * the maximum deviation of the playback rate from the playback rate
+ * set. ({@code abs(actual_rate - set_rate) / set_rate})
+ * @throws IllegalStateException if frame rate is not set.
+ */
+ public float getFrameRate() {
+ if ((mSet & SET_FRAME_RATE) == 0) {
+ throw new IllegalStateException("frame rate not set");
+ }
+ return mFrameRate;
+ }
+
+}
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index 343ffcb..278d627 100644
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -736,10 +736,14 @@
}
/**
- * Sets the relative stream volume of the current TV input session to handle the change of
- * audio focus by setting.
+ * Sets the relative stream volume of the current TV input session.
*
- * @param volume Volume scale from 0.0 to 1.0.
+ * <p>The implementation should honor this request in order to handle audio focus changes or
+ * mute the current session when multiple sessions, possibly from different inputs are
+ * active. If the method has not yet been called, the implementation should assume the
+ * default value of {@code 1.0f}.
+ *
+ * @param volume A volume value between {@code 0.0f} to {@code 1.0f}.
*/
public abstract void onSetStreamVolume(float volume);
@@ -879,6 +883,10 @@
/**
* Called when the application sets playback rate and audio mode.
+ * <p>
+ * Once a playback rate is set, the implementation should honor the value until a new tune
+ * request. Pause/resume/seek request does not reset the playback rate previously set.
+ * </p>
*
* @param rate The ratio between desired playback rate and normal one.
* @param audioMode Audio playback mode. Must be one of the supported audio modes:
diff --git a/media/java/android/media/tv/TvView.java b/media/java/android/media/tv/TvView.java
index 024ffd1..fd5d6473 100644
--- a/media/java/android/media/tv/TvView.java
+++ b/media/java/android/media/tv/TvView.java
@@ -31,6 +31,7 @@
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
+import android.util.Pair;
import android.view.InputEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -42,7 +43,9 @@
import android.view.ViewRootImpl;
import java.lang.ref.WeakReference;
+import java.util.ArrayDeque;
import java.util.List;
+import java.util.Queue;
/**
* Displays TV contents. The TvView class provides a high level interface for applications to show
@@ -66,10 +69,6 @@
private static final int ZORDER_MEDIA_OVERLAY = 1;
private static final int ZORDER_ON_TOP = 2;
- private static final int CAPTION_DEFAULT = 0;
- private static final int CAPTION_ENABLED = 1;
- private static final int CAPTION_DISABLED = 2;
-
private static final WeakReference<TvView> NULL_TV_VIEW = new WeakReference<>(null);
private static final Object sMainTvViewLock = new Object();
@@ -85,11 +84,9 @@
private MySessionCallback mSessionCallback;
private TvInputCallback mCallback;
private OnUnhandledInputEventListener mOnUnhandledInputEventListener;
- private boolean mHasStreamVolume;
- private float mStreamVolume;
- private int mCaptionEnabled;
- private String mAppPrivateCommandAction;
- private Bundle mAppPrivateCommandData;
+ private Float mStreamVolume;
+ private Boolean mCaptionEnabled;
+ private final Queue<Pair<String, Bundle>> mPendingAppPrivateCommands = new ArrayDeque<>();
private boolean mSurfaceChanged;
private int mSurfaceFormat;
@@ -253,13 +250,16 @@
}
/**
- * Sets the relative stream volume of this session to handle a change of audio focus.
+ * Sets the relative stream volume of this TvView.
*
- * @param volume A volume value between 0.0f to 1.0f.
+ * <p>This method is primarily used to handle audio focus changes or mute a specific TvView when
+ * multiple views are displayed. If the method has not yet been called, the TvView assumes the
+ * default value of {@code 1.0f}.
+ *
+ * @param volume A volume value between {@code 0.0f} to {@code 1.0f}.
*/
public void setStreamVolume(float volume) {
if (DEBUG) Log.d(TAG, "setStreamVolume(" + volume + ")");
- mHasStreamVolume = true;
mStreamVolume = volume;
if (mSession == null) {
// Volume will be set once the connection has been made.
@@ -367,7 +367,8 @@
* @param enabled {@code true} to enable, {@code false} to disable.
*/
public void setCaptionEnabled(boolean enabled) {
- mCaptionEnabled = enabled ? CAPTION_ENABLED : CAPTION_DISABLED;
+ if (DEBUG) Log.d(TAG, "setCaptionEnabled(" + enabled + ")");
+ mCaptionEnabled = enabled;
if (mSession != null) {
mSession.setCaptionEnabled(enabled);
}
@@ -502,12 +503,9 @@
if (mSession != null) {
mSession.sendAppPrivateCommand(action, data);
} else {
- Log.w(TAG, "sendAppPrivateCommand - session not created (action " + action + " cached)");
- if (mAppPrivateCommandAction != null) {
- Log.w(TAG, "previous cached action " + action + " removed");
- }
- mAppPrivateCommandAction = action;
- mAppPrivateCommandData = data;
+ Log.w(TAG, "sendAppPrivateCommand - session not yet created (action \"" + action
+ + "\" pending)");
+ mPendingAppPrivateCommands.add(Pair.create(action, data));
}
}
@@ -729,8 +727,7 @@
}
private void release() {
- mAppPrivateCommandAction = null;
- mAppPrivateCommandData = null;
+ mPendingAppPrivateCommands.clear();
setSessionSurface(null);
removeSessionOverlayView();
@@ -1003,6 +1000,12 @@
}
mSession = session;
if (session != null) {
+ // Sends the pending app private commands first.
+ for (Pair<String, Bundle> command : mPendingAppPrivateCommands) {
+ mSession.sendAppPrivateCommand(command.first, command.second);
+ }
+ mPendingAppPrivateCommands.clear();
+
synchronized (sMainTvViewLock) {
if (hasWindowFocus() && TvView.this == sMainTvView.get()) {
mSession.setMain();
@@ -1018,19 +1021,13 @@
}
}
createSessionOverlayView();
- if (mCaptionEnabled != CAPTION_DEFAULT) {
- mSession.setCaptionEnabled(mCaptionEnabled == CAPTION_ENABLED);
- }
- mSession.tune(mChannelUri, mTuneParams);
- if (mHasStreamVolume) {
+ if (mStreamVolume != null) {
mSession.setStreamVolume(mStreamVolume);
}
- if (mAppPrivateCommandAction != null) {
- mSession.sendAppPrivateCommand(
- mAppPrivateCommandAction, mAppPrivateCommandData);
- mAppPrivateCommandAction = null;
- mAppPrivateCommandData = null;
+ if (mCaptionEnabled != null) {
+ mSession.setCaptionEnabled(mCaptionEnabled);
}
+ mSession.tune(mChannelUri, mTuneParams);
ensurePositionTracking();
} else {
mSessionCallback = null;
diff --git a/media/jni/Android.mk b/media/jni/Android.mk
index 8cf9874..dbb53b4 100644
--- a/media/jni/Android.mk
+++ b/media/jni/Android.mk
@@ -2,6 +2,7 @@
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
+ android_media_AmrInputStream.cpp \
android_media_ImageWriter.cpp \
android_media_ImageReader.cpp \
android_media_MediaCrypto.cpp \
@@ -14,12 +15,12 @@
android_media_MediaMetadataRetriever.cpp \
android_media_MediaMuxer.cpp \
android_media_MediaPlayer.cpp \
+ android_media_MediaProfiles.cpp \
android_media_MediaRecorder.cpp \
android_media_MediaScanner.cpp \
android_media_MediaSync.cpp \
android_media_ResampleInputStream.cpp \
- android_media_MediaProfiles.cpp \
- android_media_AmrInputStream.cpp \
+ android_media_SyncSettings.cpp \
android_media_Utils.cpp \
android_mtp_MtpDatabase.cpp \
android_mtp_MtpDevice.cpp \
@@ -43,7 +44,7 @@
libusbhost \
libjhead \
libexif \
- libstagefright_amrnb_common \
+ libstagefright_amrnb_common
LOCAL_REQUIRED_MODULES := \
libjhead_jni
@@ -55,6 +56,7 @@
external/libexif/ \
external/tremor/Tremor \
frameworks/base/core/jni \
+ frameworks/base/libs/hwui \
frameworks/av/media/libmedia \
frameworks/av/media/libstagefright \
frameworks/av/media/libstagefright/codecs/amrnb/enc/src \
diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp
index c247220..2c61779 100644
--- a/media/jni/android_media_MediaPlayer.cpp
+++ b/media/jni/android_media_MediaPlayer.cpp
@@ -20,6 +20,7 @@
#include "utils/Log.h"
#include <media/mediaplayer.h>
+#include <media/AudioResamplerPublic.h>
#include <media/IMediaHTTPService.h>
#include <media/MediaPlayerInterface.h>
#include <stdio.h>
@@ -37,6 +38,8 @@
#include "utils/KeyedVector.h"
#include "utils/String8.h"
#include "android_media_MediaDataSource.h"
+#include "android_media_PlaybackSettings.h"
+#include "android_media_SyncSettings.h"
#include "android_media_Utils.h"
#include "android_os_Parcel.h"
@@ -66,6 +69,9 @@
};
static fields_t fields;
+static PlaybackSettings::fields_t gPlaybackSettingsFields;
+static SyncSettings::fields_t gSyncSettingsFields;
+
static Mutex sLock;
// ----------------------------------------------------------------------------
@@ -420,15 +426,105 @@
}
static void
-android_media_MediaPlayer_setPlaybackRate(JNIEnv *env, jobject thiz, jfloat rate)
+android_media_MediaPlayer_setPlaybackSettings(JNIEnv *env, jobject thiz, jobject settings)
{
sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
if (mp == NULL) {
jniThrowException(env, "java/lang/IllegalStateException", NULL);
return;
}
- ALOGV("setPlaybackRate: %f", rate);
- process_media_player_call(env, thiz, mp->setPlaybackRate(rate), NULL, NULL);
+
+ PlaybackSettings pbs;
+ pbs.fillFromJobject(env, gPlaybackSettingsFields, settings);
+ ALOGV("setPlaybackSettings: %d:%f %d:%f %d:%u %d:%u",
+ pbs.speedSet, pbs.audioRate.mSpeed,
+ pbs.pitchSet, pbs.audioRate.mPitch,
+ pbs.audioFallbackModeSet, pbs.audioRate.mFallbackMode,
+ pbs.audioStretchModeSet, pbs.audioRate.mStretchMode);
+
+ // TODO: pass playback settings to mediaplayer when audiotrack supports it
+ process_media_player_call(env, thiz, mp->setPlaybackRate(pbs.audioRate.mSpeed), NULL, NULL);
+}
+
+static jobject
+android_media_MediaPlayer_getPlaybackSettings(JNIEnv *env, jobject thiz)
+{
+ sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+ if (mp == NULL) {
+ jniThrowException(env, "java/lang/IllegalStateException", NULL);
+ return NULL;
+ }
+
+ PlaybackSettings pbs;
+ AudioPlaybackRate &audioRate = pbs.audioRate;
+
+ audioRate.mSpeed = 1.0f;
+ audioRate.mPitch = 1.0f;
+ audioRate.mFallbackMode = AUDIO_TIMESTRETCH_FALLBACK_DEFAULT;
+ audioRate.mStretchMode = AUDIO_TIMESTRETCH_STRETCH_DEFAULT;
+
+ // TODO: get this from mediaplayer when audiotrack supports it
+ // process_media_player_call(
+ // env, thiz, mp->getPlaybackSettings(&audioRate), NULL, NULL);
+ ALOGV("getPlaybackSettings: %f %f %d %d",
+ audioRate.mSpeed, audioRate.mPitch, audioRate.mFallbackMode, audioRate.mStretchMode);
+
+ pbs.speedSet = true;
+ pbs.pitchSet = true;
+ pbs.audioFallbackModeSet = true;
+ pbs.audioStretchModeSet = true;
+
+ return pbs.asJobject(env, gPlaybackSettingsFields);
+}
+
+static void
+android_media_MediaPlayer_setSyncSettings(JNIEnv *env, jobject thiz, jobject settings)
+{
+ sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+ if (mp == NULL) {
+ jniThrowException(env, "java/lang/IllegalStateException", NULL);
+ return;
+ }
+
+ SyncSettings scs;
+ scs.fillFromJobject(env, gSyncSettingsFields, settings);
+ ALOGV("setSyncSettings: %d:%d %d:%d %d:%f %d:%f",
+ scs.syncSourceSet, scs.syncSource,
+ scs.audioAdjustModeSet, scs.audioAdjustMode,
+ scs.toleranceSet, scs.tolerance,
+ scs.frameRateSet, scs.frameRate);
+
+ // TODO: pass sync settings to mediaplayer when it supports it
+ // process_media_player_call(env, thiz, mp->setSyncSettings(scs), NULL, NULL);
+}
+
+static jobject
+android_media_MediaPlayer_getSyncSettings(JNIEnv *env, jobject thiz)
+{
+ sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+ if (mp == NULL) {
+ jniThrowException(env, "java/lang/IllegalStateException", NULL);
+ return NULL;
+ }
+
+ SyncSettings scs;
+ scs.syncSource = 0; // SYNC_SOURCE_DEFAULT
+ scs.audioAdjustMode = 0; // AUDIO_ADJUST_MODE_DEFAULT
+ scs.tolerance = 0.f;
+ scs.frameRate = 0.f;
+
+ // TODO: get this from mediaplayer when it supports it
+ // process_media_player_call(
+ // env, thiz, mp->getSyncSettings(&scs), NULL, NULL);
+ ALOGV("getSyncSettings: %d %d %f %f",
+ scs.syncSource, scs.audioAdjustMode, scs.tolerance, scs.frameRate);
+
+ scs.syncSourceSet = true;
+ scs.audioAdjustModeSet = true;
+ scs.toleranceSet = true;
+ scs.frameRateSet = false;
+
+ return scs.asJobject(env, gSyncSettingsFields);
}
static void
@@ -697,6 +793,8 @@
return;
}
+ env->DeleteLocalRef(clazz);
+
clazz = env->FindClass("android/net/ProxyInfo");
if (clazz == NULL) {
return;
@@ -710,6 +808,11 @@
fields.proxyConfigGetExclusionList =
env->GetMethodID(clazz, "getExclusionListAsString", "()Ljava/lang/String;");
+
+ env->DeleteLocalRef(clazz);
+
+ gPlaybackSettingsFields.init(env);
+ gSyncSettingsFields.init(env);
}
static void
@@ -898,7 +1001,10 @@
{"_stop", "()V", (void *)android_media_MediaPlayer_stop},
{"getVideoWidth", "()I", (void *)android_media_MediaPlayer_getVideoWidth},
{"getVideoHeight", "()I", (void *)android_media_MediaPlayer_getVideoHeight},
- {"_setPlaybackRate", "(F)V", (void *)android_media_MediaPlayer_setPlaybackRate},
+ {"setPlaybackSettings", "(Landroid/media/PlaybackSettings;)V", (void *)android_media_MediaPlayer_setPlaybackSettings},
+ {"getPlaybackSettings", "()Landroid/media/PlaybackSettings;", (void *)android_media_MediaPlayer_getPlaybackSettings},
+ {"setSyncSettings", "(Landroid/media/SyncSettings;)V", (void *)android_media_MediaPlayer_setSyncSettings},
+ {"getSyncSettings", "()Landroid/media/SyncSettings;", (void *)android_media_MediaPlayer_getSyncSettings},
{"seekTo", "(I)V", (void *)android_media_MediaPlayer_seekTo},
{"_pause", "()V", (void *)android_media_MediaPlayer_pause},
{"isPlaying", "()Z", (void *)android_media_MediaPlayer_isPlaying},
diff --git a/media/jni/android_media_MediaSync.cpp b/media/jni/android_media_MediaSync.cpp
index e167f83..72dacdf 100644
--- a/media/jni/android_media_MediaSync.cpp
+++ b/media/jni/android_media_MediaSync.cpp
@@ -21,6 +21,7 @@
#include "android_media_MediaSync.h"
#include "android_media_AudioTrack.h"
+#include "android_media_SyncSettings.h"
#include "android_runtime/AndroidRuntime.h"
#include "android_runtime/android_view_Surface.h"
#include "jni.h"
@@ -46,6 +47,7 @@
};
static fields_t gFields;
+static SyncSettings::fields_t gSyncSettingsFields;
////////////////////////////////////////////////////////////////////////////////
@@ -266,6 +268,55 @@
return JNI_TRUE;
}
+static void
+android_media_MediaSync_setSyncSettings(JNIEnv *env, jobject thiz, jobject settings)
+{
+ sp<JMediaSync> sync = getMediaSync(env, thiz);
+ if (sync == NULL) {
+ throwExceptionAsNecessary(env, INVALID_OPERATION);
+ return;
+ }
+
+ SyncSettings scs;
+ scs.fillFromJobject(env, gSyncSettingsFields, settings);
+ ALOGV("setSyncSettings: %d:%d %d:%d %d:%f %d:%f",
+ scs.syncSourceSet, scs.syncSource,
+ scs.audioAdjustModeSet, scs.audioAdjustMode,
+ scs.toleranceSet, scs.tolerance,
+ scs.frameRateSet, scs.frameRate);
+
+ // TODO: pass sync settings to mediasync when it supports it
+}
+
+static jobject
+android_media_MediaSync_getSyncSettings(JNIEnv *env, jobject thiz)
+{
+ sp<JMediaSync> sync = getMediaSync(env, thiz);
+ if (sync == NULL) {
+ throwExceptionAsNecessary(env, INVALID_OPERATION);
+ return NULL;
+ }
+
+ SyncSettings scs;
+ scs.syncSource = 0; // SYNC_SOURCE_DEFAULT
+ scs.audioAdjustMode = 0; // AUDIO_ADJUST_MODE_DEFAULT
+ scs.tolerance = 0.f;
+ scs.frameRate = 0.f;
+
+ // TODO: get this from mediaplayer when it supports it
+ // process_media_player_call(
+ // env, thiz, mp->getSyncSettings(&scs), NULL, NULL);
+ ALOGV("getSyncSettings: %d %d %f %f",
+ scs.syncSource, scs.audioAdjustMode, scs.tolerance, scs.frameRate);
+
+ scs.syncSourceSet = true;
+ scs.audioAdjustModeSet = true;
+ scs.toleranceSet = true;
+ scs.frameRateSet = false;
+
+ return scs.asJobject(env, gSyncSettingsFields);
+}
+
static void android_media_MediaSync_native_init(JNIEnv *env) {
ScopedLocalRef<jclass> clazz(env, env->FindClass("android/media/MediaSync"));
CHECK(clazz.get() != NULL);
@@ -287,6 +338,8 @@
gFields.mediaTimestampClockRateID =
env->GetFieldID(clazz.get(), "clockRate", "F");
CHECK(gFields.mediaTimestampClockRateID != NULL);
+
+ gSyncSettingsFields.init(env);
}
static void android_media_MediaSync_native_setup(JNIEnv *env, jobject thiz) {
@@ -342,6 +395,10 @@
{ "native_setPlaybackRate", "(F)V", (void *)android_media_MediaSync_native_setPlaybackRate },
+ { "setSyncSettings", "(Landroid/media/SyncSettings;)V", (void *)android_media_MediaSync_setSyncSettings},
+
+ { "getSyncSettings", "()Landroid/media/SyncSettings;", (void *)android_media_MediaSync_getSyncSettings},
+
{ "native_finalize", "()V", (void *)android_media_MediaSync_native_finalize },
};
diff --git a/media/jni/android_media_PlaybackSettings.h b/media/jni/android_media_PlaybackSettings.h
new file mode 100644
index 0000000..1f4f256
--- /dev/null
+++ b/media/jni/android_media_PlaybackSettings.h
@@ -0,0 +1,120 @@
+/*
+ * Copyright 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.
+ */
+
+#ifndef _ANDROID_MEDIA_PLAYBACK_SETTINGS_H_
+#define _ANDROID_MEDIA_PLAYBACK_SETTINGS_H_
+
+#include <media/AudioResamplerPublic.h>
+
+namespace android {
+
+// This entire class is inline as it is used from both core and media
+struct PlaybackSettings {
+ AudioPlaybackRate audioRate;
+ bool speedSet;
+ bool pitchSet;
+ bool audioFallbackModeSet;
+ bool audioStretchModeSet;
+
+ struct fields_t {
+ jclass clazz;
+ jmethodID constructID;
+
+ jfieldID speed;
+ jfieldID pitch;
+ jfieldID audio_fallback_mode;
+ jfieldID audio_stretch_mode;
+ jfieldID set;
+ jint set_speed;
+ jint set_pitch;
+ jint set_audio_fallback_mode;
+ jint set_audio_stretch_mode;
+
+ void init(JNIEnv *env) {
+ jclass lclazz = env->FindClass("android/media/PlaybackSettings");
+ if (lclazz == NULL) {
+ return;
+ }
+
+ clazz = (jclass)env->NewGlobalRef(lclazz);
+ if (clazz == NULL) {
+ return;
+ }
+
+ constructID = env->GetMethodID(clazz, "<init>", "()V");
+
+ speed = env->GetFieldID(clazz, "mSpeed", "F");
+ pitch = env->GetFieldID(clazz, "mPitch", "F");
+ audio_fallback_mode = env->GetFieldID(clazz, "mAudioFallbackMode", "I");
+ audio_stretch_mode = env->GetFieldID(clazz, "mAudioStretchMode", "I");
+ set = env->GetFieldID(clazz, "mSet", "I");
+
+ set_speed =
+ env->GetStaticIntField(clazz, env->GetStaticFieldID(clazz, "SET_SPEED", "I"));
+ set_pitch =
+ env->GetStaticIntField(clazz, env->GetStaticFieldID(clazz, "SET_PITCH", "I"));
+ set_audio_fallback_mode = env->GetStaticIntField(
+ clazz, env->GetStaticFieldID(clazz, "SET_AUDIO_FALLBACK_MODE", "I"));
+ set_audio_stretch_mode = env->GetStaticIntField(
+ clazz, env->GetStaticFieldID(clazz, "SET_AUDIO_STRETCH_MODE", "I"));
+
+ env->DeleteLocalRef(lclazz);
+ }
+
+ void exit(JNIEnv *env) {
+ env->DeleteGlobalRef(clazz);
+ clazz = NULL;
+ }
+ };
+
+ void fillFromJobject(JNIEnv *env, const fields_t& fields, jobject settings) {
+ audioRate.mSpeed = env->GetFloatField(settings, fields.speed);
+ audioRate.mPitch = env->GetFloatField(settings, fields.pitch);
+ audioRate.mFallbackMode =
+ (AudioTimestretchFallbackMode)env->GetIntField(settings, fields.audio_fallback_mode);
+ audioRate.mStretchMode =
+ (AudioTimestretchStretchMode)env->GetIntField(settings, fields.audio_stretch_mode);
+ int set = env->GetIntField(settings, fields.set);
+
+ speedSet = set & fields.set_speed;
+ pitchSet = set & fields.set_pitch;
+ audioFallbackModeSet = set & fields.set_audio_fallback_mode;
+ audioStretchModeSet = set & fields.set_audio_stretch_mode;
+ }
+
+ jobject asJobject(JNIEnv *env, const fields_t& fields) {
+ jobject settings = env->NewObject(fields.clazz, fields.constructID);
+ if (settings == NULL) {
+ return NULL;
+ }
+ env->SetFloatField(settings, fields.speed, (jfloat)audioRate.mSpeed);
+ env->SetFloatField(settings, fields.pitch, (jfloat)audioRate.mPitch);
+ env->SetIntField(settings, fields.audio_fallback_mode, (jint)audioRate.mFallbackMode);
+ env->SetIntField(settings, fields.audio_stretch_mode, (jint)audioRate.mStretchMode);
+ env->SetIntField(
+ settings, fields.set,
+ (speedSet ? fields.set_speed : 0)
+ | (pitchSet ? fields.set_pitch : 0)
+ | (audioFallbackModeSet ? fields.set_audio_fallback_mode : 0)
+ | (audioStretchModeSet ? fields.set_audio_stretch_mode : 0));
+
+ return settings;
+ }
+};
+
+} // namespace android
+
+#endif // _ANDROID_MEDIA_PLAYBACK_SETTINGS_H_
diff --git a/media/jni/android_media_SyncSettings.cpp b/media/jni/android_media_SyncSettings.cpp
new file mode 100644
index 0000000..2f0605e
--- /dev/null
+++ b/media/jni/android_media_SyncSettings.cpp
@@ -0,0 +1,91 @@
+/*
+ * Copyright 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.
+ */
+
+#include "android_media_SyncSettings.h"
+
+#include "JNIHelp.h"
+
+namespace android {
+
+void SyncSettings::fields_t::init(JNIEnv *env) {
+ jclass lclazz = env->FindClass("android/media/SyncSettings");
+ if (lclazz == NULL) {
+ return;
+ }
+
+ clazz = (jclass)env->NewGlobalRef(lclazz);
+ if (clazz == NULL) {
+ return;
+ }
+
+ constructID = env->GetMethodID(clazz, "<init>", "()V");
+
+ sync_source = env->GetFieldID(clazz, "mSyncSource", "I");
+ audio_adjust_mode = env->GetFieldID(clazz, "mAudioAdjustMode", "I");
+ tolerance = env->GetFieldID(clazz, "mTolerance", "F");
+ frame_rate = env->GetFieldID(clazz, "mFrameRate", "F");
+ set = env->GetFieldID(clazz, "mSet", "I");
+
+ set_sync_source =
+ env->GetStaticIntField(clazz, env->GetStaticFieldID(clazz, "SET_SYNC_SOURCE", "I"));
+ set_audio_adjust_mode = env->GetStaticIntField(
+ clazz, env->GetStaticFieldID(clazz, "SET_AUDIO_ADJUST_MODE", "I"));
+ set_tolerance =
+ env->GetStaticIntField(clazz, env->GetStaticFieldID(clazz, "SET_TOLERANCE", "I"));
+ set_frame_rate =
+ env->GetStaticIntField(clazz, env->GetStaticFieldID(clazz, "SET_FRAME_RATE", "I"));
+
+ env->DeleteLocalRef(lclazz);
+}
+
+void SyncSettings::fields_t::exit(JNIEnv *env) {
+ env->DeleteGlobalRef(clazz);
+ clazz = NULL;
+}
+
+void SyncSettings::fillFromJobject(JNIEnv *env, const fields_t& fields, jobject settings) {
+ syncSource = env->GetIntField(settings, fields.sync_source);
+ audioAdjustMode = env->GetIntField(settings, fields.audio_adjust_mode);
+ tolerance = env->GetFloatField(settings, fields.tolerance);
+ frameRate = env->GetFloatField(settings, fields.frame_rate);
+ int set = env->GetIntField(settings, fields.set);
+
+ syncSourceSet = set & fields.set_sync_source;
+ audioAdjustModeSet = set & fields.set_audio_adjust_mode;
+ toleranceSet = set & fields.set_tolerance;
+ frameRateSet = set & fields.set_frame_rate;
+}
+
+jobject SyncSettings::asJobject(JNIEnv *env, const fields_t& fields) {
+ jobject settings = env->NewObject(fields.clazz, fields.constructID);
+ if (settings == NULL) {
+ return NULL;
+ }
+ env->SetIntField(settings, fields.sync_source, (jint)syncSource);
+ env->SetIntField(settings, fields.audio_adjust_mode, (jint)audioAdjustMode);
+ env->SetFloatField(settings, fields.tolerance, (jfloat)tolerance);
+ env->SetFloatField(settings, fields.frame_rate, (jfloat)frameRate);
+ env->SetIntField(
+ settings, fields.set,
+ (syncSourceSet ? fields.set_sync_source : 0)
+ | (audioAdjustModeSet ? fields.set_audio_adjust_mode : 0)
+ | (toleranceSet ? fields.set_tolerance : 0)
+ | (frameRateSet ? fields.set_frame_rate : 0));
+
+ return settings;
+}
+
+} // namespace android
diff --git a/media/jni/android_media_SyncSettings.h b/media/jni/android_media_SyncSettings.h
new file mode 100644
index 0000000..586533f
--- /dev/null
+++ b/media/jni/android_media_SyncSettings.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright 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.
+ */
+
+#ifndef _ANDROID_MEDIA_SYNC_SETTINGS_H_
+#define _ANDROID_MEDIA_SYNC_SETTINGS_H_
+
+#include "jni.h"
+
+namespace android {
+
+struct SyncSettings {
+ // keep this here until it is implemented
+ int syncSource;
+ int audioAdjustMode;
+ float tolerance;
+ float frameRate;
+
+ bool syncSourceSet;
+ bool audioAdjustModeSet;
+ bool toleranceSet;
+ bool frameRateSet;
+
+ struct fields_t {
+ jclass clazz;
+ jmethodID constructID;
+
+ jfieldID sync_source;
+ jfieldID audio_adjust_mode;
+ jfieldID tolerance;
+ jfieldID frame_rate;
+ jfieldID set;
+ jint set_sync_source;
+ jint set_audio_adjust_mode;
+ jint set_tolerance;
+ jint set_frame_rate;
+
+ // initializes fields
+ void init(JNIEnv *env);
+
+ // releases global references held
+ void exit(JNIEnv *env);
+ };
+
+ // fills this from an android.media.SyncSettings object
+ void fillFromJobject(JNIEnv *env, const fields_t& fields, jobject settings);
+
+ // returns this as a android.media.SyncSettings object
+ jobject asJobject(JNIEnv *env, const fields_t& fields);
+};
+
+} // namespace android
+
+#endif // _ANDROID_MEDIA_SYNC_SETTINGS_H_
diff --git a/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothPacketDecoder.java b/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothPacketDecoder.java
index c5bfb5f..1bce9fb 100644
--- a/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothPacketDecoder.java
+++ b/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothPacketDecoder.java
@@ -30,6 +30,7 @@
private static final String TAG = "BluetoothPacketDecoder";
private final byte[] mBuffer;
+ private MidiBtleTimeTracker mTimeTracker;
private final int TIMESTAMP_MASK_HIGH = 0x1F80;
private final int TIMESTAMP_MASK_LOW = 0x7F;
@@ -41,6 +42,10 @@
@Override
public void decodePacket(byte[] buffer, MidiReceiver receiver) {
+ if (mTimeTracker == null) {
+ mTimeTracker = new MidiBtleTimeTracker(System.nanoTime());
+ }
+
int length = buffer.length;
// NOTE his code allows running status across packets,
@@ -57,10 +62,12 @@
}
// shift bits 0 - 5 to bits 7 - 12
- int timestamp = (header & HEADER_TIMESTAMP_MASK) << 7;
+ int highTimestamp = (header & HEADER_TIMESTAMP_MASK) << 7;
boolean lastWasTimestamp = false;
int dataCount = 0;
int previousLowTimestamp = 0;
+ long nanoTimestamp = 0;
+ int currentTimestamp = 0;
// iterate through the rest of the packet, separating MIDI data from timestamps
for (int i = 1; i < buffer.length; i++) {
@@ -69,25 +76,28 @@
if ((b & 0x80) != 0 && !lastWasTimestamp) {
lastWasTimestamp = true;
int lowTimestamp = b & TIMESTAMP_MASK_LOW;
- int newTimestamp = (timestamp & TIMESTAMP_MASK_HIGH) | lowTimestamp;
if (lowTimestamp < previousLowTimestamp) {
- newTimestamp = (newTimestamp + 0x0080) & TIMESTAMP_MASK_HIGH;
+ highTimestamp = (highTimestamp + 0x0080) & TIMESTAMP_MASK_HIGH;
}
previousLowTimestamp = lowTimestamp;
- if (newTimestamp != timestamp) {
+ int newTimestamp = highTimestamp | lowTimestamp;
+ if (newTimestamp != currentTimestamp) {
if (dataCount > 0) {
// send previous message separately since it has a different timestamp
try {
- // FIXME use sendWithTimestamp
- receiver.send(mBuffer, 0, dataCount);
+ receiver.sendWithTimestamp(mBuffer, 0, dataCount, nanoTimestamp);
} catch (IOException e) {
// ???
}
dataCount = 0;
}
+ currentTimestamp = newTimestamp;
}
- timestamp = newTimestamp;
+
+ // calculate nanoTimestamp
+ long now = System.nanoTime();
+ nanoTimestamp = mTimeTracker.convertTimestampToNanotime(currentTimestamp, now);
} else {
lastWasTimestamp = false;
mBuffer[dataCount++] = b;
@@ -96,8 +106,7 @@
if (dataCount > 0) {
try {
- // FIXME use sendWithTimestamp
- receiver.send(mBuffer, 0, dataCount);
+ receiver.sendWithTimestamp(mBuffer, 0, dataCount, nanoTimestamp);
} catch (IOException e) {
// ???
}
diff --git a/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/MidiBtleTimeTracker.java b/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/MidiBtleTimeTracker.java
new file mode 100644
index 0000000..5202f9a
--- /dev/null
+++ b/media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/MidiBtleTimeTracker.java
@@ -0,0 +1,109 @@
+/*
+ * 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.bluetoothmidiservice;
+
+/**
+ * Convert MIDI over BTLE timestamps to system nanotime.
+ */
+public class MidiBtleTimeTracker {
+
+ public final static long NANOS_PER_MILLI = 1000000L;
+
+ private final static long RANGE_MILLIS = 0x2000; // per MIDI / BTLE standard
+ private final static long RANGE_NANOS = RANGE_MILLIS * NANOS_PER_MILLI;
+
+ private int mWindowMillis = 20; // typical max connection interval
+ private long mWindowNanos = mWindowMillis * NANOS_PER_MILLI;
+
+ private int mPreviousTimestamp; // Used to calculate deltas.
+ private long mPreviousNow;
+ // Our model of the peripherals millisecond clock.
+ private long mPeripheralTimeMillis;
+ // Host time that corresponds to time=0 on the peripheral.
+ private long mBaseHostTimeNanos;
+ private long mPreviousResult; // To prevent retrograde timestamp
+
+ public MidiBtleTimeTracker(long now) {
+ mPeripheralTimeMillis = 0;
+ mBaseHostTimeNanos = now;
+ mPreviousNow = now;
+ }
+
+ /**
+ * @param timestamp
+ * 13-bit millis in range of 0 to 8191
+ * @param now
+ * current time in nanoseconds
+ * @return nanoseconds corresponding to the timestamp
+ */
+ public long convertTimestampToNanotime(int timestamp, long now) {
+ long deltaMillis = timestamp - mPreviousTimestamp;
+ // will be negative when timestamp wraps
+ if (deltaMillis < 0) {
+ deltaMillis += RANGE_MILLIS;
+ }
+ mPeripheralTimeMillis += deltaMillis;
+
+ // If we have not been called for a long time then
+ // make sure we have not wrapped multiple times.
+ if ((now - mPreviousNow) > (RANGE_NANOS / 2)) {
+ // Handle missed wraps.
+ long minimumTimeNanos = (now - mBaseHostTimeNanos)
+ - (RANGE_NANOS / 2);
+ long minimumTimeMillis = minimumTimeNanos / NANOS_PER_MILLI;
+ while (mPeripheralTimeMillis < minimumTimeMillis) {
+ mPeripheralTimeMillis += RANGE_MILLIS;
+ }
+ }
+
+ // Convert peripheral time millis to host time nanos.
+ long timestampHostNanos = (mPeripheralTimeMillis * NANOS_PER_MILLI)
+ + mBaseHostTimeNanos;
+
+ // The event cannot be in the future. So move window if we hit that.
+ if (timestampHostNanos > now) {
+ mPeripheralTimeMillis = 0;
+ mBaseHostTimeNanos = now;
+ timestampHostNanos = now;
+ } else {
+ // Timestamp should not be older than our window time.
+ long windowBottom = now - mWindowNanos;
+ if (timestampHostNanos < windowBottom) {
+ mPeripheralTimeMillis = 0;
+ mBaseHostTimeNanos = windowBottom;
+ timestampHostNanos = windowBottom;
+ }
+ }
+ // prevent retrograde timestamp
+ if (timestampHostNanos < mPreviousResult) {
+ timestampHostNanos = mPreviousResult;
+ }
+ mPreviousResult = timestampHostNanos;
+ mPreviousTimestamp = timestamp;
+ mPreviousNow = now;
+ return timestampHostNanos;
+ }
+
+ public int getWindowMillis() {
+ return mWindowMillis;
+ }
+
+ public void setWindowMillis(int window) {
+ this.mWindowMillis = window;
+ }
+
+}
diff --git a/native/graphics/jni/Android.mk b/native/graphics/jni/Android.mk
index 91c9ac6..f89a5af 100644
--- a/native/graphics/jni/Android.mk
+++ b/native/graphics/jni/Android.mk
@@ -24,7 +24,8 @@
LOCAL_C_INCLUDES += \
frameworks/base/native/include \
- frameworks/base/core/jni/android/graphics
+ frameworks/base/core/jni/android/graphics \
+ frameworks/base/libs/hwui
LOCAL_MODULE:= libjnigraphics
diff --git a/packages/BackupRestoreConfirmation/res/values-gu-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..3a30588
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-gu-rIN/strings.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="backup_confirm_title" msgid="827563724209303345">"પૂર્ણ બેકઅપ"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"સંપૂર્ણ પુનર્સ્થાપના"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"કનેક્ટ કરેલા ડેસ્કટૉપ કમ્પ્યુટર પર તમામ ડેટાના એક સંપૂર્ણ બેકઅપની વિનંતી કરવામાં આવી છે. શું તમે આ થવા દેવા માંગો છો?\n\nજો તમે પોતે બેકઅપની વિનંતી કરી નહોતી, તો ક્રિયાને આગળ વધવાની મંજૂરી આપશો નહીં."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"મારા ડેટાનો બેક અપ લો"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"બેક અપ લેશો નહીં"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"કનેક્ટ કરેલા ડેસ્કટૉપ કમ્પ્યુટર પરથી તમામ ડેટાના એક સંપૂર્ણ પુનર્સ્થાપનાની વિનંતી કરવામાં આવી છે. શું તમે આ થવા દેવા માંગો છો?\n\nજો તમે પોતે પુનર્સ્થાપનાની વિનંતી કરી નહોતી, તો ક્રિયાને આગળ વધવાની મંજૂરી આપશો નહીં. આ ઉપકરણ પરના હાલના કોઈપણ ડેટાને બદલશે"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"મારો ડેટા પુનર્સ્થાપિત કરો"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"પુનઃસ્થાપિત કરશો નહીં"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"કૃપા કરીને તમારો વર્તમાન બેકઅપ પાસવર્ડ નીચે દાખલ કરો:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"કૃપા કરીને તમારો ઉપકરણ એન્ક્રિપ્શન પાસવર્ડ નીચે દાખલ કરો:"</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"કૃપા કરીને તમારો ઉપકરણ એન્ક્રિપ્શન પાસવર્ડ નીચે દાખલ કરો. આનો ઉપયોગ બેકઅપ સંગ્રહને એન્ક્રિપ્ટ કરવા માટે પણ થશે."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"કૃપા કરીને પૂર્ણ બેકઅપ ડેટાને એન્ક્રિપ્ટ કરવા, ઉપયોગમાં લેવા માટેનો એક પાસવર્ડ દાખલ કરો. જો આ ખાલી છોડવામાં આવે, તો તમારો વર્તમાન બેકઅપ પાસવર્ડ ઉપયોગમાં લેવાશે:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"જો તમે પૂર્ણ બેકઅપ ડેટાને એન્ક્રિપ્ટ કરવા ઇચ્છો, તો નીચે એક પાસવર્ડ દાખલ કરો:"</string>
+ <string name="backup_enc_password_required" msgid="7889652203371654149">"તમારું ઉપકરણ એન્ક્રિપ્ટ કરેલું હોવાથી, તમારે તમારા બેકઅપને એન્ક્રિપ્ટ કરવાની જરૂર છે. કૃપા કરીને નીચે એક પાસવર્ડ દાખલ કરો:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"જો પુનર્સ્થાપિત ડેટા એન્ક્રિપ્ટ કરેલ છે, તો કૃપા કરીને નીચે પાસવર્ડ દાખલ કરો:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"બેકઅપ પ્રારંભ કરી રહ્યું છે..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"બેકઅપ સમાપ્ત થયું"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"પુનઃસ્થાપિત શરૂ થઈ રહ્યું છે..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"પુનઃસ્થાપિત સમાપ્ત થયો"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"ક્રિયાનો સમય સમાપ્ત"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..4b90c21
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="backup_confirm_title" msgid="827563724209303345">"ਪੂਰਾ ਬੈਕਅਪ"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"ਪੂਰਾ ਰੀਸਟੋਰ"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡਾਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ।"</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"ਮੇਰਾ ਡਾਟਾ ਬੈਕ ਅਪ ਕਰੋ"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"ਬੈਕ ਅਪ ਨਾ ਕਰੋ"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡਾਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ। ਇਹ ਡਿਵਾਈਸ ਤੇ ਇਸ ਵੇਲੇ ਮੌਜੂਦ ਕਿਸੇ ਵੀ ਡਾਟਾ ਨੂੰ ਬਦਲ ਦੇਵੇਗਾ!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"ਮੇਰਾ ਡਾਟਾ ਰੀਸਟੋਰ ਕਰੋ"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"ਰੀਸਟੋਰ ਨਾ ਕਰੋ"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਮੌਜੂਦਾ ਬੈਕਅਪ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ।"</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ। ਇਹ ਬੈਕਅਪ ਆਰਕਾਈਵ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਏਗਾ।"</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"ਕਿਰਪਾ ਕਰਕੇ ਪੂਰਾ ਬੈਕਅਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਵਰਤੋਂ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ। ਜੇਕਰ ਇਸਨੂੰ ਖਾਲੀ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ ਵਰਤਮਾਨ ਬੈਕਅਪ ਪਾਸਵਰਡ ਵਰਤਿਆ ਜਾਏਗਾ:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"ਜੇਕਰ ਤੁਸੀਂ ਪੂਰਾ ਬੈਕਅਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string>
+ <string name="backup_enc_password_required" msgid="7889652203371654149">"ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਟਿਡ ਬੈ, ਇਸਲਈ ਤੁਹਾਡੇ ਤੋਂ ਆਪਣਾ ਬੈਕਅਪ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਮੰਗ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"ਜੇਕਰ ਰੀਸਟੋਰ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"ਬੈਕਅਪ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"ਬੈਕਅਪ ਪੂਰਾ ਹੋਇਆ"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"ਰੀਸਟੋਰ ਚਾਲੂ ਹੋ ਰਿਹਾ ਹੈ..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"ਰੀਸਟੋਰ ਖ਼ਤਮ ਹੋਇਆ"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"ਓਪਰੇਸ਼ਨ ਦਾ ਸਮਾਂ ਸਮਾਪਤ"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-sq-rAL/strings.xml b/packages/BackupRestoreConfirmation/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..c0e0e0d
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-sq-rAL/strings.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="backup_confirm_title" msgid="827563724209303345">"Rezervim i plotë"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"Restaurim i plotë"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"Është kërkuar një rezervim i plotë i të gjitha të dhënave në një kompjuter të lidhur. Dëshiron ta lejosh këtë?\n\nNëse nuk e ke kërkuar vetë rezervimin, mos e lejo operacionin të vazhdojë."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"Rezervo të dhënat e mia"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"Mos rezervo"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"Është kërkuar një restaurim i plotë i të gjitha të dhënave nga një kompjuter i lidhur. Dëshiron ta lejosh këtë?\n\nNëse nuk e ke kërkuar vetë rivendosjen, mos e lejo operacionin të vazhdojë. Kjo do të zëvendësojë çdo të dhënë që ekziston aktualisht në pajisje!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"Restauro të dhënat e mia"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"Mos restauro"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"Fut fjalëkalimin tënd aktual të rezervimit më poshtë:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"Fut fjalëkalimin e enkriptimit të pajisjes tënde më poshtë."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Fut fjalëkalimin e enkriptimit të pajisjes tënde më poshtë. Ai do të përdoret gjithashtu për të enkriptuar arkivin e rezervimit."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"Fut një fjalëkalim për të enkriptuar të dhënat e rezervimit të plotë. Nëse hapësira lihet bosh, do të përdoret fjalëkalimi aktual i rezervimit:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"Nëse dëshiron të enkriptosh të dhënat e plota të rezervimit, fut një fjalëkalim më poshtë:"</string>
+ <string name="backup_enc_password_required" msgid="7889652203371654149">"Meqenëse pajisja jote është e enkriptuar, të kërkohet ta enkriptosh rezervimin tënd. Fut një fjalëkalim më poshtë:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"Nëse të dhënat e restaurimit janë të enkriptuara, fut një fjalëkalim më poshtë:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"Rezervimi po fillon..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"Rezervimi përfundoi"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"Restaurimi po fillon..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"Restaurimi mbaroi"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"Operacionit i përfundoi koha"</string>
+</resources>
diff --git a/packages/CaptivePortalLogin/res/values-gu-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..1063c0c
--- /dev/null
+++ b/packages/CaptivePortalLogin/res/values-gu-rIN/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">"આ નેટવર્કનો જેમનો તેમ ઉપયોગ કરો"</string>
+ <string name="action_do_not_use_network" msgid="4577366536956516683">"આ નેટવર્કનો ઉપયોગ કરશો નહીં"</string>
+ <string name="action_bar_label" msgid="917235635415966620">"નેટવર્ક પર સાઇન ઇન કરો"</string>
+</resources>
diff --git a/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..343de14
--- /dev/null
+++ b/packages/CaptivePortalLogin/res/values-pa-rIN/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">"ਇਸ ਨੈਟਵਰਕ ਨੂੰ ਉਵੇਂ ਵਰਤੋ ਜਿਵੇਂ ਇਹ ਹੈ"</string>
+ <string name="action_do_not_use_network" msgid="4577366536956516683">"ਇਹ ਨੈਟਵਰਕ ਨਾ ਵਰਤੋ"</string>
+ <string name="action_bar_label" msgid="917235635415966620">"ਨੈਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string>
+</resources>
diff --git a/packages/CaptivePortalLogin/res/values-sq-rAL/strings.xml b/packages/CaptivePortalLogin/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..f6c4f15
--- /dev/null
+++ b/packages/CaptivePortalLogin/res/values-sq-rAL/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">"Përdore këtë rrjet siç është"</string>
+ <string name="action_do_not_use_network" msgid="4577366536956516683">"Mos e përdor këtë rrjet"</string>
+ <string name="action_bar_label" msgid="917235635415966620">"Identifikohu në rrjet"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-gu-rIN/strings.xml b/packages/DefaultContainerService/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..cbebdd2
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-gu-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, 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="service_name" msgid="4841491635055379553">"પેકેજ અૅક્સેસ હેલ્પર"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-pa-rIN/strings.xml b/packages/DefaultContainerService/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..a784a06
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-pa-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, 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="service_name" msgid="4841491635055379553">"ਪੈਕੇਜ ਪਹੁੰਚ ਸਹਾਇਕ"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-sq-rAL/strings.xml b/packages/DefaultContainerService/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..d352edf
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-sq-rAL/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, 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="service_name" msgid="4841491635055379553">"Ndihmësi i qasjes në paketë"</string>
+</resources>
diff --git a/packages/DocumentsUI/res/color/item_doc_grid_overlay.xml b/packages/DocumentsUI/res/color/item_doc_grid_overlay.xml
new file mode 100644
index 0000000..6959c65
--- /dev/null
+++ b/packages/DocumentsUI/res/color/item_doc_grid_overlay.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_activated="true"
+ android:color="?android:attr/colorControlHighlight" />
+ <item
+ android:state_enabled="false"
+ android:color="?android:attr/colorBackground"
+ android:alpha="0.5" />
+ <item
+ android:color="@android:color/transparent" />
+</selector>
\ No newline at end of file
diff --git a/packages/DocumentsUI/res/color/item_doc_list_background_activated.xml b/packages/DocumentsUI/res/color/item_doc_list_background_activated.xml
new file mode 100644
index 0000000..7d7a110
--- /dev/null
+++ b/packages/DocumentsUI/res/color/item_doc_list_background_activated.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_activated="true"
+ android:color="?android:attr/colorAccent"
+ android:alpha="0.1" />
+ <item
+ android:color="@android:color/transparent" />
+</selector>
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_album.xml b/packages/DocumentsUI/res/drawable/ic_doc_album.xml
index 6b80a33..e7965e6 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_album.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_album.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_album_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_apk.xml b/packages/DocumentsUI/res/drawable/ic_doc_apk.xml
index d1ba313..4f8f06e 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_apk.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_apk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_apk_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_audio.xml b/packages/DocumentsUI/res/drawable/ic_doc_audio.xml
index 24bd9fa..cf18b4f 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_audio.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_audio.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_audio_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_certificate.xml b/packages/DocumentsUI/res/drawable/ic_doc_certificate.xml
index 3e5b9e6..c28ed4f 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_certificate.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_certificate.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_certificate_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_codes.xml b/packages/DocumentsUI/res/drawable/ic_doc_codes.xml
index 441c669..0de721a9 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_codes.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_codes.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_codes_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_compressed.xml b/packages/DocumentsUI/res/drawable/ic_doc_compressed.xml
index 15ecb6b..a49cfa4 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_compressed.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_compressed.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_compressed_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_contact.xml b/packages/DocumentsUI/res/drawable/ic_doc_contact.xml
index 361666a..bf550cb 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_contact.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_contact.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_contact_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_event.xml b/packages/DocumentsUI/res/drawable/ic_doc_event.xml
index a17018b..25cf0f3 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_event.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_event.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_event_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_excel.xml b/packages/DocumentsUI/res/drawable/ic_doc_excel.xml
index 7d05361..3354725 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_excel.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_excel.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_excel_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_folder.xml b/packages/DocumentsUI/res/drawable/ic_doc_folder.xml
index 85f5e7c..73de60e 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_folder.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_folder.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_folder_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_font.xml b/packages/DocumentsUI/res/drawable/ic_doc_font.xml
index e79ed0c..c74cb9c 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_font.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_font.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_font_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_generic.xml b/packages/DocumentsUI/res/drawable/ic_doc_generic.xml
index d0d999f..a4ee29d 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_generic.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_generic.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_generic_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_image.xml b/packages/DocumentsUI/res/drawable/ic_doc_image.xml
index fa949e0..9d4c359 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_image.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_image.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_image_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_pdf.xml b/packages/DocumentsUI/res/drawable/ic_doc_pdf.xml
index 51620f5..5c37498 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_pdf.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_pdf.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_pdf_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml b/packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml
index 2a048c8..f0a6c39 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_powerpoint_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_presentation.xml b/packages/DocumentsUI/res/drawable/ic_doc_presentation.xml
index 71bb853..a14f866 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_presentation.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_presentation.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_presentation_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml b/packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml
index 4b4cd99..40f2515 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_spreadsheet_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_text.xml b/packages/DocumentsUI/res/drawable/ic_doc_text.xml
index 8224a21..ffa9e70 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_text.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_text.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_text_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_video.xml b/packages/DocumentsUI/res/drawable/ic_doc_video.xml
index 1fed041..2d048c2 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_video.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_video.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_video_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_word.xml b/packages/DocumentsUI/res/drawable/ic_doc_word.xml
index addfb47..afcc533 100644
--- a/packages/DocumentsUI/res/drawable/ic_doc_word.xml
+++ b/packages/DocumentsUI/res/drawable/ic_doc_word.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_doc_word_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_grid_folder.xml b/packages/DocumentsUI/res/drawable/ic_grid_folder.xml
index 344d558..0c87869 100644
--- a/packages/DocumentsUI/res/drawable/ic_grid_folder.xml
+++ b/packages/DocumentsUI/res/drawable/ic_grid_folder.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_grid_folder_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_root_download.xml b/packages/DocumentsUI/res/drawable/ic_root_download.xml
index a7642f9..f07d8f0 100644
--- a/packages/DocumentsUI/res/drawable/ic_root_download.xml
+++ b/packages/DocumentsUI/res/drawable/ic_root_download.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_root_download_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_root_folder.xml b/packages/DocumentsUI/res/drawable/ic_root_folder.xml
index cda9db8..01df07b 100644
--- a/packages/DocumentsUI/res/drawable/ic_root_folder.xml
+++ b/packages/DocumentsUI/res/drawable/ic_root_folder.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_root_folder_am_alpha"
- android:tint="@*android:color/secondary_text_material_light"
+ android:tint="?android:attr/colorControlNormal"
android:autoMirrored="true" />
diff --git a/packages/DocumentsUI/res/drawable/ic_root_recent.xml b/packages/DocumentsUI/res/drawable/ic_root_recent.xml
index d6b33c9..41e6a5e 100644
--- a/packages/DocumentsUI/res/drawable/ic_root_recent.xml
+++ b/packages/DocumentsUI/res/drawable/ic_root_recent.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_root_recent_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_root_sdcard.xml b/packages/DocumentsUI/res/drawable/ic_root_sdcard.xml
index 0b9523b..27cfa81d 100644
--- a/packages/DocumentsUI/res/drawable/ic_root_sdcard.xml
+++ b/packages/DocumentsUI/res/drawable/ic_root_sdcard.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_root_sdcard_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/ic_root_usb_light.xml b/packages/DocumentsUI/res/drawable/ic_root_usb_light.xml
index ff2b197..5f80dd9 100644
--- a/packages/DocumentsUI/res/drawable/ic_root_usb_light.xml
+++ b/packages/DocumentsUI/res/drawable/ic_root_usb_light.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_root_usb_light_alpha"
- android:tint="@*android:color/secondary_text_material_light" />
+ android:tint="?android:attr/colorControlNormal" />
diff --git a/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml
index 3fbd25e..3f50fb9 100644
--- a/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml
+++ b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml
@@ -14,9 +14,7 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="true" android:state_activated="true" android:drawable="@color/item_doc_grid_overlay_activated" />
- <item android:state_focused="false" android:state_activated="true" android:drawable="@color/item_doc_grid_overlay_activated" />
- <item android:state_enabled="false" android:drawable="@color/item_doc_grid_overlay_disabled" />
- <item android:drawable="@android:color/transparent" />
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="@color/item_doc_grid_overlay" />
+</shape>
diff --git a/packages/DocumentsUI/res/drawable/item_doc_list_background.xml b/packages/DocumentsUI/res/drawable/item_doc_list_background.xml
index b879542..13910bb 100644
--- a/packages/DocumentsUI/res/drawable/item_doc_list_background.xml
+++ b/packages/DocumentsUI/res/drawable/item_doc_list_background.xml
@@ -14,8 +14,7 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="true" android:state_activated="true" android:drawable="@color/item_doc_list_background_activated" />
- <item android:state_focused="false" android:state_activated="true" android:drawable="@color/item_doc_list_background_activated" />
- <item android:drawable="@android:color/transparent" />
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="@color/item_doc_list_background_activated" />
+</shape>
diff --git a/packages/DocumentsUI/res/layout-sw720dp/activity.xml b/packages/DocumentsUI/res/layout-sw720dp/activity.xml
index 1cffd17..7b40a0f 100644
--- a/packages/DocumentsUI/res/layout-sw720dp/activity.xml
+++ b/packages/DocumentsUI/res/layout-sw720dp/activity.xml
@@ -53,8 +53,7 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
- android:elevation="8dp"
- android:background="@color/material_grey_50">
+ android:elevation="8dp">
<com.android.documentsui.DirectoryContainerView
android:id="@+id/container_directory"
@@ -66,7 +65,6 @@
android:id="@+id/container_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@color/material_grey_50"
android:elevation="8dp" />
</LinearLayout>
diff --git a/packages/DocumentsUI/res/layout/activity.xml b/packages/DocumentsUI/res/layout/activity.xml
index 120168e..b549cd3 100644
--- a/packages/DocumentsUI/res/layout/activity.xml
+++ b/packages/DocumentsUI/res/layout/activity.xml
@@ -51,7 +51,6 @@
android:id="@+id/container_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@color/material_grey_50"
android:elevation="8dp" />
</LinearLayout>
diff --git a/packages/DocumentsUI/res/layout/fragment_directory.xml b/packages/DocumentsUI/res/layout/fragment_directory.xml
index 4717839..2c08e72 100644
--- a/packages/DocumentsUI/res/layout/fragment_directory.xml
+++ b/packages/DocumentsUI/res/layout/fragment_directory.xml
@@ -16,8 +16,7 @@
<com.android.documentsui.DirectoryView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/material_grey_50">
+ android:layout_height="match_parent">
<TextView
android:id="@android:id/empty"
diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml
index 2394c36..54195a9 100644
--- a/packages/DocumentsUI/res/values-da/strings.xml
+++ b/packages/DocumentsUI/res/values-da/strings.xml
@@ -66,11 +66,11 @@
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering…"</string>
<plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
- <item quantity="one">Fejl i forbindelse med kopiering af <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
- <item quantity="other">Fejl i forbindelse med kopiering af <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ <item quantity="one">Fejl ved kopiering af <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ <item quantity="other">Fejl ved kopiering af <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
</plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tryk for at se yderligere oplysninger."</string>
<string name="retry" msgid="7564024179122207376">"Prøv igen"</string>
- <string name="copy_failure_alert_title" msgid="616726451967793549">"Fejl i forbindelse med kopiering af filer"</string>
+ <string name="copy_failure_alert_title" msgid="616726451967793549">"Fejl ved kopiering af filer"</string>
<string name="copy_failure_alert_content" msgid="2655232627616241542">"Følgende filer blev ikke kopieret: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-gu-rIN/strings.xml b/packages/DocumentsUI/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..d663f1e
--- /dev/null
+++ b/packages/DocumentsUI/res/values-gu-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?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="2783841764617238354">"દસ્તાવેજો"</string>
+ <string name="title_open" msgid="4353228937663917801">"અહીંથી ખોલો"</string>
+ <string name="title_save" msgid="2433679664882857999">"આમાં સાચવો"</string>
+ <string name="menu_create_dir" msgid="5947289605844398389">"ફોલ્ડર બનાવો"</string>
+ <string name="menu_grid" msgid="6878021334497835259">"ગ્રિડ દૃશ્ય"</string>
+ <string name="menu_list" msgid="7279285939892417279">"સૂચિ દૃશ્ય"</string>
+ <string name="menu_sort" msgid="7677740407158414452">"આ પ્રમાણે સૉર્ટ કરો"</string>
+ <string name="menu_search" msgid="3816712084502856974">"શોધો"</string>
+ <string name="menu_settings" msgid="6008033148948428823">"સેટિંગ્સ"</string>
+ <string name="menu_open" msgid="432922957274920903">"ખોલો"</string>
+ <string name="menu_save" msgid="2394743337684426338">"સાચવો"</string>
+ <string name="menu_share" msgid="3075149983979628146">"શેર કરો"</string>
+ <string name="menu_delete" msgid="8138799623850614177">"કાઢી નાખો"</string>
+ <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" પસંદ કરો"</string>
+ <string name="menu_select_all" msgid="4320518282375109902">"બધા પસંદ કરો"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"આના પર કૉપિ કરો…"</string>
+ <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"આંતરિક સ્ટોરેજ દર્શાવો"</string>
+ <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD કાર્ડ દર્શાવો"</string>
+ <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"આંતરિક સંગ્રહ છુપાવો"</string>
+ <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD કાર્ડ છુપાવો"</string>
+ <string name="menu_file_size_show" msgid="3240323619260823076">"ફાઇલ કદ દર્શાવો"</string>
+ <string name="menu_file_size_hide" msgid="8881975928502581042">"ફાઇલ કદ છુપાવો"</string>
+ <string name="button_copy" msgid="8706475544635021302">"કૉપિ કરો"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> પસંદ કર્યા"</string>
+ <string name="sort_name" msgid="9183560467917256779">"નામ દ્વારા"</string>
+ <string name="sort_date" msgid="586080032956151448">"સંશોધન તારીખ દ્વારા"</string>
+ <string name="sort_size" msgid="3350681319735474741">"કદ દ્વારા"</string>
+ <string name="drawer_open" msgid="4545466532430226949">"રૂટ્સ દર્શાવો"</string>
+ <string name="drawer_close" msgid="7602734368552123318">"રૂટ્સ છુપાવો"</string>
+ <string name="save_error" msgid="6167009778003223664">"દસ્તાવેજ સાચવવામાં નિષ્ફળ થયાં."</string>
+ <string name="create_error" msgid="3735649141335444215">"ફોલ્ડર બનાવવામાં નિષ્ફળ થયા"</string>
+ <string name="query_error" msgid="1222448261663503501">"દસ્તાવેજોને ક્વેરી કરવામાં નિષ્ફળ થયાં"</string>
+ <string name="root_recent" msgid="4470053704320518133">"તાજેતરના"</string>
+ <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> ખાલી"</string>
+ <string name="root_type_service" msgid="2178854894416775409">"સંગ્રહ સેવાઓ"</string>
+ <string name="root_type_shortcut" msgid="3318760609471618093">"શોર્ટકટ્સ"</string>
+ <string name="root_type_device" msgid="7121342474653483538">"ઉપકરણો"</string>
+ <string name="root_type_apps" msgid="8838065367985945189">"વધુ એપ્લિકેશન્સ"</string>
+ <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="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">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી રહ્યાં છે.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી રહ્યાં છે.</item>
+ </plurals>
+ <string name="copy_preparing" msgid="3896202461003039386">"કૉપિ માટે તૈયારી કરી રહ્યું છે…"</string>
+ <plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરવામાં ભૂલ.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરવામાં ભૂલ.</item>
+ </plurals>
+ <string name="notification_touch_for_details" msgid="4483108577842961665">"વિગતો જોવા માટે ટચ કરો"</string>
+ <string name="retry" msgid="7564024179122207376">"ફરી પ્રયાસ કરો"</string>
+ <string name="copy_failure_alert_title" msgid="616726451967793549">"ફાઇલો કૉપિ કરવામાં ભૂલ"</string>
+ <string name="copy_failure_alert_content" msgid="2655232627616241542">"નીચેની ફાઇલો કૉપિ કરેલ નથી: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+</resources>
diff --git a/packages/DocumentsUI/res/values-night/colors.xml b/packages/DocumentsUI/res/values-night/colors.xml
new file mode 100644
index 0000000..87cac78
--- /dev/null
+++ b/packages/DocumentsUI/res/values-night/colors.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<resources>
+ <color name="item_doc_grid_background">#ff111111</color>
+ <color name="item_doc_grid_protect_background">#88ffffff</color>
+</resources>
diff --git a/packages/DocumentsUI/res/values-pa-rIN/strings.xml b/packages/DocumentsUI/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..235a7bb
--- /dev/null
+++ b/packages/DocumentsUI/res/values-pa-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?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="2783841764617238354">"ਦਸਤਾਵੇਜ਼"</string>
+ <string name="title_open" msgid="4353228937663917801">"ਤੋਂ ਖੋਲ੍ਹੋ"</string>
+ <string name="title_save" msgid="2433679664882857999">"ਇਸ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+ <string name="menu_create_dir" msgid="5947289605844398389">"ਫੋਲਡਰ ਬਣਾਓ"</string>
+ <string name="menu_grid" msgid="6878021334497835259">"ਗ੍ਰਿਡ ਵਿਊ"</string>
+ <string name="menu_list" msgid="7279285939892417279">"ਸੂਚੀ ਦ੍ਰਿਸ਼"</string>
+ <string name="menu_sort" msgid="7677740407158414452">"ਇਸ ਅਨੁਸਾਰ ਛਾਂਟੋ"</string>
+ <string name="menu_search" msgid="3816712084502856974">"ਖੋਜੋ"</string>
+ <string name="menu_settings" msgid="6008033148948428823">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="menu_open" msgid="432922957274920903">"ਖੋਲ੍ਹੋ"</string>
+ <string name="menu_save" msgid="2394743337684426338">"ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+ <string name="menu_share" msgid="3075149983979628146">"ਸ਼ੇਅਰ ਕਰੋ"</string>
+ <string name="menu_delete" msgid="8138799623850614177">"ਮਿਟਾਓ"</string>
+ <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ਨੂੰ ਚੁਣੋ"</string>
+ <string name="menu_select_all" msgid="4320518282375109902">"ਸਾਰਿਆਂ ਨੂੰ ਚੁਣੋ"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"ਇਸ ਵਿੱਚ ਕਾਪੀ ਕਰੋ…"</string>
+ <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ ਦਿਖਾਓ"</string>
+ <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ਕਾਰਡ ਦਿਖਾਓ"</string>
+ <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ ਲੁਕਾਓ"</string>
+ <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD ਕਾਰਡ ਲੁਕਾਓ"</string>
+ <string name="menu_file_size_show" msgid="3240323619260823076">"ਫਾਈਲ ਆਕਾਰ ਦਿਖਾਓ"</string>
+ <string name="menu_file_size_hide" msgid="8881975928502581042">"ਫਾਈਲ ਆਕਾਰ ਲੁਕਾਓ"</string>
+ <string name="button_copy" msgid="8706475544635021302">"ਕਾਪੀ ਕਰੋ"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ਚੁਣਿਆ"</string>
+ <string name="sort_name" msgid="9183560467917256779">"ਨਾਮ ਮੁਤਾਬਕ"</string>
+ <string name="sort_date" msgid="586080032956151448">"ਤਾਰੀਖ ਮੁਤਾਬਕ ਸੰਸ਼ੋਧਿਤ"</string>
+ <string name="sort_size" msgid="3350681319735474741">"ਆਕਾਰ ਮੁਤਾਬਕ"</string>
+ <string name="drawer_open" msgid="4545466532430226949">"ਰੂਟਸ ਦਿਖਾਓ"</string>
+ <string name="drawer_close" msgid="7602734368552123318">"ਰੂਟਸ ਲੁਕਾਓ"</string>
+ <string name="save_error" msgid="6167009778003223664">"ਦਸਾਤਵੇਜ਼ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"</string>
+ <string name="create_error" msgid="3735649141335444215">"ਫੋਲਡਰ ਬਣਾਉਣ ਲਈ ਅਸਫਲ"</string>
+ <string name="query_error" msgid="1222448261663503501">"ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਪੁੱਛਗਿੱਛ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"</string>
+ <string name="root_recent" msgid="4470053704320518133">"ਹਾਲੀਆ"</string>
+ <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> ਖਾਲੀ"</string>
+ <string name="root_type_service" msgid="2178854894416775409">"ਸਟੋਰੇਜ ਸੇਵਾਵਾਂ"</string>
+ <string name="root_type_shortcut" msgid="3318760609471618093">"ਸ਼ੌਰਟਕਟਸ"</string>
+ <string name="root_type_device" msgid="7121342474653483538">"ਡਿਵਾਈਸਾਂ"</string>
+ <string name="root_type_apps" msgid="8838065367985945189">"ਹੋਰ ਐਪਸ"</string>
+ <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="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">
+ <item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ।</item>
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ।</item>
+ </plurals>
+ <string name="copy_preparing" msgid="3896202461003039386">"ਕਾਪੀ ਲਈ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਬਣਾਉਣ ਵਿੱਚ ਤਰੁੱਟੀ.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਬਣਾਉਣ ਵਿੱਚ ਤਰੁੱਟੀ.</item>
+ </plurals>
+ <string name="notification_touch_for_details" msgid="4483108577842961665">"ਵੇਰਵੇ ਵੇਖਣ ਲਈ ਸਪਰਸ਼ ਕਰੋ"</string>
+ <string name="retry" msgid="7564024179122207376">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="copy_failure_alert_title" msgid="616726451967793549">"ਫ਼ਾਈਲਾਂ ਨੂੰ ਕਾਪੀ ਕਰਨ ਵਿੱਚ ਤਰੁੱਟੀ"</string>
+ <string name="copy_failure_alert_content" msgid="2655232627616241542">"ਹੇਠਾਂ ਦਿੱਤੀ ਫ਼ਾਈਲਾਂ ਦੀ ਕਾਪੀ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+</resources>
diff --git a/packages/DocumentsUI/res/values-sq-rAL/strings.xml b/packages/DocumentsUI/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..53761ea
--- /dev/null
+++ b/packages/DocumentsUI/res/values-sq-rAL/strings.xml
@@ -0,0 +1,76 @@
+<?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="2783841764617238354">"Dokumente"</string>
+ <string name="title_open" msgid="4353228937663917801">"Hap nga"</string>
+ <string name="title_save" msgid="2433679664882857999">"Ruaje në"</string>
+ <string name="menu_create_dir" msgid="5947289605844398389">"Krijo dosje"</string>
+ <string name="menu_grid" msgid="6878021334497835259">"Pamje \"sitë\""</string>
+ <string name="menu_list" msgid="7279285939892417279">"Pamje liste"</string>
+ <string name="menu_sort" msgid="7677740407158414452">"Rendit sipas"</string>
+ <string name="menu_search" msgid="3816712084502856974">"Kërko"</string>
+ <string name="menu_settings" msgid="6008033148948428823">"Cilësimet"</string>
+ <string name="menu_open" msgid="432922957274920903">"Hap"</string>
+ <string name="menu_save" msgid="2394743337684426338">"Ruaj"</string>
+ <string name="menu_share" msgid="3075149983979628146">"Shpërnda"</string>
+ <string name="menu_delete" msgid="8138799623850614177">"Fshi"</string>
+ <string name="menu_select" msgid="8711270657353563424">"Përzgjidh \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
+ <string name="menu_select_all" msgid="4320518282375109902">"Zgjidhi të gjitha"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"Kopjo te..."</string>
+ <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Trego hapësirën e brendshme ruajtëse"</string>
+ <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Shfaq kartën SD"</string>
+ <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Fshih hapësirën ruajtëse të brendshme"</string>
+ <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Fshih kartën SD"</string>
+ <string name="menu_file_size_show" msgid="3240323619260823076">"Shfaq madhësinë e skedarit"</string>
+ <string name="menu_file_size_hide" msgid="8881975928502581042">"Fshih madhësinë e skedarit"</string>
+ <string name="button_copy" msgid="8706475544635021302">"Kopjo"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dokumente u përzgjodhën"</string>
+ <string name="sort_name" msgid="9183560467917256779">"Sipas emrit"</string>
+ <string name="sort_date" msgid="586080032956151448">"Sipas datës së modifikimit"</string>
+ <string name="sort_size" msgid="3350681319735474741">"Sipas madhësisë"</string>
+ <string name="drawer_open" msgid="4545466532430226949">"Trego rrënjët"</string>
+ <string name="drawer_close" msgid="7602734368552123318">"Fshih rrënjët"</string>
+ <string name="save_error" msgid="6167009778003223664">"Ruajtja e dokumentit dështoi"</string>
+ <string name="create_error" msgid="3735649141335444215">"Krijimi i dosjes dështoi"</string>
+ <string name="query_error" msgid="1222448261663503501">"Kërkesa për dokumentet dështoi"</string>
+ <string name="root_recent" msgid="4470053704320518133">"Të kohëve të fundit"</string>
+ <string name="root_available_bytes" msgid="8568452858617033281">"Të lirë: <xliff:g id="SIZE">%1$s</xliff:g>"</string>
+ <string name="root_type_service" msgid="2178854894416775409">"Shërbimet e hapësirës ruajtëse"</string>
+ <string name="root_type_shortcut" msgid="3318760609471618093">"Shkurtore"</string>
+ <string name="root_type_device" msgid="7121342474653483538">"Pajisjet"</string>
+ <string name="root_type_apps" msgid="8838065367985945189">"Aplikacione të tjera"</string>
+ <string name="empty" msgid="7858882803708117596">"Nuk ka artikuj"</string>
+ <string name="toast_no_application" msgid="1339885974067891667">"Skedari nuk mund të hapet"</string>
+ <string name="toast_failed_delete" msgid="2180678019407244069">"E pamundur të fshihen disa dokumente"</string>
+ <string name="share_via" msgid="8966594246261344259">"Shpërnda publikisht përmes"</string>
+ <string name="copy_notification_title" msgid="6374299806748219777">"Po kopjon skedarët"</string>
+ <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> të mbetura"</string>
+ <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
+ <item quantity="other">Po kopjon <xliff:g id="COUNT_1">%1$d</xliff:g> skedarë.</item>
+ <item quantity="one">Po kopjon <xliff:g id="COUNT_0">%1$d</xliff:g> skedar.</item>
+ </plurals>
+ <string name="copy_preparing" msgid="3896202461003039386">"Po përgatitet për kopjimin…"</string>
+ <plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
+ <item quantity="other">Gabim gjatë kopjimit të <xliff:g id="COUNT_1">%1$d</xliff:g> skedarëve.</item>
+ <item quantity="one">Gabim gjatë kopjimit të <xliff:g id="COUNT_0">%1$d</xliff:g> skedari.</item>
+ </plurals>
+ <string name="notification_touch_for_details" msgid="4483108577842961665">"Prek për të parë detajet"</string>
+ <string name="retry" msgid="7564024179122207376">"Provo përsëri"</string>
+ <string name="copy_failure_alert_title" msgid="616726451967793549">"Gabim gjatë kopjimit të skedarëve"</string>
+ <string name="copy_failure_alert_content" msgid="2655232627616241542">"Skedarët e mëposhtëm nuk janë kopjuar: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+</resources>
diff --git a/packages/DocumentsUI/res/values-sw720dp/dimens.xml b/packages/DocumentsUI/res/values-sw720dp/dimens.xml
index 068c806..4786d28 100644
--- a/packages/DocumentsUI/res/values-sw720dp/dimens.xml
+++ b/packages/DocumentsUI/res/values-sw720dp/dimens.xml
@@ -18,11 +18,9 @@
<bool name="show_as_dialog">true</bool>
<item type="dimen" name="dialog_width">85%</item>
- <item type="dimen" name="dialog_height">90%</item>
<dimen name="grid_padding_horiz">24dp</dimen>
<dimen name="grid_padding_vert">16dp</dimen>
<dimen name="grid_item_padding">8dp</dimen>
-
</resources>
diff --git a/packages/DocumentsUI/res/values-sw720dp/styles.xml b/packages/DocumentsUI/res/values-sw720dp/styles.xml
index 9968bb8..0b03a94 100644
--- a/packages/DocumentsUI/res/values-sw720dp/styles.xml
+++ b/packages/DocumentsUI/res/values-sw720dp/styles.xml
@@ -16,6 +16,11 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="DialogWhenReallyLarge" parent="@*android:style/Theme.DeviceDefault.Light.Dialog.FixedSize" />
+ <style name="DialogWhenReallyLarge" parent="@*android:style/Theme.Material.DayNight.Dialog">
+ <!-- We do not specify width of window here because the max size of
+ floating window specified by windowFixedWidthis is limited. -->
+ <item name="*android:windowFixedHeightMajor">80%</item>
+ <item name="*android:windowFixedHeightMinor">90%</item>
+ </style>
</resources>
diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
index fe6e35b..f553590 100644
--- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
@@ -66,11 +66,11 @@
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string>
<plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
- <item quantity="other">複製<xliff:g id="COUNT_1">%1$d</xliff:g>個檔案時出現錯誤。</item>
- <item quantity="one">複製<xliff:g id="COUNT_0">%1$d</xliff:g>個檔案時出現錯誤。</item>
+ <item quantity="other">複製<xliff:g id="COUNT_1">%1$d</xliff:g>個檔案時發生錯誤。</item>
+ <item quantity="one">複製<xliff:g id="COUNT_0">%1$d</xliff:g>個檔案時發生錯誤。</item>
</plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"輕觸即可查看詳情"</string>
<string name="retry" msgid="7564024179122207376">"重試"</string>
- <string name="copy_failure_alert_title" msgid="616726451967793549">"複製檔案時出現錯誤"</string>
- <string name="copy_failure_alert_content" msgid="2655232627616241542">"未有複製以下檔案:<xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <string name="copy_failure_alert_title" msgid="616726451967793549">"複製檔案時發生錯誤"</string>
+ <string name="copy_failure_alert_content" msgid="2655232627616241542">"沒有複製以下檔案:<xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values/colors.xml b/packages/DocumentsUI/res/values/colors.xml
index 2ceb968..2b839d4 100644
--- a/packages/DocumentsUI/res/values/colors.xml
+++ b/packages/DocumentsUI/res/values/colors.xml
@@ -15,19 +15,8 @@
-->
<resources>
- <color name="material_grey_50">#fffafafa</color>
<color name="material_grey_300">#ffeeeeee</color>
<color name="item_doc_grid_background">@color/material_grey_300</color>
-
<color name="item_doc_grid_protect_background">#88000000</color>
-
- <color name="item_doc_grid_overlay_activated">#88000000</color>
- <color name="item_doc_grid_overlay_disabled">#88ffffff</color>
-
- <color name="item_doc_list_overlay_disabled">#88ffffff</color>
-
- <!-- 10% alpha of material_deep_teal_500 -->
- <color name="item_doc_list_background_activated">#1a009688</color>
-
</resources>
diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml
index 062d433..5281087 100644
--- a/packages/DocumentsUI/res/values/strings.xml
+++ b/packages/DocumentsUI/res/values/strings.xml
@@ -121,22 +121,20 @@
<string name="copy_remaining"><xliff:g id="duration" example="3 minutes">%s</xliff:g> left</string>
<!-- Toast shown when a file copy is kicked off -->
<plurals name="copy_begin">
- <item quantity="one">Copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
- <item quantity="other">Copying <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
+ <item quantity="one">Copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
+ <item quantity="other">Copying <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
</plurals>
<!-- Text shown on the copy notification while DocumentsUI performs setup in preparation for copying files [CHAR LIMIT=32] -->
<string name="copy_preparing">Preparing for copy\u2026</string>
<!-- Title of the copy error notification [CHAR LIMIT=48] -->
<plurals name="copy_error_notification_title">
- <item quantity="one">Error copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
- <item quantity="other">Error copying <xliff:g id="count" example="1">%1$d</xliff:g> files.</item>
+ <item quantity="one">Couldn\'t copy <xliff:g id="count" example="1">%1$d</xliff:g> file</item>
+ <item quantity="other">Couldn\'t copy <xliff:g id="count" example="2">%1$d</xliff:g> files</item>
</plurals>
<!-- Second line for notifications saying that more information will be shown after touching [CHAR LIMIT=48] -->
<string name="notification_touch_for_details">Touch to view details</string>
<!-- Label of a dialog button for retrying a failed operation [CHAR LIMIT=24] -->
<string name="retry">Retry</string>
- <!-- Title of the copying failure alert dialog. [CHAR LIMIT=48] -->
- <string name="copy_failure_alert_title">Error copying files</string>
<!-- Contents of the copying failure alert dialog. [CHAR LIMIT=48] -->
- <string name="copy_failure_alert_content">Following files are not copied: <xliff:g id="list">%1$s</xliff:g></string>
+ <string name="copy_failure_alert_content">These files weren\'t copied: <xliff:g id="list">%1$s</xliff:g></string>
</resources>
diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml
index 39c958e..97509f7 100644
--- a/packages/DocumentsUI/res/values/styles.xml
+++ b/packages/DocumentsUI/res/values/styles.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="DialogWhenReallyLarge" parent="@android:style/Theme.DeviceDefault.Light" />
+ <style name="DialogWhenReallyLarge" parent="@android:style/Theme.Material.DayNight.DarkActionBar" />
<style name="DocumentsTheme" parent="@style/DialogWhenReallyLarge">
<item name="android:actionBarWidgetTheme">@null</item>
@@ -33,20 +33,11 @@
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowNoTitle">true</item>
- <item name="*android:windowFixedWidthMajor">@null</item>
- <item name="*android:windowFixedWidthMinor">@null</item>
- <item name="*android:windowMinWidthMajor">@null</item>
- <item name="*android:windowMinWidthMinor">@null</item>
- <item name="*android:windowFixedHeightMajor">80%</item>
- <item name="*android:windowFixedHeightMinor">90%</item>
-
<item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
</style>
- <style name="StandaloneTheme" parent="android:Theme.DeviceDefault.Light">
+ <style name="StandaloneTheme" parent="@android:style/Theme.Material.DayNight.DarkActionBar">
<item name="android:actionBarWidgetTheme">@null</item>
- <item name="android:actionBarTheme">@*android:style/ThemeOverlay.Material.Dark.ActionBar</item>
- <item name="android:actionBarPopupTheme">@*android:style/ThemeOverlay.Material.Light</item>
<item name="android:colorPrimaryDark">@*android:color/material_blue_grey_900</item>
<item name="android:colorPrimary">@*android:color/material_blue_grey_800</item>
diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
index 8039b71..e0f10fa 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
@@ -16,17 +16,47 @@
package com.android.documentsui;
+import static com.android.documentsui.DirectoryFragment.ANIM_NONE;
+import static com.android.documentsui.DirectoryFragment.ANIM_SIDE;
+import static com.android.documentsui.DirectoryFragment.ANIM_UP;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
+import java.util.concurrent.Executor;
+import libcore.io.IoUtils;
import android.app.Activity;
import android.app.Fragment;
-import android.content.pm.ResolveInfo;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.AsyncTask;
+import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
+import android.provider.DocumentsContract;
+import android.provider.DocumentsContract.Root;
+import android.util.Log;
import android.util.SparseArray;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.MenuItem.OnActionExpandListener;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.SearchView;
+import android.widget.SearchView.OnQueryTextListener;
+import android.widget.TextView;
+import com.android.documentsui.RecentsProvider.ResumeColumns;
import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.DurableUtils;
@@ -34,20 +64,143 @@
import com.google.common.collect.Maps;
abstract class BaseActivity extends Activity {
+
+ static final String EXTRA_STATE = "state";
+
+ RootsCache mRoots;
+ SearchManager mSearchManager;
+
+ private final String mTag;
+
public abstract State getDisplayState();
- public abstract RootInfo getCurrentRoot();
- public abstract void onStateChanged();
- public abstract void setRootsDrawerOpen(boolean open);
public abstract void onDocumentPicked(DocumentInfo doc);
public abstract void onDocumentsPicked(List<DocumentInfo> docs);
- public abstract DocumentInfo getCurrentDirectory();
- public abstract void setPending(boolean pending);
- public abstract void onStackPicked(DocumentStack stack);
- public abstract void onPickRequested(DocumentInfo pickTarget);
- public abstract void onAppPicked(ResolveInfo info);
- public abstract void onRootPicked(RootInfo root, boolean closeDrawer);
- public abstract void onSaveRequested(DocumentInfo replaceTarget);
- public abstract void onSaveRequested(String mimeType, String displayName);
+ abstract void onTaskFinished(Uri... uris);
+ abstract void onDirectoryChanged(int anim);
+ abstract void updateActionBar();
+ abstract void saveStackBlocking();
+
+ public BaseActivity(String tag) {
+ mTag = tag;
+ }
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ mRoots = DocumentsApplication.getRootsCache(this);
+ mSearchManager = new SearchManager();
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ boolean showMenu = super.onCreateOptionsMenu(menu);
+
+ getMenuInflater().inflate(R.menu.activity, menu);
+ mSearchManager.install(menu.findItem(R.id.menu_search));
+
+ return showMenu;
+ }
+
+ void onStackRestored(boolean restored, boolean external) {}
+
+ void onRootPicked(RootInfo root) {
+ State state = getDisplayState();
+
+ // Clear entire backstack and start in new root
+ state.stack.root = root;
+ state.stack.clear();
+ state.stackTouched = true;
+
+ mSearchManager.update(root);
+
+ // Recents is always in memory, so we just load it directly.
+ // Otherwise we delegate loading data from disk to a task
+ // to ensure a responsive ui.
+ if (mRoots.isRecentsRoot(root)) {
+ onCurrentDirectoryChanged(ANIM_SIDE);
+ } else {
+ new PickRootTask(root).executeOnExecutor(getCurrentExecutor());
+ }
+ }
+
+ void expandMenus(Menu menu) {
+ for (int i = 0; i < menu.size(); i++) {
+ final MenuItem item = menu.getItem(i);
+ switch (item.getItemId()) {
+ case R.id.menu_advanced:
+ case R.id.menu_file_size:
+ break;
+ default:
+ item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+ }
+ }
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ final int id = item.getItemId();
+ if (id == android.R.id.home) {
+ onBackPressed();
+ return true;
+ } else if (id == R.id.menu_create_dir) {
+ CreateDirectoryFragment.show(getFragmentManager());
+ return true;
+ } else if (id == R.id.menu_search) {
+ return false;
+ } else if (id == R.id.menu_sort_name) {
+ setUserSortOrder(State.SORT_ORDER_DISPLAY_NAME);
+ return true;
+ } else if (id == R.id.menu_sort_date) {
+ setUserSortOrder(State.SORT_ORDER_LAST_MODIFIED);
+ return true;
+ } else if (id == R.id.menu_sort_size) {
+ setUserSortOrder(State.SORT_ORDER_SIZE);
+ return true;
+ } else if (id == R.id.menu_grid) {
+ setUserMode(State.MODE_GRID);
+ return true;
+ } else if (id == R.id.menu_list) {
+ setUserMode(State.MODE_LIST);
+ return true;
+ } else if (id == R.id.menu_advanced) {
+ setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this));
+ return true;
+ } else if (id == R.id.menu_file_size) {
+ setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this));
+ return true;
+ } else if (id == R.id.menu_settings) {
+ final RootInfo root = getCurrentRoot();
+ final Intent intent = new Intent(DocumentsContract.ACTION_DOCUMENT_ROOT_SETTINGS);
+ intent.setDataAndType(DocumentsContract.buildRootUri(root.authority, root.rootId),
+ DocumentsContract.Root.MIME_TYPE_ITEM);
+ startActivity(intent);
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ /**
+ * Call this when directory changes. Prior to root fragment update
+ * the (abstract) directoryChanged method will be called.
+ * @param anim
+ */
+ final void onCurrentDirectoryChanged(int anim) {
+ onDirectoryChanged(anim);
+
+ final RootsFragment roots = RootsFragment.get(getFragmentManager());
+ if (roots != null) {
+ roots.onCurrentRootChanged();
+ }
+
+ updateActionBar();
+ invalidateOptionsMenu();
+ }
+
+ final String getCallingPackageMaybeExtra() {
+ final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME);
+ return (extra != null) ? extra : getCallingPackage();
+ }
public static BaseActivity get(Fragment fragment) {
return (BaseActivity) fragment.getActivity();
@@ -169,4 +322,393 @@
}
};
}
+
+ void setDisplayAdvancedDevices(boolean display) {
+ State state = getDisplayState();
+ LocalPreferences.setDisplayAdvancedDevices(this, display);
+ state.showAdvanced = state.forceAdvanced | display;
+ RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
+ invalidateOptionsMenu();
+ }
+
+ void setDisplayFileSize(boolean display) {
+ LocalPreferences.setDisplayFileSize(this, display);
+ getDisplayState().showSize = display;
+ DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged();
+ invalidateOptionsMenu();
+ }
+
+ void onStateChanged() {
+ invalidateOptionsMenu();
+ }
+
+ /**
+ * Set state sort order based on explicit user action.
+ */
+ void setUserSortOrder(int sortOrder) {
+ getDisplayState().userSortOrder = sortOrder;
+ DirectoryFragment.get(getFragmentManager()).onUserSortOrderChanged();
+ }
+
+ /**
+ * Set state mode based on explicit user action.
+ */
+ void setUserMode(int mode) {
+ getDisplayState().userMode = mode;
+ DirectoryFragment.get(getFragmentManager()).onUserModeChanged();
+ }
+
+ void setPending(boolean pending) {
+ final SaveFragment save = SaveFragment.get(getFragmentManager());
+ if (save != null) {
+ save.setPending(pending);
+ }
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle state) {
+ super.onSaveInstanceState(state);
+ state.putParcelable(EXTRA_STATE, getDisplayState());
+ }
+
+ @Override
+ protected void onRestoreInstanceState(Bundle state) {
+ super.onRestoreInstanceState(state);
+ }
+
+ RootInfo getCurrentRoot() {
+ State state = getDisplayState();
+ if (state.stack.root != null) {
+ return state.stack.root;
+ } else {
+ return mRoots.getRecentsRoot();
+ }
+ }
+
+ public DocumentInfo getCurrentDirectory() {
+ return getDisplayState().stack.peek();
+ }
+
+ public Executor getCurrentExecutor() {
+ final DocumentInfo cwd = getCurrentDirectory();
+ if (cwd != null && cwd.authority != null) {
+ return ProviderExecutor.forAuthority(cwd.authority);
+ } else {
+ return AsyncTask.THREAD_POOL_EXECUTOR;
+ }
+ }
+
+ public void onStackPicked(DocumentStack stack) {
+ try {
+ // Update the restored stack to ensure we have freshest data
+ stack.updateDocuments(getContentResolver());
+
+ State state = getDisplayState();
+ state.stack = stack;
+ state.stackTouched = true;
+ onCurrentDirectoryChanged(ANIM_SIDE);
+
+ } catch (FileNotFoundException e) {
+ Log.w(mTag, "Failed to restore stack: " + e);
+ }
+ }
+
+ final class PickRootTask extends AsyncTask<Void, Void, DocumentInfo> {
+ private RootInfo mRoot;
+
+ public PickRootTask(RootInfo root) {
+ mRoot = root;
+ }
+
+ @Override
+ protected DocumentInfo doInBackground(Void... params) {
+ try {
+ final Uri uri = DocumentsContract.buildDocumentUri(
+ mRoot.authority, mRoot.documentId);
+ return DocumentInfo.fromUri(getContentResolver(), uri);
+ } catch (FileNotFoundException e) {
+ Log.w(mTag, "Failed to find root", e);
+ return null;
+ }
+ }
+
+ @Override
+ protected void onPostExecute(DocumentInfo result) {
+ if (result != null) {
+ State state = getDisplayState();
+ state.stack.push(result);
+ state.stackTouched = true;
+ onCurrentDirectoryChanged(ANIM_SIDE);
+ }
+ }
+ }
+
+ final class RestoreStackTask extends AsyncTask<Void, Void, Void> {
+ private volatile boolean mRestoredStack;
+ private volatile boolean mExternal;
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ State state = getDisplayState();
+ RootsCache roots = DocumentsApplication.getRootsCache(BaseActivity.this);
+
+ // Restore last stack for calling package
+ final String packageName = getCallingPackageMaybeExtra();
+ final Cursor cursor = getContentResolver()
+ .query(RecentsProvider.buildResume(packageName), null, null, null, null);
+ try {
+ if (cursor.moveToFirst()) {
+ mExternal = cursor.getInt(cursor.getColumnIndex(ResumeColumns.EXTERNAL)) != 0;
+ final byte[] rawStack = cursor.getBlob(
+ cursor.getColumnIndex(ResumeColumns.STACK));
+ DurableUtils.readFromArray(rawStack, state.stack);
+ mRestoredStack = true;
+ }
+ } catch (IOException e) {
+ Log.w(mTag, "Failed to resume: " + e);
+ } finally {
+ IoUtils.closeQuietly(cursor);
+ }
+
+ if (mRestoredStack) {
+ // Update the restored stack to ensure we have freshest data
+ final Collection<RootInfo> matchingRoots = roots.getMatchingRootsBlocking(state);
+ try {
+ state.stack.updateRoot(matchingRoots);
+ state.stack.updateDocuments(getContentResolver());
+ } catch (FileNotFoundException e) {
+ Log.w(mTag, "Failed to restore stack: " + e);
+ state.stack.reset();
+ mRestoredStack = false;
+ }
+ }
+
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ if (isDestroyed()) return;
+ getDisplayState().restored = true;
+ onCurrentDirectoryChanged(ANIM_NONE);
+
+ onStackRestored(mRestoredStack, mExternal);
+
+ getDisplayState().restored = true;
+ onCurrentDirectoryChanged(ANIM_NONE);
+ }
+ }
+
+ final class ItemSelectedListener implements OnItemSelectedListener {
+
+ boolean mIgnoreNextNavigation;
+
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if (mIgnoreNextNavigation) {
+ mIgnoreNextNavigation = false;
+ return;
+ }
+
+ State state = getDisplayState();
+ while (state.stack.size() > position + 1) {
+ state.stackTouched = true;
+ state.stack.pop();
+ }
+ onCurrentDirectoryChanged(ANIM_UP);
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ // Ignored
+ }
+ }
+
+ /**
+ * Class providing toolbar with runtime access to useful activity data.
+ */
+ final class StackAdapter extends BaseAdapter {
+ @Override
+ public int getCount() {
+ return getDisplayState().stack.size();
+ }
+
+ @Override
+ public DocumentInfo getItem(int position) {
+ State state = getDisplayState();
+ return state.stack.get(state.stack.size() - position - 1);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ if (convertView == null) {
+ convertView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.item_subdir_title, parent, false);
+ }
+
+ final TextView title = (TextView) convertView.findViewById(android.R.id.title);
+ final DocumentInfo doc = getItem(position);
+
+ if (position == 0) {
+ final RootInfo root = getCurrentRoot();
+ title.setText(root.title);
+ } else {
+ title.setText(doc.displayName);
+ }
+
+ return convertView;
+ }
+
+ @Override
+ public View getDropDownView(int position, View convertView, ViewGroup parent) {
+ if (convertView == null) {
+ convertView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.item_subdir, parent, false);
+ }
+
+ final ImageView subdir = (ImageView) convertView.findViewById(R.id.subdir);
+ final TextView title = (TextView) convertView.findViewById(android.R.id.title);
+ final DocumentInfo doc = getItem(position);
+
+ if (position == 0) {
+ final RootInfo root = getCurrentRoot();
+ title.setText(root.title);
+ subdir.setVisibility(View.GONE);
+ } else {
+ title.setText(doc.displayName);
+ subdir.setVisibility(View.VISIBLE);
+ }
+
+ return convertView;
+ }
+ }
+
+ /**
+ * Facade over the various search parts in the menu.
+ */
+ final class SearchManager implements
+ SearchView.OnCloseListener, OnActionExpandListener, OnQueryTextListener {
+
+ private boolean mSearchExpanded;
+ private boolean mIgnoreNextClose;
+ private boolean mIgnoreNextCollapse;
+
+ private MenuItem mMenu;
+ private SearchView mView;
+
+ public void install(MenuItem menu) {
+ assert(mMenu == null);
+ mMenu = menu;
+ mView = (SearchView) menu.getActionView();
+
+ mMenu.setOnActionExpandListener(this);
+ mView.setOnQueryTextListener(this);
+ mView.setOnCloseListener(this);
+ }
+
+ /**
+ * @param root Info about the current directory.
+ */
+ void update(RootInfo root) {
+ if (mMenu == null) {
+ Log.d(mTag, "update called before Search MenuItem installed.");
+ return;
+ }
+
+ State state = getDisplayState();
+ if (state.currentSearch != null) {
+ mMenu.expandActionView();
+
+ mView.setIconified(false);
+ mView.clearFocus();
+ mView.setQuery(state.currentSearch, false);
+ } else {
+ mView.clearFocus();
+ if (!mView.isIconified()) {
+ mIgnoreNextClose = true;
+ mView.setIconified(true);
+ }
+
+ if (mMenu.isActionViewExpanded()) {
+ mIgnoreNextCollapse = true;
+ mMenu.collapseActionView();
+ }
+ }
+
+ showMenu(root != null
+ && ((root.flags & Root.FLAG_SUPPORTS_SEARCH) != 0));
+ }
+
+ void showMenu(boolean visible) {
+ if (mMenu == null) {
+ Log.d(mTag, "showMenu called before Search MenuItem installed.");
+ return;
+ }
+
+ mMenu.setVisible(visible);
+ if (!visible) {
+ getDisplayState().currentSearch = null;
+ }
+ }
+
+ boolean isSearching() {
+ return getDisplayState().currentSearch != null;
+ }
+
+ boolean isExpanded() {
+ return mSearchExpanded;
+ }
+
+ @Override
+ public boolean onClose() {
+ mSearchExpanded = false;
+ if (mIgnoreNextClose) {
+ mIgnoreNextClose = false;
+ return false;
+ }
+
+ getDisplayState().currentSearch = null;
+ onCurrentDirectoryChanged(ANIM_NONE);
+ return false;
+ }
+
+ @Override
+ public boolean onMenuItemActionExpand(MenuItem item) {
+ mSearchExpanded = true;
+ updateActionBar();
+ return true;
+ }
+
+ @Override
+ public boolean onMenuItemActionCollapse(MenuItem item) {
+ mSearchExpanded = false;
+ if (mIgnoreNextCollapse) {
+ mIgnoreNextCollapse = false;
+ return true;
+ }
+
+ getDisplayState().currentSearch = null;
+ onCurrentDirectoryChanged(ANIM_NONE);
+ return true;
+ }
+
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ mSearchExpanded = true;
+ getDisplayState().currentSearch = query;
+ mView.clearFocus();
+ onCurrentDirectoryChanged(ANIM_NONE);
+ return true;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ return false;
+ }
+ }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/CopyService.java b/packages/DocumentsUI/src/com/android/documentsui/CopyService.java
index a9f03b6..2e0bece 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/CopyService.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/CopyService.java
@@ -26,6 +26,7 @@
import android.content.ContentProviderClient;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.CancellationSignal;
@@ -37,12 +38,14 @@
import android.provider.DocumentsContract.Document;
import android.text.format.DateUtils;
import android.util.Log;
+import android.widget.Toast;
import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.DocumentStack;
import libcore.io.IoUtils;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -70,7 +73,7 @@
private volatile boolean mIsCancelled;
// Parameters of the copy job. Requests to an IntentService are serialized so this code only
// needs to deal with one job at a time.
- private final ArrayList<Uri> mFailedFiles;
+ private final ArrayList<DocumentInfo> mFailedFiles;
private long mBatchSize;
private long mBytesCopied;
private long mStartTime;
@@ -88,7 +91,27 @@
public CopyService() {
super("CopyService");
- mFailedFiles = new ArrayList<Uri>();
+ mFailedFiles = new ArrayList<DocumentInfo>();
+ }
+
+ /**
+ * Starts the service for a copy operation.
+ *
+ * @param context Context for the intent.
+ * @param srcDocs A list of src files to copy.
+ * @param dstStack The copy destination stack.
+ */
+ public static void start(Context context, List<DocumentInfo> srcDocs, DocumentStack dstStack) {
+ final Resources res = context.getResources();
+ final Intent copyIntent = new Intent(context, CopyService.class);
+ copyIntent.putParcelableArrayListExtra(
+ EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(srcDocs));
+ copyIntent.putExtra(EXTRA_STACK, (Parcelable) dstStack);
+
+ Toast.makeText(context,
+ res.getQuantityString(R.plurals.copy_begin, srcDocs.size(), srcDocs.size()),
+ Toast.LENGTH_SHORT).show();
+ context.startService(copyIntent);
}
@Override
@@ -360,7 +383,7 @@
if (dstUri == null) {
// If this is a directory, the entire subdir will not be copied over.
Log.e(TAG, "Error while copying " + srcInfo.displayName);
- mFailedFiles.add(srcInfo.derivedUri);
+ mFailedFiles.add(srcInfo);
return;
}
@@ -444,7 +467,12 @@
} catch (IOException e) {
errorOccurred = true;
Log.e(TAG, "Error while copying " + srcUri.toString(), e);
- mFailedFiles.add(srcUri);
+ try {
+ mFailedFiles.add(DocumentInfo.fromUri(getContentResolver(), srcUri));
+ } catch (FileNotFoundException ignore) {
+ Log.w(TAG, "Source file gone: " + srcUri, e);
+ // The source file is gone.
+ }
} finally {
// This also ensures the file descriptors are closed.
IoUtils.closeQuietly(src);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
index 1a17ee0..1f7b41e 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
@@ -56,7 +56,11 @@
final Context context = getActivity();
final ContentResolver resolver = context.getContentResolver();
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ // We need to specify android.R.style.Theme_DeviceDefault_Dialog explicitly,
+ // because the application theme 'DialogWhenReallyLarge' has
+ // fixed window size properties for large screen devices.
+ final AlertDialog.Builder builder = new AlertDialog.Builder(
+ context, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
final View view = dialogInflater.inflate(R.layout.dialog_create_dir, null, false);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index 37a14c6..a789da8 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@ -28,7 +28,6 @@
import static com.android.documentsui.model.DocumentInfo.getCursorInt;
import static com.android.documentsui.model.DocumentInfo.getCursorLong;
import static com.android.documentsui.model.DocumentInfo.getCursorString;
-
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Fragment;
@@ -83,6 +82,7 @@
import com.android.documentsui.ProviderExecutor.Preemptable;
import com.android.documentsui.RecentsProvider.StateColumns;
import com.android.documentsui.model.DocumentInfo;
+import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.RootInfo;
import com.google.android.collect.Lists;
@@ -311,8 +311,9 @@
updateDisplayState();
// When launched into empty recents, show drawer
- if (mType == TYPE_RECENT_OPEN && mAdapter.isEmpty() && !state.stackTouched) {
- ((BaseActivity) context).setRootsDrawerOpen(true);
+ if (mType == TYPE_RECENT_OPEN && mAdapter.isEmpty() && !state.stackTouched &&
+ context instanceof DocumentsActivity) {
+ ((DocumentsActivity) context).setRootsDrawerOpen(true);
}
// Restore any previous instance state
@@ -341,9 +342,6 @@
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
- final Context context = getActivity();
- final Resources res = context.getResources();
-
// There's only one request code right now. Replace this with a switch statement or
// something more scalable when more codes are added.
if (requestCode != REQUEST_COPY_DESTINATION) {
@@ -355,15 +353,8 @@
return;
}
- final List<DocumentInfo> docs = getDisplayState(this).selectedDocumentsForCopy;
- final Intent copyIntent = new Intent(context, CopyService.class);
- copyIntent.putParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(docs));
- copyIntent.putExtra(CopyService.EXTRA_STACK, data.getParcelableExtra(CopyService.EXTRA_STACK));
-
- Toast.makeText(context,
- res.getQuantityString(R.plurals.copy_begin, docs.size(), docs.size()),
- Toast.LENGTH_SHORT).show();
- context.startService(copyIntent);
+ CopyService.start(getActivity(), getDisplayState(this).selectedDocumentsForCopy,
+ (DocumentStack) data.getParcelableExtra(CopyService.EXTRA_STACK));
}
@Override
@@ -503,7 +494,8 @@
open.setVisible(!manageOrBrowse);
share.setVisible(manageOrBrowse);
delete.setVisible(manageOrBrowse);
- copy.setVisible(manageOrBrowse);
+ // Disable copying from the Recents view.
+ copy.setVisible(manageOrBrowse && mType != TYPE_RECENT_OPEN);
return true;
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
index a2a789f..92c9cd1 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
@@ -21,16 +21,17 @@
import static com.android.documentsui.BaseActivity.State.ACTION_GET_CONTENT;
import static com.android.documentsui.BaseActivity.State.ACTION_MANAGE;
import static com.android.documentsui.BaseActivity.State.ACTION_OPEN;
-import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_TREE;
import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_COPY_DESTINATION;
-import static com.android.documentsui.BaseActivity.State.MODE_GRID;
-import static com.android.documentsui.BaseActivity.State.MODE_LIST;
+import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_TREE;
import static com.android.documentsui.DirectoryFragment.ANIM_DOWN;
import static com.android.documentsui.DirectoryFragment.ANIM_NONE;
-import static com.android.documentsui.DirectoryFragment.ANIM_SIDE;
import static com.android.documentsui.DirectoryFragment.ANIM_UP;
+import java.util.Arrays;
+import java.util.List;
+
import android.app.Activity;
+import android.app.Fragment;
import android.app.FragmentManager;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
@@ -42,7 +43,6 @@
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
-import android.database.Cursor;
import android.graphics.Point;
import android.net.Uri;
import android.os.AsyncTask;
@@ -54,51 +54,27 @@
import android.support.v4.widget.DrawerLayout;
import android.support.v4.widget.DrawerLayout.DrawerListener;
import android.util.Log;
-import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.MenuItem.OnActionExpandListener;
import android.view.View;
-import android.view.ViewGroup;
import android.view.WindowManager;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.SearchView;
-import android.widget.SearchView.OnQueryTextListener;
import android.widget.Spinner;
-import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
-import libcore.io.IoUtils;
-
import com.android.documentsui.RecentsProvider.RecentColumns;
import com.android.documentsui.RecentsProvider.ResumeColumns;
import com.android.documentsui.model.DocumentInfo;
-import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.DurableUtils;
import com.android.documentsui.model.RootInfo;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.Executor;
-
public class DocumentsActivity extends BaseActivity {
+ private static final int CODE_FORWARD = 42;
public static final String TAG = "Documents";
- private static final String EXTRA_STATE = "state";
-
- private static final int CODE_FORWARD = 42;
-
private boolean mShowAsDialog;
- private SearchView mSearchView;
-
private Toolbar mToolbar;
private Spinner mToolbarStack;
@@ -110,21 +86,19 @@
private DirectoryContainerView mDirectoryContainer;
- private boolean mIgnoreNextNavigation;
- private boolean mIgnoreNextClose;
- private boolean mIgnoreNextCollapse;
-
- private boolean mSearchExpanded;
-
- private RootsCache mRoots;
private State mState;
+ private ItemSelectedListener mStackListener;
+ private BaseAdapter mStackAdapter;
+
+ public DocumentsActivity() {
+ super(TAG);
+ }
+
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- mRoots = DocumentsApplication.getRootsCache(this);
-
setResult(Activity.RESULT_CANCELED);
setContentView(R.layout.activity);
@@ -157,16 +131,16 @@
mDirectoryContainer = (DirectoryContainerView) findViewById(R.id.container_directory);
- if (icicle != null) {
- mState = icicle.getParcelable(EXTRA_STATE);
- } else {
- buildDefaultState();
- }
+ mState = (icicle != null)
+ ? icicle.<State>getParcelable(EXTRA_STATE)
+ : buildDefaultState();
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setTitleTextAppearance(context,
android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title);
+ mStackAdapter = new StackAdapter();
+ mStackListener = new ItemSelectedListener();
mToolbarStack = (Spinner) findViewById(R.id.stack);
mToolbarStack.setOnItemSelectedListener(mStackListener);
@@ -220,55 +194,57 @@
}
}
- private void buildDefaultState() {
- mState = new State();
+ private State buildDefaultState() {
+ State state = new State();
final Intent intent = getIntent();
final String action = intent.getAction();
if (Intent.ACTION_OPEN_DOCUMENT.equals(action)) {
- mState.action = ACTION_OPEN;
+ state.action = ACTION_OPEN;
} else if (Intent.ACTION_CREATE_DOCUMENT.equals(action)) {
- mState.action = ACTION_CREATE;
+ state.action = ACTION_CREATE;
} else if (Intent.ACTION_GET_CONTENT.equals(action)) {
- mState.action = ACTION_GET_CONTENT;
+ state.action = ACTION_GET_CONTENT;
} else if (Intent.ACTION_OPEN_DOCUMENT_TREE.equals(action)) {
- mState.action = ACTION_OPEN_TREE;
+ state.action = ACTION_OPEN_TREE;
} else if (DocumentsContract.ACTION_MANAGE_ROOT.equals(action)) {
- mState.action = ACTION_MANAGE;
+ state.action = ACTION_MANAGE;
} else if (DocumentsContract.ACTION_BROWSE_DOCUMENT_ROOT.equals(action)) {
- mState.action = ACTION_BROWSE;
+ state.action = ACTION_BROWSE;
} else if (DocumentsIntent.ACTION_OPEN_COPY_DESTINATION.equals(action)) {
- mState.action = ACTION_OPEN_COPY_DESTINATION;
+ state.action = ACTION_OPEN_COPY_DESTINATION;
}
- if (mState.action == ACTION_OPEN || mState.action == ACTION_GET_CONTENT) {
- mState.allowMultiple = intent.getBooleanExtra(
+ if (state.action == ACTION_OPEN || state.action == ACTION_GET_CONTENT) {
+ state.allowMultiple = intent.getBooleanExtra(
Intent.EXTRA_ALLOW_MULTIPLE, false);
}
- if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) {
- mState.acceptMimes = new String[] { "*/*" };
- mState.allowMultiple = true;
+ if (state.action == ACTION_MANAGE || state.action == ACTION_BROWSE) {
+ state.acceptMimes = new String[] { "*/*" };
+ state.allowMultiple = true;
} else if (intent.hasExtra(Intent.EXTRA_MIME_TYPES)) {
- mState.acceptMimes = intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES);
+ state.acceptMimes = intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES);
} else {
- mState.acceptMimes = new String[] { intent.getType() };
+ state.acceptMimes = new String[] { intent.getType() };
}
- mState.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false);
- mState.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false);
- mState.showAdvanced = mState.forceAdvanced
+ state.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false);
+ state.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false);
+ state.showAdvanced = state.forceAdvanced
| LocalPreferences.getDisplayAdvancedDevices(this);
- if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) {
- mState.showSize = true;
+ if (state.action == ACTION_MANAGE || state.action == ACTION_BROWSE) {
+ state.showSize = true;
} else {
- mState.showSize = LocalPreferences.getDisplayFileSize(this);
+ state.showSize = LocalPreferences.getDisplayFileSize(this);
}
- if (mState.action == ACTION_OPEN_COPY_DESTINATION) {
- mState.directoryCopy = intent.getBooleanExtra(
+ if (state.action == ACTION_OPEN_COPY_DESTINATION) {
+ state.directoryCopy = intent.getBooleanExtra(
BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, false);
}
+
+ return state;
}
private class RestoreRootTask extends AsyncTask<Void, Void, RootInfo> {
@@ -290,7 +266,7 @@
mState.restored = true;
if (root != null) {
- onRootPicked(root, true);
+ onRootPicked(root);
} else {
Log.w(TAG, "Failed to find root: " + mRootUri);
finish();
@@ -298,71 +274,55 @@
}
}
- private class RestoreStackTask extends AsyncTask<Void, Void, Void> {
- private volatile boolean mRestoredStack;
- private volatile boolean mExternal;
+ @Override
+ void onStackRestored(boolean restored, boolean external) {
+ // Show drawer when no stack restored, but only when requesting
+ // non-visual content. However, if we last used an external app,
+ // drawer is always shown.
- @Override
- protected Void doInBackground(Void... params) {
- // Restore last stack for calling package
- final String packageName = getCallingPackageMaybeExtra();
- final Cursor cursor = getContentResolver()
- .query(RecentsProvider.buildResume(packageName), null, null, null, null);
- try {
- if (cursor.moveToFirst()) {
- mExternal = cursor.getInt(cursor.getColumnIndex(ResumeColumns.EXTERNAL)) != 0;
- final byte[] rawStack = cursor.getBlob(
- cursor.getColumnIndex(ResumeColumns.STACK));
- DurableUtils.readFromArray(rawStack, mState.stack);
- mRestoredStack = true;
- }
- } catch (IOException e) {
- Log.w(TAG, "Failed to resume: " + e);
- } finally {
- IoUtils.closeQuietly(cursor);
- }
-
- if (mRestoredStack) {
- // Update the restored stack to ensure we have freshest data
- final Collection<RootInfo> matchingRoots = mRoots.getMatchingRootsBlocking(mState);
- try {
- mState.stack.updateRoot(matchingRoots);
- mState.stack.updateDocuments(getContentResolver());
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to restore stack: " + e);
- mState.stack.reset();
- mRestoredStack = false;
- }
- }
-
- return null;
+ boolean showDrawer = false;
+ if (!restored) {
+ showDrawer = true;
+ }
+ if (MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES, mState.acceptMimes)) {
+ showDrawer = false;
+ }
+ if (external && mState.action == ACTION_GET_CONTENT) {
+ showDrawer = true;
}
- @Override
- protected void onPostExecute(Void result) {
- if (isDestroyed()) return;
- mState.restored = true;
+ if (showDrawer) {
+ setRootsDrawerOpen(true);
+ }
+ }
- // Show drawer when no stack restored, but only when requesting
- // non-visual content. However, if we last used an external app,
- // drawer is always shown.
+ public void onAppPicked(ResolveInfo info) {
+ final Intent intent = new Intent(getIntent());
+ intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+ intent.setComponent(new ComponentName(
+ info.activityInfo.applicationInfo.packageName, info.activityInfo.name));
+ startActivityForResult(intent, CODE_FORWARD);
+ }
- boolean showDrawer = false;
- if (!mRestoredStack) {
- showDrawer = true;
- }
- if (MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES, mState.acceptMimes)) {
- showDrawer = false;
- }
- if (mExternal && mState.action == ACTION_GET_CONTENT) {
- showDrawer = true;
- }
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ Log.d(TAG, "onActivityResult() code=" + resultCode);
- if (showDrawer) {
- setRootsDrawerOpen(true);
- }
+ // Only relay back results when not canceled; otherwise stick around to
+ // let the user pick another app/backend.
+ if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) {
- onCurrentDirectoryChanged(ANIM_NONE);
+ // Remember that we last picked via external app
+ final String packageName = getCallingPackageMaybeExtra();
+ final ContentValues values = new ContentValues();
+ values.put(ResumeColumns.EXTERNAL, 1);
+ getContentResolver().insert(RecentsProvider.buildResume(packageName), values);
+
+ // Pass back result to original caller
+ setResult(resultCode, data);
+ finish();
+ } else {
+ super.onActivityResult(requestCode, resultCode, data);
}
}
@@ -397,7 +357,6 @@
updateActionBar();
}
- @Override
public void setRootsDrawerOpen(boolean open) {
if (!mShowAsDialog) {
if (open) {
@@ -416,6 +375,7 @@
}
}
+ @Override
public void updateActionBar() {
if (mRootsToolbar != null) {
if (mState.action == ACTION_OPEN ||
@@ -447,7 +407,7 @@
});
}
- if (mSearchExpanded) {
+ if (mSearchManager.isExpanded()) {
mToolbar.setTitle(null);
mToolbarStack.setVisibility(View.GONE);
mToolbarStack.setAdapter(null);
@@ -461,7 +421,7 @@
mToolbarStack.setVisibility(View.VISIBLE);
mToolbarStack.setAdapter(mStackAdapter);
- mIgnoreNextNavigation = true;
+ mStackListener.mIgnoreNextNavigation = true;
mToolbarStack.setSelection(mStackAdapter.getCount() - 1);
}
}
@@ -469,79 +429,13 @@
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- getMenuInflater().inflate(R.menu.activity, menu);
+ boolean showMenu = super.onCreateOptionsMenu(menu);
// Most actions are visible when showing as dialog
if (mShowAsDialog) {
- for (int i = 0; i < menu.size(); i++) {
- final MenuItem item = menu.getItem(i);
- switch (item.getItemId()) {
- case R.id.menu_advanced:
- case R.id.menu_file_size:
- break;
- default:
- item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- }
- }
+ expandMenus(menu);
}
-
- final MenuItem searchMenu = menu.findItem(R.id.menu_search);
- mSearchView = (SearchView) searchMenu.getActionView();
- mSearchView.setOnQueryTextListener(new OnQueryTextListener() {
- @Override
- public boolean onQueryTextSubmit(String query) {
- mSearchExpanded = true;
- mState.currentSearch = query;
- mSearchView.clearFocus();
- onCurrentDirectoryChanged(ANIM_NONE);
- return true;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
- });
-
- searchMenu.setOnActionExpandListener(new OnActionExpandListener() {
- @Override
- public boolean onMenuItemActionExpand(MenuItem item) {
- mSearchExpanded = true;
- updateActionBar();
- return true;
- }
-
- @Override
- public boolean onMenuItemActionCollapse(MenuItem item) {
- mSearchExpanded = false;
- if (mIgnoreNextCollapse) {
- mIgnoreNextCollapse = false;
- return true;
- }
-
- mState.currentSearch = null;
- onCurrentDirectoryChanged(ANIM_NONE);
- return true;
- }
- });
-
- mSearchView.setOnCloseListener(new SearchView.OnCloseListener() {
- @Override
- public boolean onClose() {
- mSearchExpanded = false;
- if (mIgnoreNextClose) {
- mIgnoreNextClose = false;
- return false;
- }
-
- mState.currentSearch = null;
- onCurrentDirectoryChanged(ANIM_NONE);
- return false;
- }
- });
-
- return true;
+ return showMenu;
}
@Override
@@ -554,7 +448,6 @@
final DocumentInfo cwd = getCurrentDirectory();
final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
- final MenuItem search = menu.findItem(R.id.menu_search);
final MenuItem sort = menu.findItem(R.id.menu_sort);
final MenuItem sortSize = menu.findItem(R.id.menu_sort_size);
final MenuItem grid = menu.findItem(R.id.menu_grid);
@@ -564,36 +457,22 @@
final MenuItem settings = menu.findItem(R.id.menu_settings);
sort.setVisible(cwd != null);
- grid.setVisible(mState.derivedMode != MODE_GRID);
- list.setVisible(mState.derivedMode != MODE_LIST);
+ grid.setVisible(mState.derivedMode != State.MODE_GRID);
+ list.setVisible(mState.derivedMode != State.MODE_LIST);
- if (mState.currentSearch != null) {
- // Search uses backend ranking; no sorting
- sort.setVisible(false);
+ mSearchManager.update(root);
- search.expandActionView();
-
- mSearchView.setIconified(false);
- mSearchView.clearFocus();
- mSearchView.setQuery(mState.currentSearch, false);
- } else {
- mIgnoreNextClose = true;
- mSearchView.setIconified(true);
- mSearchView.clearFocus();
-
- mIgnoreNextCollapse = true;
- search.collapseActionView();
- }
+ // Search uses backend ranking; no sorting
+ sort.setVisible(mSearchManager.isSearching());
// Only sort by size when visible
sortSize.setVisible(mState.showSize);
- boolean searchVisible;
boolean fileSizeVisible = !(mState.action == ACTION_MANAGE
|| mState.action == ACTION_BROWSE);
if (mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) {
createDir.setVisible(cwd != null && cwd.isCreateSupported());
- searchVisible = false;
+ mSearchManager.showMenu(false);
// No display options in recent directories
if (cwd == null) {
@@ -607,14 +486,8 @@
}
} else {
createDir.setVisible(false);
-
- searchVisible = root != null
- && ((root.flags & Root.FLAG_SUPPORTS_SEARCH) != 0);
}
- // TODO: close any search in-progress when hiding
- search.setVisible(searchVisible);
-
advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
? R.string.menu_advanced_hide : R.string.menu_advanced_show);
fileSize.setTitle(LocalPreferences.getDisplayFileSize(this)
@@ -634,90 +507,7 @@
if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
-
- final int id = item.getItemId();
- if (id == android.R.id.home) {
- onBackPressed();
- return true;
- } else if (id == R.id.menu_create_dir) {
- CreateDirectoryFragment.show(getFragmentManager());
- return true;
- } else if (id == R.id.menu_search) {
- return false;
- } else if (id == R.id.menu_sort_name) {
- setUserSortOrder(State.SORT_ORDER_DISPLAY_NAME);
- return true;
- } else if (id == R.id.menu_sort_date) {
- setUserSortOrder(State.SORT_ORDER_LAST_MODIFIED);
- return true;
- } else if (id == R.id.menu_sort_size) {
- setUserSortOrder(State.SORT_ORDER_SIZE);
- return true;
- } else if (id == R.id.menu_grid) {
- setUserMode(State.MODE_GRID);
- return true;
- } else if (id == R.id.menu_list) {
- setUserMode(State.MODE_LIST);
- return true;
- } else if (id == R.id.menu_advanced) {
- setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this));
- return true;
- } else if (id == R.id.menu_file_size) {
- setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this));
- return true;
- } else if (id == R.id.menu_settings) {
- final RootInfo root = getCurrentRoot();
- final Intent intent = new Intent(DocumentsContract.ACTION_DOCUMENT_ROOT_SETTINGS);
- intent.setDataAndType(DocumentsContract.buildRootUri(root.authority, root.rootId),
- DocumentsContract.Root.MIME_TYPE_ITEM);
- startActivity(intent);
- return true;
- } else {
- return super.onOptionsItemSelected(item);
- }
- }
-
- private void setDisplayAdvancedDevices(boolean display) {
- LocalPreferences.setDisplayAdvancedDevices(this, display);
- mState.showAdvanced = mState.forceAdvanced | display;
- RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
- invalidateOptionsMenu();
- }
-
- private void setDisplayFileSize(boolean display) {
- LocalPreferences.setDisplayFileSize(this, display);
- mState.showSize = display;
- DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged();
- invalidateOptionsMenu();
- }
-
- @Override
- public void onStateChanged() {
- invalidateOptionsMenu();
- }
-
- /**
- * Set state sort order based on explicit user action.
- */
- private void setUserSortOrder(int sortOrder) {
- mState.userSortOrder = sortOrder;
- DirectoryFragment.get(getFragmentManager()).onUserSortOrderChanged();
- }
-
- /**
- * Set state mode based on explicit user action.
- */
- private void setUserMode(int mode) {
- mState.userMode = mode;
- DirectoryFragment.get(getFragmentManager()).onUserModeChanged();
- }
-
- @Override
- public void setPending(boolean pending) {
- final SaveFragment save = SaveFragment.get(getFragmentManager());
- if (save != null) {
- save.setPending(pending);
- }
+ return super.onOptionsItemSelected(item);
}
@Override
@@ -740,131 +530,12 @@
}
@Override
- protected void onSaveInstanceState(Bundle state) {
- super.onSaveInstanceState(state);
- state.putParcelable(EXTRA_STATE, mState);
- }
-
- @Override
- protected void onRestoreInstanceState(Bundle state) {
- super.onRestoreInstanceState(state);
- }
-
- private BaseAdapter mStackAdapter = new BaseAdapter() {
- @Override
- public int getCount() {
- return mState.stack.size();
- }
-
- @Override
- public DocumentInfo getItem(int position) {
- return mState.stack.get(mState.stack.size() - position - 1);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.item_subdir_title, parent, false);
- }
-
- final TextView title = (TextView) convertView.findViewById(android.R.id.title);
- final DocumentInfo doc = getItem(position);
-
- if (position == 0) {
- final RootInfo root = getCurrentRoot();
- title.setText(root.title);
- } else {
- title.setText(doc.displayName);
- }
-
- return convertView;
- }
-
- @Override
- public View getDropDownView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.item_subdir, parent, false);
- }
-
- final ImageView subdir = (ImageView) convertView.findViewById(R.id.subdir);
- final TextView title = (TextView) convertView.findViewById(android.R.id.title);
- final DocumentInfo doc = getItem(position);
-
- if (position == 0) {
- final RootInfo root = getCurrentRoot();
- title.setText(root.title);
- subdir.setVisibility(View.GONE);
- } else {
- title.setText(doc.displayName);
- subdir.setVisibility(View.VISIBLE);
- }
-
- return convertView;
- }
- };
-
- private OnItemSelectedListener mStackListener = new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- if (mIgnoreNextNavigation) {
- mIgnoreNextNavigation = false;
- return;
- }
-
- while (mState.stack.size() > position + 1) {
- mState.stackTouched = true;
- mState.stack.pop();
- }
- onCurrentDirectoryChanged(ANIM_UP);
- }
-
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- // Ignored
- }
- };
-
- @Override
- public RootInfo getCurrentRoot() {
- if (mState.stack.root != null) {
- return mState.stack.root;
- } else {
- return mRoots.getRecentsRoot();
- }
- }
-
- @Override
- public DocumentInfo getCurrentDirectory() {
- return mState.stack.peek();
- }
-
- private String getCallingPackageMaybeExtra() {
- final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME);
- return (extra != null) ? extra : getCallingPackage();
- }
-
- public Executor getCurrentExecutor() {
- final DocumentInfo cwd = getCurrentDirectory();
- if (cwd != null && cwd.authority != null) {
- return ProviderExecutor.forAuthority(cwd.authority);
- } else {
- return AsyncTask.THREAD_POOL_EXECUTOR;
- }
- }
-
- @Override
public State getDisplayState() {
return mState;
}
- private void onCurrentDirectoryChanged(int anim) {
+ @Override
+ void onDirectoryChanged(int anim) {
final FragmentManager fm = getFragmentManager();
final RootInfo root = getCurrentRoot();
final DocumentInfo cwd = getCurrentDirectory();
@@ -883,7 +554,7 @@
// Start recents in grid when requesting visual things
final boolean visualMimes = MimePredicate.mimeMatches(
MimePredicate.VISUAL_MIMES, mState.acceptMimes);
- mState.userMode = visualMimes ? MODE_GRID : MODE_LIST;
+ mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST;
mState.derivedMode = mState.userMode;
}
} else {
@@ -913,108 +584,20 @@
pick.setPickTarget(mState.action, cwd, displayName);
}
}
+ }
- final RootsFragment roots = RootsFragment.get(fm);
- if (roots != null) {
- roots.onCurrentRootChanged();
- }
+ void onSaveRequested(DocumentInfo replaceTarget) {
+ new ExistingFinishTask(replaceTarget.derivedUri).executeOnExecutor(getCurrentExecutor());
+ }
- updateActionBar();
- invalidateOptionsMenu();
- dumpStack();
+ void onSaveRequested(String mimeType, String displayName) {
+ new CreateFinishTask(mimeType, displayName).executeOnExecutor(getCurrentExecutor());
}
@Override
- public void onStackPicked(DocumentStack stack) {
- try {
- // Update the restored stack to ensure we have freshest data
- stack.updateDocuments(getContentResolver());
-
- mState.stack = stack;
- mState.stackTouched = true;
- onCurrentDirectoryChanged(ANIM_SIDE);
-
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to restore stack: " + e);
- }
- }
-
- @Override
- public void onRootPicked(RootInfo root, boolean closeDrawer) {
- // Clear entire backstack and start in new root
- mState.stack.root = root;
- mState.stack.clear();
- mState.stackTouched = true;
-
- if (!mRoots.isRecentsRoot(root)) {
- new PickRootTask(root).executeOnExecutor(getCurrentExecutor());
- } else {
- onCurrentDirectoryChanged(ANIM_SIDE);
- }
-
- if (closeDrawer) {
- setRootsDrawerOpen(false);
- }
- }
-
- private class PickRootTask extends AsyncTask<Void, Void, DocumentInfo> {
- private RootInfo mRoot;
-
- public PickRootTask(RootInfo root) {
- mRoot = root;
- }
-
- @Override
- protected DocumentInfo doInBackground(Void... params) {
- try {
- final Uri uri = DocumentsContract.buildDocumentUri(
- mRoot.authority, mRoot.documentId);
- return DocumentInfo.fromUri(getContentResolver(), uri);
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to find root", e);
- return null;
- }
- }
-
- @Override
- protected void onPostExecute(DocumentInfo result) {
- if (result != null) {
- mState.stack.push(result);
- mState.stackTouched = true;
- onCurrentDirectoryChanged(ANIM_SIDE);
- }
- }
- }
-
- @Override
- public void onAppPicked(ResolveInfo info) {
- final Intent intent = new Intent(getIntent());
- intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_FORWARD_RESULT);
- intent.setComponent(new ComponentName(
- info.activityInfo.applicationInfo.packageName, info.activityInfo.name));
- startActivityForResult(intent, CODE_FORWARD);
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- Log.d(TAG, "onActivityResult() code=" + resultCode);
-
- // Only relay back results when not canceled; otherwise stick around to
- // let the user pick another app/backend.
- if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) {
-
- // Remember that we last picked via external app
- final String packageName = getCallingPackageMaybeExtra();
- final ContentValues values = new ContentValues();
- values.put(ResumeColumns.EXTERNAL, 1);
- getContentResolver().insert(RecentsProvider.buildResume(packageName), values);
-
- // Pass back result to original caller
- setResult(resultCode, data);
- finish();
- } else {
- super.onActivityResult(requestCode, resultCode, data);
- }
+ void onRootPicked(RootInfo root) {
+ super.onRootPicked(root);
+ setRootsDrawerOpen(false);
}
@Override
@@ -1076,17 +659,6 @@
}
}
- @Override
- public void onSaveRequested(DocumentInfo replaceTarget) {
- new ExistingFinishTask(replaceTarget.derivedUri).executeOnExecutor(getCurrentExecutor());
- }
-
- @Override
- public void onSaveRequested(String mimeType, String displayName) {
- new CreateFinishTask(mimeType, displayName).executeOnExecutor(getCurrentExecutor());
- }
-
- @Override
public void onPickRequested(DocumentInfo pickTarget) {
Uri result;
if (mState.action == ACTION_OPEN_TREE) {
@@ -1101,7 +673,8 @@
new PickFinishTask(result).executeOnExecutor(getCurrentExecutor());
}
- private void saveStackBlocking() {
+ @Override
+ void saveStackBlocking() {
final ContentResolver resolver = getContentResolver();
final ContentValues values = new ContentValues();
@@ -1124,7 +697,8 @@
resolver.insert(RecentsProvider.buildResume(packageName), values);
}
- private void onFinished(Uri... uris) {
+ @Override
+ void onTaskFinished(Uri... uris) {
Log.d(TAG, "onFinished() " + Arrays.toString(uris));
final Intent intent = new Intent();
@@ -1159,7 +733,52 @@
finish();
}
- private class CreateFinishTask extends AsyncTask<Void, Void, Uri> {
+ public static DocumentsActivity get(Fragment fragment) {
+ return (DocumentsActivity) fragment.getActivity();
+ }
+
+ private final class PickFinishTask extends AsyncTask<Void, Void, Void> {
+ private final Uri mUri;
+
+ public PickFinishTask(Uri uri) {
+ mUri = uri;
+ }
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ saveStackBlocking();
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ onTaskFinished(mUri);
+ }
+ }
+
+ final class ExistingFinishTask extends AsyncTask<Void, Void, Void> {
+ private final Uri[] mUris;
+
+ public ExistingFinishTask(Uri... uris) {
+ mUris = uris;
+ }
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ saveStackBlocking();
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ onTaskFinished(mUris);
+ }
+ }
+
+ /**
+ * Task that creates a new document in the background.
+ */
+ final class CreateFinishTask extends AsyncTask<Void, Void, Uri> {
private final String mMimeType;
private final String mDisplayName;
@@ -1201,7 +820,7 @@
@Override
protected void onPostExecute(Uri result) {
if (result != null) {
- onFinished(result);
+ onTaskFinished(result);
} else {
Toast.makeText(DocumentsActivity.this, R.string.save_error, Toast.LENGTH_SHORT)
.show();
@@ -1210,50 +829,4 @@
setPending(false);
}
}
-
- private class ExistingFinishTask extends AsyncTask<Void, Void, Void> {
- private final Uri[] mUris;
-
- public ExistingFinishTask(Uri... uris) {
- mUris = uris;
- }
-
- @Override
- protected Void doInBackground(Void... params) {
- saveStackBlocking();
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- onFinished(mUris);
- }
- }
-
- private class PickFinishTask extends AsyncTask<Void, Void, Void> {
- private final Uri mUri;
-
- public PickFinishTask(Uri uri) {
- mUri = uri;
- }
-
- @Override
- protected Void doInBackground(Void... params) {
- saveStackBlocking();
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- onFinished(mUri);
- }
- }
-
- private void dumpStack() {
- Log.d(TAG, "Current stack: ");
- Log.d(TAG, " * " + mState.stack.root);
- for (DocumentInfo doc : mState.stack) {
- Log.d(TAG, " +-- " + doc);
- }
- }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java b/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java
index 1748c9c..00b0f78 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java
@@ -20,6 +20,7 @@
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
+import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.DialogInterface;
@@ -27,7 +28,9 @@
import android.os.Bundle;
import android.text.Html;
+import com.android.documentsui.CopyService;
import com.android.documentsui.model.DocumentInfo;
+import com.android.documentsui.model.DocumentStack;
import java.io.FileNotFoundException;
import java.util.ArrayList;
@@ -40,9 +43,10 @@
private static final String TAG = "FailureDialogFragment";
private int mFailure;
- private ArrayList<Uri> mFailedSrcList;
+ private ArrayList<DocumentInfo> mFailedSrcList;
- public static void show(FragmentManager fm, int failure, ArrayList<Uri> failedSrcList) {
+ public static void show(FragmentManager fm, int failure,
+ ArrayList<DocumentInfo> failedSrcList, DocumentStack dstStack) {
// TODO: Add support for other failures than copy.
if (failure != CopyService.FAILURE_COPY) {
return;
@@ -62,7 +66,11 @@
@Override
public void onClick(DialogInterface dialog, int whichButton) {
- // TODO: Pass mFailure and mFailedSrcList to the parent fragment.
+ if (whichButton == DialogInterface.BUTTON_POSITIVE) {
+ CopyService.start(getActivity(), mFailedSrcList,
+ (DocumentStack) getActivity().getIntent().getParcelableExtra(
+ CopyService.EXTRA_STACK));
+ }
}
@Override
@@ -73,27 +81,17 @@
mFailedSrcList = getArguments().getParcelableArrayList(CopyService.EXTRA_SRC_LIST);
final StringBuilder list = new StringBuilder("<p>");
- for (Uri documentUri : mFailedSrcList) {
- try {
- final DocumentInfo documentInfo = DocumentInfo.fromUri(
- getActivity().getContentResolver(), documentUri);
- list.append(String.format("• %s<br>", documentInfo.displayName));
- }
- catch (FileNotFoundException ignore) {
- // Source file most probably gone.
- }
+ for (DocumentInfo documentInfo : mFailedSrcList) {
+ list.append(String.format("• %s<br>", documentInfo.displayName));
}
list.append("</p>");
final String message = String.format(getString(R.string.copy_failure_alert_content),
list.toString());
return new AlertDialog.Builder(getActivity())
- .setTitle(getString(R.string.copy_failure_alert_title))
.setMessage(Html.fromHtml(message))
- // TODO: Implement retrying the copy operation.
.setPositiveButton(R.string.retry, this)
.setNegativeButton(android.R.string.cancel, this)
- .setIcon(android.R.drawable.ic_dialog_alert)
.create();
}
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java
index 7ea51b9..e899379 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java
@@ -75,7 +75,7 @@
private View.OnClickListener mPickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
- final BaseActivity activity = BaseActivity.get(PickFragment.this);
+ final DocumentsActivity activity = DocumentsActivity.get(PickFragment.this);
activity.onPickRequested(mPickTarget);
}
};
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java
index 26aecc5..e11d7d9 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java
@@ -109,8 +109,9 @@
mAdapter.swapStacks(data);
// When launched into empty recents, show drawer
- if (mAdapter.isEmpty() && !state.stackTouched) {
- ((BaseActivity) context).setRootsDrawerOpen(true);
+ if (mAdapter.isEmpty() && !state.stackTouched &&
+ context instanceof DocumentsActivity) {
+ ((DocumentsActivity) context).setRootsDrawerOpen(true);
}
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index ed5e123..fd67a77 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -174,11 +174,12 @@
private OnItemClickListener mItemListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- final BaseActivity activity = BaseActivity.get(RootsFragment.this);
- final Item item = mAdapter.getItem(position);
+ Item item = mAdapter.getItem(position);
if (item instanceof RootItem) {
- activity.onRootPicked(((RootItem) item).root, true);
+ BaseActivity activity = BaseActivity.get(RootsFragment.this);
+ activity.onRootPicked(((RootItem) item).root);
} else if (item instanceof AppItem) {
+ DocumentsActivity activity = DocumentsActivity.get(RootsFragment.this);
activity.onAppPicked(((AppItem) item).info);
} else {
throw new IllegalStateException("Unknown root: " + item);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
index a13fccc..ce98db2 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
@@ -113,7 +113,7 @@
private View.OnClickListener mSaveListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
- final BaseActivity activity = BaseActivity.get(SaveFragment.this);
+ final DocumentsActivity activity = DocumentsActivity.get(SaveFragment.this);
if (mReplaceTarget != null) {
activity.onSaveRequested(mReplaceTarget);
} else {
diff --git a/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java b/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java
index 976f21d..cad277d 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java
@@ -16,50 +16,29 @@
package com.android.documentsui;
-
import static com.android.documentsui.DirectoryFragment.ANIM_DOWN;
import static com.android.documentsui.DirectoryFragment.ANIM_NONE;
-import static com.android.documentsui.DirectoryFragment.ANIM_SIDE;
import static com.android.documentsui.DirectoryFragment.ANIM_UP;
import android.app.Activity;
-import android.app.Fragment;
import android.app.FragmentManager;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
-import android.content.ComponentName;
-import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.ResolveInfo;
-import android.content.res.Resources;
-import android.database.Cursor;
import android.graphics.Point;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Debug;
import android.provider.DocumentsContract;
-import android.support.v4.app.ActionBarDrawerToggle;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v4.widget.DrawerLayout.DrawerListener;
+import android.provider.DocumentsContract.Root;
import android.util.Log;
-import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.MenuItem.OnActionExpandListener;
import android.view.View;
-import android.view.ViewGroup;
import android.view.WindowManager;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.SearchView;
-import android.widget.SearchView.OnQueryTextListener;
import android.widget.Spinner;
-import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
@@ -70,77 +49,49 @@
import com.android.documentsui.model.DurableUtils;
import com.android.documentsui.model.RootInfo;
-import libcore.io.IoUtils;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.List;
-import java.util.concurrent.Executor;
+/**
+ * Activity providing a directly launchable file management activity.
+ */
public class StandaloneActivity extends BaseActivity {
public static final String TAG = "StandaloneFileManagement";
- private static final String EXTRA_STATE = "state";
-
- private static final int CODE_FORWARD = 42;
-
- private SearchView mSearchView;
-
private Toolbar mToolbar;
private Spinner mToolbarStack;
-
private Toolbar mRootsToolbar;
-
- private ActionBarDrawerToggle mDrawerToggle;
-
private DirectoryContainerView mDirectoryContainer;
-
- private boolean mIgnoreNextNavigation;
- private boolean mIgnoreNextClose;
- private boolean mIgnoreNextCollapse;
-
- private boolean mSearchExpanded;
-
- private RootsCache mRoots;
private State mState;
+ private ItemSelectedListener mStackListener;
+ private BaseAdapter mStackAdapter;
+
+ public StandaloneActivity() {
+ super(TAG);
+ }
@Override
public void onCreate(Bundle icicle) {
- // Debug.waitForDebugger();
super.onCreate(icicle);
- mRoots = DocumentsApplication.getRootsCache(this);
-
setResult(Activity.RESULT_CANCELED);
setContentView(R.layout.activity);
final Context context = this;
- final Resources res = getResources();
-
- // Strongly define our horizontal dimension; we leave vertical as
- final WindowManager.LayoutParams a = getWindow().getAttributes();
-
- final Point size = new Point();
- getWindowManager().getDefaultDisplay().getSize(size);
- // a.width = (int) res.getFraction(R.dimen.dialog_width, size.x, size.x);
-
- getWindow().setAttributes(a);
mDirectoryContainer = (DirectoryContainerView) findViewById(R.id.container_directory);
- if (icicle != null) {
- mState = icicle.getParcelable(EXTRA_STATE);
- } else {
- buildDefaultState();
- }
+ mState = (icicle != null)
+ ? icicle.<State>getParcelable(EXTRA_STATE)
+ : buildDefaultState();
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setTitleTextAppearance(context,
android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title);
+ mStackAdapter = new StackAdapter();
+ mStackListener = new ItemSelectedListener();
mToolbarStack = (Spinner) findViewById(R.id.stack);
mToolbarStack.setOnItemSelectedListener(mStackListener);
@@ -155,99 +106,48 @@
RootsFragment.show(getFragmentManager(), null);
if (!mState.restored) {
new RestoreStackTask().execute();
+
+ // Show a failure dialog if there was a failed operation.
final Intent intent = getIntent();
+ final DocumentStack dstStack = intent.getParcelableExtra(CopyService.EXTRA_STACK);
final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0);
if (failure != 0) {
- final ArrayList<Uri> failedSrcList = intent.getParcelableArrayListExtra(
- CopyService.EXTRA_SRC_LIST);
- FailureDialogFragment.show(getFragmentManager(), failure, failedSrcList);
+ final ArrayList<DocumentInfo> failedSrcList =
+ intent.getParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST);
+ FailureDialogFragment.show(getFragmentManager(), failure, failedSrcList, dstStack);
}
} else {
onCurrentDirectoryChanged(ANIM_NONE);
}
}
- private void buildDefaultState() {
- mState = new State();
+ private State buildDefaultState() {
+ State state = new State();
final Intent intent = getIntent();
- mState.action = State.ACTION_BROWSE_ALL;
- mState.acceptMimes = new String[] { "*/*" };
- mState.allowMultiple = true;
- mState.acceptMimes = new String[] { intent.getType() };
- mState.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false);
- mState.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false);
- mState.showAdvanced = mState.forceAdvanced
+ state.action = State.ACTION_BROWSE_ALL;
+ state.acceptMimes = new String[] { "*/*" };
+ state.allowMultiple = true;
+ state.acceptMimes = new String[] { intent.getType() };
+ state.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false);
+ state.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false);
+ state.showAdvanced = state.forceAdvanced
| LocalPreferences.getDisplayAdvancedDevices(this);
- mState.showSize = true;
+ state.showSize = true;
final DocumentStack stack = intent.getParcelableExtra(CopyService.EXTRA_STACK);
if (stack != null)
- mState.stack = stack;
- }
+ state.stack = stack;
- private class RestoreStackTask extends AsyncTask<Void, Void, Void> {
- private volatile boolean mRestoredStack;
- private volatile boolean mExternal;
-
- @Override
- protected Void doInBackground(Void... params) {
- // Restore last stack for calling package
- final String packageName = getCallingPackageMaybeExtra();
- final Cursor cursor = getContentResolver()
- .query(RecentsProvider.buildResume(packageName), null, null, null, null);
- try {
- if (cursor.moveToFirst()) {
- mExternal = cursor.getInt(cursor.getColumnIndex(ResumeColumns.EXTERNAL)) != 0;
- final byte[] rawStack = cursor.getBlob(
- cursor.getColumnIndex(ResumeColumns.STACK));
- DurableUtils.readFromArray(rawStack, mState.stack);
- mRestoredStack = true;
- }
- } catch (IOException e) {
- Log.w(TAG, "Failed to resume: " + e);
- } finally {
- IoUtils.closeQuietly(cursor);
- }
-
- if (mRestoredStack) {
- // Update the restored stack to ensure we have freshest data
- final Collection<RootInfo> matchingRoots = mRoots.getMatchingRootsBlocking(mState);
- try {
- mState.stack.updateRoot(matchingRoots);
- mState.stack.updateDocuments(getContentResolver());
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to restore stack: " + e);
- mState.stack.reset();
- mRestoredStack = false;
- }
- }
-
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- if (isDestroyed()) return;
- mState.restored = true;
- onCurrentDirectoryChanged(ANIM_NONE);
- }
+ return state;
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
- if (mDrawerToggle != null) {
- mDrawerToggle.syncState();
- }
updateActionBar();
}
@Override
- public void setRootsDrawerOpen(boolean open) {
- Log.w(TAG, "Trying to change state of roots drawer to > " + (open ? "open" : "closed"));
- // throw new UnsupportedOperationException();
- }
-
public void updateActionBar() {
final RootInfo root = getCurrentRoot();
mToolbar.setNavigationIcon(
@@ -255,7 +155,7 @@
mToolbar.setNavigationContentDescription(R.string.drawer_open);
mToolbar.setNavigationOnClickListener(null);
- if (mSearchExpanded) {
+ if (mSearchManager.isExpanded()) {
mToolbar.setTitle(null);
mToolbarStack.setVisibility(View.GONE);
mToolbarStack.setAdapter(null);
@@ -269,7 +169,7 @@
mToolbarStack.setVisibility(View.VISIBLE);
mToolbarStack.setAdapter(mStackAdapter);
- mIgnoreNextNavigation = true;
+ mStackListener.mIgnoreNextNavigation = true;
mToolbarStack.setSelection(mStackAdapter.getCount() - 1);
}
}
@@ -277,220 +177,57 @@
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- getMenuInflater().inflate(R.menu.activity, menu);
+ boolean showMenu = super.onCreateOptionsMenu(menu);
- for (int i = 0; i < menu.size(); i++) {
- final MenuItem item = menu.getItem(i);
- switch (item.getItemId()) {
- case R.id.menu_advanced:
- case R.id.menu_file_size:
- break;
- default:
- item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- }
- }
-
- final MenuItem searchMenu = menu.findItem(R.id.menu_search);
- mSearchView = (SearchView) searchMenu.getActionView();
- mSearchView.setOnQueryTextListener(new OnQueryTextListener() {
- @Override
- public boolean onQueryTextSubmit(String query) {
- mSearchExpanded = true;
- mState.currentSearch = query;
- mSearchView.clearFocus();
- onCurrentDirectoryChanged(ANIM_NONE);
- return true;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
- });
-
- searchMenu.setOnActionExpandListener(new OnActionExpandListener() {
- @Override
- public boolean onMenuItemActionExpand(MenuItem item) {
- mSearchExpanded = true;
- updateActionBar();
- return true;
- }
-
- @Override
- public boolean onMenuItemActionCollapse(MenuItem item) {
- mSearchExpanded = false;
- if (mIgnoreNextCollapse) {
- mIgnoreNextCollapse = false;
- return true;
- }
-
- mState.currentSearch = null;
- onCurrentDirectoryChanged(ANIM_NONE);
- return true;
- }
- });
-
- mSearchView.setOnCloseListener(new SearchView.OnCloseListener() {
- @Override
- public boolean onClose() {
- mSearchExpanded = false;
- if (mIgnoreNextClose) {
- mIgnoreNextClose = false;
- return false;
- }
-
- mState.currentSearch = null;
- onCurrentDirectoryChanged(ANIM_NONE);
- return false;
- }
- });
-
- return true;
+ expandMenus(menu);
+ return showMenu;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
- final FragmentManager fm = getFragmentManager();
-
final RootInfo root = getCurrentRoot();
final DocumentInfo cwd = getCurrentDirectory();
final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
- final MenuItem search = menu.findItem(R.id.menu_search);
final MenuItem sort = menu.findItem(R.id.menu_sort);
final MenuItem sortSize = menu.findItem(R.id.menu_sort_size);
final MenuItem grid = menu.findItem(R.id.menu_grid);
final MenuItem list = menu.findItem(R.id.menu_list);
final MenuItem advanced = menu.findItem(R.id.menu_advanced);
final MenuItem fileSize = menu.findItem(R.id.menu_file_size);
+ final MenuItem settings = menu.findItem(R.id.menu_settings);
- sort.setVisible(cwd != null);
grid.setVisible(mState.derivedMode != State.MODE_GRID);
list.setVisible(mState.derivedMode != State.MODE_LIST);
- if (mState.currentSearch != null) {
- // Search uses backend ranking; no sorting
- sort.setVisible(false);
+ mSearchManager.update(root);
- search.expandActionView();
-
- mSearchView.setIconified(false);
- mSearchView.clearFocus();
- mSearchView.setQuery(mState.currentSearch, false);
- } else {
- mIgnoreNextClose = true;
- mSearchView.setIconified(true);
- mSearchView.clearFocus();
-
- mIgnoreNextCollapse = true;
- search.collapseActionView();
- }
+ sort.setVisible(cwd != null && !mSearchManager.isSearching());
// Only sort by size when visible
sortSize.setVisible(mState.showSize);
- fileSize.setVisible(true);
- search.setVisible(true);
- createDir.setVisible(true);
- advanced.setVisible(true);
+ createDir.setVisible(cwd != null
+ && cwd.isCreateSupported()
+ && !mSearchManager.isSearching()
+ && !root.isDownloads());
+
+ fileSize.setVisible(cwd != null);
+ advanced.setVisible(cwd != null);
advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
? R.string.menu_advanced_hide : R.string.menu_advanced_show);
fileSize.setTitle(LocalPreferences.getDisplayFileSize(this)
? R.string.menu_file_size_hide : R.string.menu_file_size_show);
+ settings.setVisible((root.flags & Root.FLAG_HAS_SETTINGS) != 0);
return true;
}
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
-
- final int id = item.getItemId();
- if (id == android.R.id.home) {
- onBackPressed();
- return true;
- } else if (id == R.id.menu_create_dir) {
- CreateDirectoryFragment.show(getFragmentManager());
- return true;
- } else if (id == R.id.menu_search) {
- return false;
- } else if (id == R.id.menu_sort_name) {
- setUserSortOrder(State.SORT_ORDER_DISPLAY_NAME);
- return true;
- } else if (id == R.id.menu_sort_date) {
- setUserSortOrder(State.SORT_ORDER_LAST_MODIFIED);
- return true;
- } else if (id == R.id.menu_sort_size) {
- setUserSortOrder(State.SORT_ORDER_SIZE);
- return true;
- } else if (id == R.id.menu_grid) {
- setUserMode(State.MODE_GRID);
- return true;
- } else if (id == R.id.menu_list) {
- setUserMode(State.MODE_LIST);
- return true;
- } else if (id == R.id.menu_advanced) {
- setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this));
- return true;
- } else if (id == R.id.menu_file_size) {
- setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this));
- return true;
- } else {
- return super.onOptionsItemSelected(item);
- }
- }
-
- private void setDisplayAdvancedDevices(boolean display) {
- LocalPreferences.setDisplayAdvancedDevices(this, display);
- mState.showAdvanced = mState.forceAdvanced | display;
- RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
- invalidateOptionsMenu();
- }
-
- private void setDisplayFileSize(boolean display) {
- LocalPreferences.setDisplayFileSize(this, display);
- mState.showSize = display;
- DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged();
- invalidateOptionsMenu();
- }
-
- @Override
- public void onStateChanged() {
- invalidateOptionsMenu();
- }
-
- /**
- * Set state sort order based on explicit user action.
- */
- private void setUserSortOrder(int sortOrder) {
- mState.userSortOrder = sortOrder;
- DirectoryFragment.get(getFragmentManager()).onUserSortOrderChanged();
- }
-
- /**
- * Set state mode based on explicit user action.
- */
- private void setUserMode(int mode) {
- mState.userMode = mode;
- DirectoryFragment.get(getFragmentManager()).onUserModeChanged();
- }
-
- @Override
- public void setPending(boolean pending) {
- final SaveFragment save = SaveFragment.get(getFragmentManager());
- if (save != null) {
- save.setPending(pending);
- }
- }
-
- @Override
public void onBackPressed() {
if (!mState.stackTouched) {
super.onBackPressed();
@@ -507,130 +244,12 @@
}
@Override
- protected void onSaveInstanceState(Bundle state) {
- super.onSaveInstanceState(state);
- state.putParcelable(EXTRA_STATE, mState);
- }
-
- @Override
- protected void onRestoreInstanceState(Bundle state) {
- super.onRestoreInstanceState(state);
- }
-
- private BaseAdapter mStackAdapter = new BaseAdapter() {
- @Override
- public int getCount() {
- return mState.stack.size();
- }
-
- @Override
- public DocumentInfo getItem(int position) {
- return mState.stack.get(mState.stack.size() - position - 1);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.item_subdir_title, parent, false);
- }
-
- final TextView title = (TextView) convertView.findViewById(android.R.id.title);
- final DocumentInfo doc = getItem(position);
-
- if (position == 0) {
- final RootInfo root = getCurrentRoot();
- title.setText(root.title);
- } else {
- title.setText(doc.displayName);
- }
-
- return convertView;
- }
-
- @Override
- public View getDropDownView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.item_subdir, parent, false);
- }
-
- final ImageView subdir = (ImageView) convertView.findViewById(R.id.subdir);
- final TextView title = (TextView) convertView.findViewById(android.R.id.title);
- final DocumentInfo doc = getItem(position);
-
- if (position == 0) {
- final RootInfo root = getCurrentRoot();
- title.setText(root.title);
- subdir.setVisibility(View.GONE);
- } else {
- title.setText(doc.displayName);
- subdir.setVisibility(View.VISIBLE);
- }
-
- return convertView;
- }
- };
-
- private OnItemSelectedListener mStackListener = new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- if (mIgnoreNextNavigation) {
- mIgnoreNextNavigation = false;
- return;
- }
-
- while (mState.stack.size() > position + 1) {
- mState.stackTouched = true;
- mState.stack.pop();
- }
- onCurrentDirectoryChanged(ANIM_UP);
- }
-
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- // Ignored
- }
- };
-
- @Override
- public RootInfo getCurrentRoot() {
- if (mState.stack.root != null) {
- return mState.stack.root;
- } else {
- return mRoots.getRecentsRoot();
- }
- }
-
- public DocumentInfo getCurrentDirectory() {
- return mState.stack.peek();
- }
-
- private String getCallingPackageMaybeExtra() {
- final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME);
- return (extra != null) ? extra : getCallingPackage();
- }
-
- public Executor getCurrentExecutor() {
- final DocumentInfo cwd = getCurrentDirectory();
- if (cwd != null && cwd.authority != null) {
- return ProviderExecutor.forAuthority(cwd.authority);
- } else {
- return AsyncTask.THREAD_POOL_EXECUTOR;
- }
- }
-
- @Override
public State getDisplayState() {
return mState;
}
- private void onCurrentDirectoryChanged(int anim) {
+ @Override
+ void onDirectoryChanged(int anim) {
final FragmentManager fm = getFragmentManager();
final RootInfo root = getCurrentRoot();
final DocumentInfo cwd = getCurrentDirectory();
@@ -654,109 +273,10 @@
DirectoryFragment.showNormal(fm, root, cwd, anim);
}
}
-
- final RootsFragment roots = RootsFragment.get(fm);
- if (roots != null) {
- roots.onCurrentRootChanged();
- }
-
- updateActionBar();
- invalidateOptionsMenu();
- dumpStack();
- }
-
- @Override
- public void onStackPicked(DocumentStack stack) {
- try {
- // Update the restored stack to ensure we have freshest data
- stack.updateDocuments(getContentResolver());
-
- mState.stack = stack;
- mState.stackTouched = true;
- onCurrentDirectoryChanged(ANIM_SIDE);
-
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to restore stack: " + e);
- }
- }
-
- @Override
- public void onRootPicked(RootInfo root, boolean closeDrawer) {
- // Clear entire backstack and start in new root
- mState.stack.root = root;
- mState.stack.clear();
- mState.stackTouched = true;
-
- if (!mRoots.isRecentsRoot(root)) {
- new PickRootTask(root).executeOnExecutor(getCurrentExecutor());
- } else {
- onCurrentDirectoryChanged(ANIM_SIDE);
- }
- }
-
- private class PickRootTask extends AsyncTask<Void, Void, DocumentInfo> {
- private RootInfo mRoot;
-
- public PickRootTask(RootInfo root) {
- mRoot = root;
- }
-
- @Override
- protected DocumentInfo doInBackground(Void... params) {
- try {
- final Uri uri = DocumentsContract.buildDocumentUri(
- mRoot.authority, mRoot.documentId);
- return DocumentInfo.fromUri(getContentResolver(), uri);
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Failed to find root", e);
- return null;
- }
- }
-
- @Override
- protected void onPostExecute(DocumentInfo result) {
- if (result != null) {
- mState.stack.push(result);
- mState.stackTouched = true;
- onCurrentDirectoryChanged(ANIM_SIDE);
- }
- }
- }
-
- @Override
- public void onAppPicked(ResolveInfo info) {
- final Intent intent = new Intent(getIntent());
- intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_FORWARD_RESULT);
- intent.setComponent(new ComponentName(
- info.activityInfo.applicationInfo.packageName, info.activityInfo.name));
- startActivityForResult(intent, CODE_FORWARD);
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- Log.d(TAG, "onActivityResult() code=" + resultCode);
-
- // Only relay back results when not canceled; otherwise stick around to
- // let the user pick another app/backend.
- if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) {
-
- // Remember that we last picked via external app
- final String packageName = getCallingPackageMaybeExtra();
- final ContentValues values = new ContentValues();
- values.put(ResumeColumns.EXTERNAL, 1);
- getContentResolver().insert(RecentsProvider.buildResume(packageName), values);
-
- // Pass back result to original caller
- setResult(resultCode, data);
- finish();
- } else {
- super.onActivityResult(requestCode, resultCode, data);
- }
}
@Override
public void onDocumentPicked(DocumentInfo doc) {
- final FragmentManager fm = getFragmentManager();
if (doc.isDirectory()) {
mState.stack.push(doc);
mState.stackTouched = true;
@@ -780,27 +300,12 @@
}
@Override
- public void onSaveRequested(DocumentInfo replaceTarget) {
- new ExistingFinishTask(replaceTarget.derivedUri).executeOnExecutor(getCurrentExecutor());
- }
-
- @Override
- public void onSaveRequested(String mimeType, String displayName) {
- new CreateFinishTask(mimeType, displayName).executeOnExecutor(getCurrentExecutor());
- }
-
- @Override
- public void onPickRequested(DocumentInfo pickTarget) {
- final Uri viaUri = DocumentsContract.buildTreeDocumentUri(pickTarget.authority,
- pickTarget.documentId);
- new PickFinishTask(viaUri).executeOnExecutor(getCurrentExecutor());
- }
-
- private void saveStackBlocking() {
+ void saveStackBlocking() {
final ContentResolver resolver = getContentResolver();
final ContentValues values = new ContentValues();
- final byte[] rawStack = DurableUtils.writeToArrayOrNull(mState.stack);
+ final byte[] rawStack = DurableUtils.writeToArrayOrNull(
+ getDisplayState().stack);
// Remember location for next app launch
final String packageName = getCallingPackageMaybeExtra();
@@ -810,7 +315,8 @@
resolver.insert(RecentsProvider.buildResume(packageName), values);
}
- private void onFinished(Uri... uris) {
+ @Override
+ void onTaskFinished(Uri... uris) {
Log.d(TAG, "onFinished() " + Arrays.toString(uris));
final Intent intent = new Intent();
@@ -832,106 +338,4 @@
setResult(Activity.RESULT_OK, intent);
finish();
}
-
- private class CreateFinishTask extends AsyncTask<Void, Void, Uri> {
- private final String mMimeType;
- private final String mDisplayName;
-
- public CreateFinishTask(String mimeType, String displayName) {
- mMimeType = mimeType;
- mDisplayName = displayName;
- }
-
- @Override
- protected void onPreExecute() {
- setPending(true);
- }
-
- @Override
- protected Uri doInBackground(Void... params) {
- final ContentResolver resolver = getContentResolver();
- final DocumentInfo cwd = getCurrentDirectory();
-
- ContentProviderClient client = null;
- Uri childUri = null;
- try {
- client = DocumentsApplication.acquireUnstableProviderOrThrow(
- resolver, cwd.derivedUri.getAuthority());
- childUri = DocumentsContract.createDocument(
- client, cwd.derivedUri, mMimeType, mDisplayName);
- } catch (Exception e) {
- Log.w(TAG, "Failed to create document", e);
- } finally {
- ContentProviderClient.releaseQuietly(client);
- }
-
- if (childUri != null) {
- saveStackBlocking();
- }
-
- return childUri;
- }
-
- @Override
- protected void onPostExecute(Uri result) {
- if (result != null) {
- onFinished(result);
- } else {
- Toast.makeText(StandaloneActivity.this, R.string.save_error, Toast.LENGTH_SHORT)
- .show();
- }
-
- setPending(false);
- }
- }
-
- private class ExistingFinishTask extends AsyncTask<Void, Void, Void> {
- private final Uri[] mUris;
-
- public ExistingFinishTask(Uri... uris) {
- mUris = uris;
- }
-
- @Override
- protected Void doInBackground(Void... params) {
- saveStackBlocking();
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- onFinished(mUris);
- }
- }
-
- private class PickFinishTask extends AsyncTask<Void, Void, Void> {
- private final Uri mUri;
-
- public PickFinishTask(Uri uri) {
- mUri = uri;
- }
-
- @Override
- protected Void doInBackground(Void... params) {
- saveStackBlocking();
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- onFinished(mUri);
- }
- }
-
- private void dumpStack() {
- Log.d(TAG, "Current stack: ");
- Log.d(TAG, " * " + mState.stack.root);
- for (DocumentInfo doc : mState.stack) {
- Log.d(TAG, " +-- " + doc);
- }
- }
-
- public static BaseActivity get(Fragment fragment) {
- return (BaseActivity) fragment.getActivity();
- }
}
diff --git a/packages/DocumentsUI/tests/Android.mk b/packages/DocumentsUI/tests/Android.mk
index fdf4fab..3f191a9 100644
--- a/packages/DocumentsUI/tests/Android.mk
+++ b/packages/DocumentsUI/tests/Android.mk
@@ -7,6 +7,7 @@
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 mockito-target guava
LOCAL_PACKAGE_NAME := DocumentsUITests
LOCAL_INSTRUMENTATION_FOR := DocumentsUI
diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/CopyTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/CopyTest.java
new file mode 100644
index 0000000..13f7daa
--- /dev/null
+++ b/packages/DocumentsUI/tests/src/com/android/documentsui/CopyTest.java
@@ -0,0 +1,281 @@
+/*
+ * 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.documentsui;
+
+import static com.android.documentsui.model.DocumentInfo.getCursorString;
+
+import android.app.NotificationManager;
+import android.content.ContentProviderClient;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
+import android.os.Parcelable;
+import android.os.RemoteException;
+import android.provider.DocumentsContract;
+import android.provider.DocumentsContract.Document;
+import android.test.MoreAsserts;
+import android.test.ServiceTestCase;
+import android.util.Log;
+
+import com.android.documentsui.model.DocumentInfo;
+import com.android.documentsui.model.DocumentStack;
+import com.android.documentsui.model.RootInfo;
+import com.google.common.collect.Lists;
+
+import libcore.io.IoUtils;
+import libcore.io.Streams;
+
+import org.mockito.Mockito;
+
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class CopyTest extends ServiceTestCase<CopyService> {
+
+ public CopyTest() {
+ super(CopyService.class);
+ }
+
+ private static String TAG = "CopyTest";
+ // This must match the authority for the StubProvider.
+ private static String AUTHORITY = "com.android.documentsui.stubprovider";
+ private List<RootInfo> mRoots;
+ private Context mContext;
+ private ContentResolver mResolver;
+ private ContentProviderClient mClient;
+ private NotificationManager mNotificationManager;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ setupTestContext();
+
+ mResolver = mContext.getContentResolver();
+ mClient = mResolver.acquireContentProviderClient(AUTHORITY);
+
+ // Reset the stub provider's storage.
+ mClient.call("clear", "", null);
+
+ mRoots = Lists.newArrayList();
+ Uri queryUri = DocumentsContract.buildRootsUri(AUTHORITY);
+ Cursor cursor = null;
+ try {
+ cursor = mClient.query(queryUri, null, null, null, null);
+ while (cursor.moveToNext()) {
+ final RootInfo root = RootInfo.fromRootsCursor(AUTHORITY, cursor);
+ final String id = root.rootId;
+ mRoots.add(root);
+ }
+ } finally {
+ IoUtils.closeQuietly(cursor);
+ }
+
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mClient.release();
+ super.tearDown();
+ }
+
+ public List<Uri> setupTestFiles() throws Exception {
+ Uri rootUri = DocumentsContract.buildDocumentUri(AUTHORITY, mRoots.get(0).documentId);
+ List<Uri> testFiles = Lists.newArrayList(
+ DocumentsContract.createDocument(mClient, rootUri, "text/plain", "test0.txt"),
+ DocumentsContract.createDocument(mClient, rootUri, "text/plain", "test1.txt"),
+ DocumentsContract.createDocument(mClient, rootUri, "text/plain", "test2.txt")
+ );
+ String testContent[] = {
+ "The five boxing wizards jump quickly",
+ "The quick brown fox jumps over the lazy dog",
+ "Jackdaws love my big sphinx of quartz"
+ };
+ for (int i = 0; i < testFiles.size(); ++i) {
+ ParcelFileDescriptor pfd = null;
+ OutputStream out = null;
+ try {
+ pfd = mClient.openFile(testFiles.get(i), "w");
+ out = new ParcelFileDescriptor.AutoCloseOutputStream(pfd);
+ out.write(testContent[i].getBytes());
+ } finally {
+ IoUtils.closeQuietly(out);
+ }
+ }
+ return testFiles;
+ }
+
+ /**
+ * Test copying a single file.
+ */
+ public void testCopyFile() throws Exception {
+ Uri testFile = setupTestFiles().get(0);
+
+ // Just copy one file.
+ copyToDestination(Lists.newArrayList(testFile));
+
+ // A call to NotificationManager.cancel marks the end of the copy operation.
+ Mockito.verify(mNotificationManager, Mockito.timeout(1000)).cancel(Mockito.anyString(),
+ Mockito.anyInt());
+
+ // Verify that one file was copied; check file contents.
+ assertDstFileCountEquals(1);
+ assertCopied(testFile);
+ }
+
+ /**
+ * Test copying multiple files.
+ */
+ public void testCopyMultipleFiles() throws Exception {
+ List<Uri> testFiles = setupTestFiles();
+ // Copy all the test files.
+ copyToDestination(testFiles);
+
+ // A call to NotificationManager.cancel marks the end of the copy operation.
+ Mockito.verify(mNotificationManager, Mockito.timeout(1000)).cancel(Mockito.anyString(),
+ Mockito.anyInt());
+
+ assertDstFileCountEquals(3);
+ for (Uri testFile : testFiles) {
+ assertCopied(testFile);
+ }
+ }
+
+ /**
+ * Copies the given files to a pre-determined destination.
+ *
+ * @throws FileNotFoundException
+ */
+ private void copyToDestination(List<Uri> srcs) throws FileNotFoundException {
+ final ArrayList<DocumentInfo> srcDocs = Lists.newArrayList();
+ for (Uri src : srcs) {
+ srcDocs.add(DocumentInfo.fromUri(mResolver, src));
+ }
+
+ final Uri dst = DocumentsContract.buildDocumentUri(AUTHORITY, mRoots.get(1).documentId);
+ DocumentStack stack = new DocumentStack();
+ stack.push(DocumentInfo.fromUri(mResolver, dst));
+ final Intent copyIntent = new Intent(mContext, CopyService.class);
+ copyIntent.putParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST, srcDocs);
+ copyIntent.putExtra(CopyService.EXTRA_STACK, (Parcelable) stack);
+
+ startService(copyIntent);
+ }
+
+ /**
+ * Returns a count of the files in the given directory.
+ */
+ private void assertDstFileCountEquals(int expected) throws RemoteException {
+ final Uri queryUri = DocumentsContract.buildChildDocumentsUri(AUTHORITY,
+ mRoots.get(1).documentId);
+ Cursor c = null;
+ int count = 0;
+ try {
+ c = mClient.query(queryUri, null, null, null, null);
+ count = c.getCount();
+ } finally {
+ IoUtils.closeQuietly(c);
+ }
+ assertEquals("Incorrect file count after copy", expected, count);
+ }
+
+ /**
+ * Verifies that the file pointed to by the given URI was correctly copied to the destination.
+ */
+ private void assertCopied(Uri src) throws Exception {
+ Cursor cursor = null;
+ String srcName = null;
+ try {
+ cursor = mClient.query(src, null, null, null, null);
+ if (cursor.moveToFirst()) {
+ srcName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME);
+ }
+ } finally {
+ IoUtils.closeQuietly(cursor);
+ }
+ Uri dst = getDstFileUri(srcName);
+
+ InputStream in0 = null;
+ InputStream in1 = null;
+ try {
+ in0 = new ParcelFileDescriptor.AutoCloseInputStream(mClient.openFile(src, "r"));
+ in1 = new ParcelFileDescriptor.AutoCloseInputStream(mClient.openFile(dst, "r"));
+
+ byte[] buffer0 = Streams.readFully(in0);
+ byte[] buffer1 = Streams.readFully(in1);
+
+ MoreAsserts.assertEquals(buffer0, buffer1);
+ } finally {
+ IoUtils.closeQuietly(in0);
+ IoUtils.closeQuietly(in1);
+ }
+ }
+
+ /**
+ * Generates a file URI from a given filename. This assumes the file already exists in the
+ * destination root.
+ */
+ private Uri getDstFileUri(String filename) throws RemoteException {
+ final Uri dstFileQuery = DocumentsContract.buildChildDocumentsUri(AUTHORITY,
+ mRoots.get(1).documentId);
+ Cursor cursor = null;
+ try {
+ // StubProvider doesn't seem to support query strings; filter the results manually.
+ cursor = mClient.query(dstFileQuery, null, null, null, null);
+ while (cursor.moveToNext()) {
+ if (filename.equals(getCursorString(cursor, Document.COLUMN_DISPLAY_NAME))) {
+ return DocumentsContract.buildDocumentUri(AUTHORITY,
+ getCursorString(cursor, Document.COLUMN_DOCUMENT_ID));
+ }
+ }
+ } finally {
+ IoUtils.closeQuietly(cursor);
+ }
+ return null;
+ }
+
+ /**
+ * Sets up a ContextWrapper that substitutes a stub NotificationManager. This allows the test to
+ * listen for notification events, to gauge copy progress.
+ */
+ private void setupTestContext() {
+ mContext = getSystemContext();
+ System.setProperty("dexmaker.dexcache", mContext.getCacheDir().getPath());
+
+ mNotificationManager = Mockito.spy((NotificationManager) mContext
+ .getSystemService(Context.NOTIFICATION_SERVICE));
+
+ // Insert a stub NotificationManager that enables us to listen for when copying is complete.
+ setContext(new ContextWrapper(mContext) {
+ @Override
+ public Object getSystemService(String name) {
+ if (Context.NOTIFICATION_SERVICE.equals(name)) {
+ return mNotificationManager;
+ } else {
+ return super.getSystemService(name);
+ }
+ }
+ });
+ }
+}
diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java b/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java
index 75effa7..438f6cd 100644
--- a/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java
+++ b/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java
@@ -17,34 +17,45 @@
package com.android.documentsui;
import android.content.Context;
+import android.content.SharedPreferences;
import android.content.pm.ProviderInfo;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.database.MatrixCursor.RowBuilder;
import android.database.MatrixCursor;
import android.graphics.Point;
+import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.FileUtils;
import android.os.ParcelFileDescriptor;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.provider.DocumentsContract.Root;
-import android.provider.DocumentsContract.Root;
import android.provider.DocumentsProvider;
+import android.util.Log;
-import java.io.FileInputStream;
+import com.google.android.collect.Maps;
+
+import libcore.io.IoUtils;
+
import java.io.FileOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
-import java.util.List;
+import java.util.Map;
public class StubProvider extends DocumentsProvider {
- private static int STORAGE_SIZE = 1024 * 1024; // 1 MB.
+ private static final String EXTRA_SIZE = "com.android.documentsui.stubprovider.SIZE";
+ private static final String EXTRA_ROOT = "com.android.documentsui.stubprovider.ROOT";
+ private static final String STORAGE_SIZE_KEY = "documentsui.stubprovider.size";
+ private static int DEFAULT_SIZE = 1024 * 1024; // 1 MB.
private static final String TAG = "StubProvider";
- private static final String MY_ROOT_ID = "myRoot";
-
+ private static final String MY_ROOT_ID = "sd0";
private static final String[] DEFAULT_ROOT_PROJECTION = new String[] {
Root.COLUMN_ROOT_ID, Root.COLUMN_FLAGS, Root.COLUMN_TITLE, Root.COLUMN_DOCUMENT_ID,
Root.COLUMN_AVAILABLE_BYTES
@@ -54,11 +65,11 @@
Document.COLUMN_LAST_MODIFIED, Document.COLUMN_FLAGS, Document.COLUMN_SIZE,
};
- private String mRootDocumentId;
private HashMap<String, StubDocument> mStorage = new HashMap<String, StubDocument>();
- private int mStorageUsedBytes;
private Object mWriteLock = new Object();
private String mAuthority;
+ private SharedPreferences mPrefs;
+ private Map<String, RootInfo> mRoots;
@Override
public void attachInfo(Context context, ProviderInfo info) {
@@ -68,29 +79,61 @@
@Override
public boolean onCreate() {
+ clearCacheAndBuildRoots();
+ return true;
+ }
+
+ private void clearCacheAndBuildRoots() {
final File cacheDir = getContext().getCacheDir();
removeRecursively(cacheDir);
- final StubDocument document = new StubDocument(cacheDir, Document.MIME_TYPE_DIR, null);
- mRootDocumentId = document.documentId;
- mStorage.put(mRootDocumentId, document);
- return true;
+ mStorage.clear();
+
+ mPrefs = getContext().getSharedPreferences(
+ "com.android.documentsui.stubprovider.preferences", Context.MODE_PRIVATE);
+ Collection<String> rootIds = mPrefs.getStringSet("roots", null);
+ if (rootIds == null) {
+ rootIds = Arrays.asList(new String[] {
+ "sd0", "sd1"
+ });
+ }
+ // Create new roots.
+ mRoots = Maps.newHashMap();
+ for (String rootId : rootIds) {
+ final RootInfo rootInfo = new RootInfo(rootId, getSize(rootId));
+ mRoots.put(rootId, rootInfo);
+ }
+ }
+
+ /**
+ * @return Storage size, in bytes.
+ */
+ private long getSize(String rootId) {
+ final String key = STORAGE_SIZE_KEY + "." + rootId;
+ return mPrefs.getLong(key, DEFAULT_SIZE);
}
@Override
public Cursor queryRoots(String[] projection) throws FileNotFoundException {
- final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_ROOT_PROJECTION);
- final RowBuilder row = result.newRow();
- row.add(Root.COLUMN_ROOT_ID, MY_ROOT_ID);
- row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE | Root.FLAG_SUPPORTS_IS_CHILD);
- row.add(Root.COLUMN_TITLE, "Foobar SD 4GB");
- row.add(Root.COLUMN_DOCUMENT_ID, mRootDocumentId);
- row.add(Root.COLUMN_AVAILABLE_BYTES, STORAGE_SIZE - mStorageUsedBytes);
+ final MatrixCursor result = new MatrixCursor(projection != null ? projection
+ : DEFAULT_ROOT_PROJECTION);
+ for (Map.Entry<String, RootInfo> entry : mRoots.entrySet()) {
+ final String id = entry.getKey();
+ final RootInfo info = entry.getValue();
+ final RowBuilder row = result.newRow();
+ row.add(Root.COLUMN_ROOT_ID, id);
+ row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE | Root.FLAG_SUPPORTS_IS_CHILD);
+ row.add(Root.COLUMN_TITLE, id);
+ row.add(Root.COLUMN_DOCUMENT_ID, info.rootDocument.documentId);
+ row.add(Root.COLUMN_AVAILABLE_BYTES, info.getRemainingCapacity());
+ }
return result;
}
@Override
- public Cursor queryDocument(String documentId, String[] projection) throws FileNotFoundException {
- final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION);
+ public Cursor queryDocument(String documentId, String[] projection)
+ throws FileNotFoundException {
+ final MatrixCursor result = new MatrixCursor(projection != null ? projection
+ : DEFAULT_DOCUMENT_PROJECTION);
final StubDocument file = mStorage.get(documentId);
if (file == null) {
throw new FileNotFoundException();
@@ -123,14 +166,12 @@
if (!file.createNewFile()) {
throw new FileNotFoundException();
}
- }
- catch (IOException e) {
+ } catch (IOException e) {
throw new FileNotFoundException();
}
}
final StubDocument document = new StubDocument(file, mimeType, parentDocument);
- mStorage.put(document.documentId, document);
notifyParentChanged(document.parentId);
return document.documentId;
}
@@ -143,7 +184,7 @@
if (document == null || !document.file.delete())
throw new FileNotFoundException();
synchronized (mWriteLock) {
- mStorageUsedBytes -= fileSize;
+ document.rootInfo.size -= fileSize;
}
notifyParentChanged(document.parentId);
}
@@ -155,12 +196,13 @@
if (parentDocument == null || parentDocument.file.isFile()) {
throw new FileNotFoundException();
}
- final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION);
+ final MatrixCursor result = new MatrixCursor(projection != null ? projection
+ : DEFAULT_DOCUMENT_PROJECTION);
result.setNotificationUri(getContext().getContentResolver(),
DocumentsContract.buildChildDocumentsUri(mAuthority, parentDocumentId));
StubDocument document;
for (File file : parentDocument.file.listFiles()) {
- document = mStorage.get(StubDocument.getDocumentIdForFile(file));
+ document = mStorage.get(getDocumentIdForFile(file));
if (document != null) {
includeDocument(result, document);
}
@@ -171,7 +213,9 @@
@Override
public Cursor queryRecentDocuments(String rootId, String[] projection)
throws FileNotFoundException {
- throw new FileNotFoundException();
+ final MatrixCursor result = new MatrixCursor(projection != null ? projection
+ : DEFAULT_DOCUMENT_PROJECTION);
+ return result;
}
@Override
@@ -202,8 +246,7 @@
ParcelFileDescriptor[] pipe;
try {
pipe = ParcelFileDescriptor.createReliablePipe();
- }
- catch (IOException exception) {
+ } catch (IOException exception) {
throw new FileNotFoundException();
}
final ParcelFileDescriptor readPipe = pipe[0];
@@ -212,15 +255,19 @@
new Thread() {
@Override
public void run() {
+ InputStream inputStream = null;
+ OutputStream outputStream = null;
try {
- final FileInputStream inputStream = new FileInputStream(readPipe.getFileDescriptor());
- final FileOutputStream outputStream = new FileOutputStream(document.file);
+ inputStream = new ParcelFileDescriptor.AutoCloseInputStream(readPipe);
+ outputStream = new FileOutputStream(document.file);
byte[] buffer = new byte[32 * 1024];
int bytesToRead;
int bytesRead = 0;
while (bytesRead != -1) {
synchronized (mWriteLock) {
- bytesToRead = Math.min(STORAGE_SIZE - mStorageUsedBytes, buffer.length);
+ // This cast is safe because the max possible value is buffer.length.
+ bytesToRead = (int) Math.min(document.rootInfo.getRemainingCapacity(),
+ buffer.length);
if (bytesToRead == 0) {
closePipeWithErrorSilently(readPipe, "Not enough space.");
break;
@@ -230,15 +277,14 @@
break;
}
outputStream.write(buffer, 0, bytesRead);
- mStorageUsedBytes += bytesRead;
+ document.rootInfo.size += bytesRead;
}
}
- }
- catch (IOException e) {
+ } catch (IOException e) {
closePipeWithErrorSilently(readPipe, e.getMessage());
- }
- finally {
- closePipeSilently(readPipe);
+ } finally {
+ IoUtils.closeQuietly(inputStream);
+ IoUtils.closeQuietly(outputStream);
notifyParentChanged(document.parentId);
}
}
@@ -250,24 +296,38 @@
private void closePipeWithErrorSilently(ParcelFileDescriptor pipe, String error) {
try {
pipe.closeWithError(error);
- }
- catch (IOException ignore) {
+ } catch (IOException ignore) {
}
}
- private void closePipeSilently(ParcelFileDescriptor pipe) {
- try {
- pipe.close();
+ @Override
+ public Bundle call(String method, String arg, Bundle extras) {
+ Log.d(TAG, "call: " + method + arg);
+ switch (method) {
+ case "clear":
+ clearCacheAndBuildRoots();
+ return null;
+ case "configure":
+ configure(arg, extras);
+ return null;
+ default:
+ return super.call(method, arg, extras);
}
- catch (IOException ignore) {
- }
+ }
+
+ private void configure(String arg, Bundle extras) {
+ Log.d(TAG, "Configure " + arg);
+ String rootName = extras.getString(EXTRA_ROOT, MY_ROOT_ID);
+ long rootSize = extras.getLong(EXTRA_SIZE, 1) * 1024 * 1024;
+ setSize(rootName, rootSize);
}
private void notifyParentChanged(String parentId) {
getContext().getContentResolver().notifyChange(
DocumentsContract.buildChildDocumentsUri(mAuthority, parentId), null, false);
// Notify also about possible change in remaining space on the root.
- getContext().getContentResolver().notifyChange(DocumentsContract.buildRootsUri(mAuthority), null, false);
+ getContext().getContentResolver().notifyChange(DocumentsContract.buildRootsUri(mAuthority),
+ null, false);
}
private void includeDocument(MatrixCursor result, StubDocument document) {
@@ -295,22 +355,102 @@
childFile.delete();
}
}
-}
-class StubDocument {
- public final File file;
- public final String mimeType;
- public final String documentId;
- public final String parentId;
+ public void setSize(String rootId, long rootSize) {
+ RootInfo root = mRoots.get(rootId);
+ if (root != null) {
+ final String key = STORAGE_SIZE_KEY + "." + rootId;
+ Log.d(TAG, "Set size of " + key + " : " + rootSize);
- StubDocument(File file, String mimeType, StubDocument parent) {
- this.file = file;
- this.mimeType = mimeType;
- this.documentId = getDocumentIdForFile(file);
- this.parentId = parent != null ? parent.documentId : null;
+ // Persist the size.
+ SharedPreferences.Editor editor = mPrefs.edit();
+ editor.putLong(key, rootSize);
+ editor.apply();
+ // Apply the size in the current instance of this provider.
+ root.capacity = rootSize;
+ getContext().getContentResolver().notifyChange(
+ DocumentsContract.buildRootsUri(mAuthority),
+ null, false);
+ } else {
+ Log.e(TAG, "Attempt to configure non-existent root: " + rootId);
+ }
}
- public static String getDocumentIdForFile(File file) {
+ public File createFile(String rootId, File parent, String mimeType, String name)
+ throws IOException {
+ StubDocument parentDoc = null;
+ if (parent == null) {
+ // Use the root dir as the parent, if one wasn't specified.
+ parentDoc = mRoots.get(rootId).rootDocument;
+ } else {
+ // Verify that the parent exists and is a directory.
+ parentDoc = mStorage.get(getDocumentIdForFile(parent));
+ if (parentDoc == null) {
+ throw new IllegalArgumentException("Parent file not found.");
+ }
+ if (!Document.MIME_TYPE_DIR.equals(parentDoc.mimeType)) {
+ throw new IllegalArgumentException("Parent file must be a directory.");
+ }
+ }
+ File file = new File(parentDoc.file, name);
+ if (Document.MIME_TYPE_DIR.equals(mimeType)) {
+ file.mkdir();
+ } else {
+ file.createNewFile();
+ }
+ new StubDocument(file, mimeType, parentDoc);
+ return file;
+ }
+
+ final class RootInfo {
+ public final String name;
+ public final StubDocument rootDocument;
+ public long capacity;
+ public long size;
+
+ RootInfo(String name, long capacity) {
+ this.name = name;
+ this.capacity = 1024 * 1024;
+ // Make a subdir in the cache dir for each root.
+ File rootDir = new File(getContext().getCacheDir(), name);
+ rootDir.mkdir();
+ this.rootDocument = new StubDocument(rootDir, Document.MIME_TYPE_DIR, this);
+ this.capacity = capacity;
+ this.size = 0;
+ }
+
+ public long getRemainingCapacity() {
+ return capacity - size;
+ }
+ }
+
+ final class StubDocument {
+ public final File file;
+ public final String mimeType;
+ public final String documentId;
+ public final String parentId;
+ public final RootInfo rootInfo;
+
+ StubDocument(File file, String mimeType, StubDocument parent) {
+ this.file = file;
+ this.mimeType = mimeType;
+ this.documentId = getDocumentIdForFile(file);
+ this.parentId = parent.documentId;
+ this.rootInfo = parent.rootInfo;
+ mStorage.put(this.documentId, this);
+ }
+
+ StubDocument(File file, String mimeType, RootInfo rootInfo) {
+ this.file = file;
+ this.mimeType = mimeType;
+ this.documentId = getDocumentIdForFile(file);
+ this.parentId = null;
+ this.rootInfo = rootInfo;
+ mStorage.put(this.documentId, this);
+ }
+ }
+
+ private static String getDocumentIdForFile(File file) {
return file.getAbsolutePath();
}
}
diff --git a/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..ec8a0bd
--- /dev/null
+++ b/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml
@@ -0,0 +1,22 @@
+<?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="7123375275748530234">"બાહ્ય સંગ્રહ"</string>
+ <string name="root_internal_storage" msgid="827844243068584127">"આંતરિક સંગ્રહ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"દસ્તાવેજો"</string>
+</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..0e91589
--- /dev/null
+++ b/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml
@@ -0,0 +1,22 @@
+<?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="7123375275748530234">"ਬਾਹਰੀ ਸਟੋਰੇਜ"</string>
+ <string name="root_internal_storage" msgid="827844243068584127">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ਦਸਤਾਵੇਜ਼"</string>
+</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml b/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..dc346ea
--- /dev/null
+++ b/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml
@@ -0,0 +1,22 @@
+<?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="7123375275748530234">"Hapësirë e jashtme ruajtjeje"</string>
+ <string name="root_internal_storage" msgid="827844243068584127">"Hapësira e brendshme ruajtëse"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumente"</string>
+</resources>
diff --git a/packages/FusedLocation/res/values-gu-rIN/strings.xml b/packages/FusedLocation/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..71bb22c
--- /dev/null
+++ b/packages/FusedLocation/res/values-gu-rIN/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">"ફ્યુઝ્ડ સ્થાન"</string>
+</resources>
diff --git a/packages/FusedLocation/res/values-pa-rIN/strings.xml b/packages/FusedLocation/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..20edd03
--- /dev/null
+++ b/packages/FusedLocation/res/values-pa-rIN/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">"ਫਿਊਜ਼ਡ ਨਿਰਧਾਰਿਤ ਸਥਾਨ"</string>
+</resources>
diff --git a/packages/FusedLocation/res/values-sq-rAL/strings.xml b/packages/FusedLocation/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..0c6f7f1
--- /dev/null
+++ b/packages/FusedLocation/res/values-sq-rAL/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">"Vendndodhje e shkrirë"</string>
+</resources>
diff --git a/packages/InputDevices/res/values-gu-rIN/strings.xml b/packages/InputDevices/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..3abae49
--- /dev/null
+++ b/packages/InputDevices/res/values-gu-rIN/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">"ઇનપુટ ઉપકરણો"</string>
+ <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android કીબોર્ડ"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"અંગ્રેજી (યુકે)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"અંગ્રેજી (યુએસ)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"અંગ્રેજી (યુએસ), આંતરરાષ્ટ્રીય શૈલી"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"અંગ્રેજી (યુએસ), કોલેમેક શૈલી"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"અંગ્રેજી (યુએસ), ડ્વોરક શૈલી"</string>
+ <string name="keyboard_layout_german_label" msgid="8451565865467909999">"જર્મન"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"ફ્રેન્ચ"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"ફ્રેન્ચ (કેનેડા)"</string>
+ <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"રશિયન"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"રશિયન, Mac શૈલી"</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"સ્પેનિશ"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"સ્વિસ ફ્રેંચ"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"સ્વિસ જર્મન"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"બેલ્જિયન"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"બલ્ગેરિયન"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"ઇટાલિયન"</string>
+ <string name="keyboard_layout_danish" msgid="8036432066627127851">"ડેનિશ"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"નોર્વેજીયન"</string>
+ <string name="keyboard_layout_swedish" msgid="732959109088479351">"સ્વીડિશ"</string>
+ <string name="keyboard_layout_finnish" msgid="5585659438924315466">"ફિનિશ"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"ક્રોએશિયન"</string>
+ <string name="keyboard_layout_czech" msgid="1349256901452975343">"ચેક"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"એસ્ટોનિયન"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"હંગેરિયન"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"આઇસલેન્ડિક"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"બ્રાઝિલિયન"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"પોર્ટુગીઝ"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"સ્લોવૅક"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"સ્લોવેનિયન"</string>
+ <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ટર્કીશ"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"યુક્રેનિયન"</string>
+ <string name="keyboard_layout_arabic" msgid="5671970465174968712">"અરબી"</string>
+ <string name="keyboard_layout_greek" msgid="7289253560162386040">"ગ્રીક"</string>
+ <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"હીબ્રુ"</string>
+ <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"લિથુનિયન"</string>
+ <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"સ્પેનિશ (લેટિન)"</string>
+ <string name="keyboard_layout_latvian" msgid="4405417142306250595">"લાતવિયન"</string>
+</resources>
diff --git a/packages/InputDevices/res/values-pa-rIN/strings.xml b/packages/InputDevices/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..a885088
--- /dev/null
+++ b/packages/InputDevices/res/values-pa-rIN/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">"ਇਨਪੁਟ ਡਿਵਾਈਸਾਂ"</string>
+ <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android ਕੀਬੋਰਡ"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"ਅੰਗ੍ਰੇਜ਼ੀ (ਯੂਕੇ)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"ਅੰਗ੍ਰੇਜੀ (ਅਮ੍ਰੀਕਾ)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"ਅੰਗ੍ਰੇਜ਼ੀ (ਅਮਰੀਕਾ), ਅੰਤਰਰਾਸ਼ਟਰੀ ਸਟਾਈਲ"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"ਅੰਗ੍ਰੇਜ਼ੀ (ਅਮਰੀਕਾ), ਕੋਲਮਾਰਕ ਸਟਾਈਲ"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"ਅੰਗ੍ਰੇਜ਼ੀ (ਅਮਰੀਕਾ), ਵੋਰਕ ਸਟਾਈਲ"</string>
+ <string name="keyboard_layout_german_label" msgid="8451565865467909999">"ਜਰਮਨ"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"ਫਰਾਂਸੀਸੀ"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"ਫ੍ਰੈਂਚ (ਕੈਨੇਡਾ)"</string>
+ <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"ਰੂਸੀ"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"ਰੂਸੀ, ਮੈਕ ਸਟਾਈਲ"</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"ਸਪੇਨੀ"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"ਸਵਿਸ ਫ੍ਰੈਂਚ"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"ਸਵਿਸ ਜਰਮਨ"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"ਬੈਲਜੀਅਨ"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"ਬਲਗੇਰੀਅਨ"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"ਇਤਾਲਵੀ"</string>
+ <string name="keyboard_layout_danish" msgid="8036432066627127851">"ਡੈਨਿਸ਼"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"ਨਾਰਵੇਜੀਅਨ"</string>
+ <string name="keyboard_layout_swedish" msgid="732959109088479351">"ਸਵੀਡਿਸ਼"</string>
+ <string name="keyboard_layout_finnish" msgid="5585659438924315466">"ਫਿਨਿਸ਼"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"ਕਰੋਆਟੀਆਈ"</string>
+ <string name="keyboard_layout_czech" msgid="1349256901452975343">"ਚੈਕ"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"ਇਸਟੋਨੀਅਨ"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"ਹੰਗੇਰੀਅਨ"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"ਆਈਸਲੈਂਡੀ"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"ਬ੍ਰਾਜ਼ਿਲਿਆਈ"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"ਪੁਰਤਗਾਲੀ"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"ਸਲੋਵਾਕ"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ਸਲੋਵੀਅਨ"</string>
+ <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ਤੁਰਕੀ"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ਯੂਕਰੇਨੀਅਨ"</string>
+ <string name="keyboard_layout_arabic" msgid="5671970465174968712">"ਅਰਬੀ"</string>
+ <string name="keyboard_layout_greek" msgid="7289253560162386040">"ਯੂਨਾਨੀ"</string>
+ <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ਹਿਬਰੀ"</string>
+ <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ਲੀਥੂਨੀਅਨ"</string>
+ <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"ਸਪੇਨੀ (ਲਾਤੀਨੀ)"</string>
+ <string name="keyboard_layout_latvian" msgid="4405417142306250595">"ਲਾਤਵੀਅਨ"</string>
+</resources>
diff --git a/packages/InputDevices/res/values-sq-rAL/strings.xml b/packages/InputDevices/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..2092926
--- /dev/null
+++ b/packages/InputDevices/res/values-sq-rAL/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">"Pajisjet e hyrjes"</string>
+ <string name="keyboard_layouts_label" msgid="6688773268302087545">"Tastierë e llojit \"androidi\""</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"anglisht (Mbretëria e Bashkuar)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"anglisht (SHBA)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"anglisht (SHBA), stili \"ndërkombëtar\""</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"anglisht (SHBA), stili \"colemak\""</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"anglisht (SHBA), stili \"dvorak\""</string>
+ <string name="keyboard_layout_german_label" msgid="8451565865467909999">"gjermanisht"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"frëngjisht"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"frëngjisht (Kanada)"</string>
+ <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"rusisht"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"rusisht, stili \"mac\""</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"spanjisht"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"frëngjishte zvicerane"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"gjermanishte zvicerane"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"belge"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"bullgarisht"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"italisht"</string>
+ <string name="keyboard_layout_danish" msgid="8036432066627127851">"danisht"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"norvegjisht"</string>
+ <string name="keyboard_layout_swedish" msgid="732959109088479351">"suedisht"</string>
+ <string name="keyboard_layout_finnish" msgid="5585659438924315466">"finlandisht"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"kroatisht"</string>
+ <string name="keyboard_layout_czech" msgid="1349256901452975343">"çekisht"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"estonisht"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"hungarisht"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"islandisht"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"braziliane"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"portugalisht"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"sllovakisht"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"sllovenisht"</string>
+ <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turqisht"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrainisht"</string>
+ <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arabisht"</string>
+ <string name="keyboard_layout_greek" msgid="7289253560162386040">"greqisht"</string>
+ <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"hebraisht"</string>
+ <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"lituanisht"</string>
+ <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"spanjisht (latine)"</string>
+ <string name="keyboard_layout_latvian" msgid="4405417142306250595">"letonisht"</string>
+</resources>
diff --git a/packages/Keyguard/res/values-gu-rIN/strings.xml b/packages/Keyguard/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..4923221
--- /dev/null
+++ b/packages/Keyguard/res/values-gu-rIN/strings.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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_name" msgid="719438068451601849">"કીગાર્ડ"</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN કોડ લખો"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK અને નવો PIN કોડ લખો"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK કોડ"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"નવો SIM PIN કોડ"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"પાસવર્ડ લખવા માટે ટચ કરો"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"અનલૉક કરવા માટે પાસવર્ડ લખો"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"અનલૉક કરવા માટે PIN લખો"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ખોટો PIN કોડ."</string>
+ <string name="keyguard_charged" msgid="3272223906073492454">"ચાર્જ થયું"</string>
+ <string name="keyguard_plugged_in" msgid="9087497435553252863">"ચાર્જ થઈ રહ્યું છે"</string>
+ <string name="keyguard_low_battery" msgid="8143808018719173859">"તમારું ચાર્જર કનેક્ટ કરો."</string>
+ <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"અનલૉક કરવા માટે મેનૂ દબાવો."</string>
+ <string name="keyguard_network_locked_message" msgid="9169717779058037168">"નેટવર્ક લૉક થયું"</string>
+ <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"કોઈ SIM કાર્ડ નથી"</string>
+ <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ટેબ્લેટમાં SIM કાર્ડ નથી."</string>
+ <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ફોનમાં SIM કાર્ડ નથી."</string>
+ <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"એક SIM કાર્ડ દાખલ કરો."</string>
+ <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM કાર્ડ ખૂટે છે અથવા વાંચન યોગ્ય નથી. SIM કાર્ડ દાખલ કરો."</string>
+ <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"બિનઉપયોગી SIM કાર્ડ."</string>
+ <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"તમારું SIM કાર્ડ કાયમીરૂપે અક્ષમ કરવામાં આવ્યું છે.\n બીજા SIM કાર્ડ માટે તમારા વાયરલેસ સેવા પ્રદાતાનો સંપર્ક કરો."</string>
+ <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM કાર્ડ લૉક કરેલ છે."</string>
+ <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM કાર્ડ, PUK-લૉક કરેલ છે."</string>
+ <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM કાર્ડ અનલૉક કરી રહ્યાં છે…"</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"પેટર્ન અનલૉક."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ફેસ અનલૉક"</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"પિન અનલૉક."</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"પાસવર્ડ અનલૉક કરો."</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"પેટર્ન ક્ષેત્ર."</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"સ્લાઇડ ક્ષેત્ર."</string>
+ <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN ક્ષેત્ર"</string>
+ <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM PIN ક્ષેત્ર"</string>
+ <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM PUK ક્ષેત્ર"</string>
+ <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"<xliff:g id="ALARM">%1$s</xliff:g> માટે આગલો એલાર્મ સેટ કર્યો"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"કાઢી નાખો"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"દાખલ કરો"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"પેટર્ન ભૂલી ગયાં"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ખોટી પેટર્ન"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"ખોટો પાસવર્ડ"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"ખોટો PIN"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"તમારી પેટર્ન દોરો"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN દાખલ કરો"</string>
+ <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"\"<xliff:g id="CARRIER">%1$s</xliff:g>\" માટે SIM PIN દાખલ કરો"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN દાખલ કરો"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"પાસવર્ડ દાખલ કરો"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM હવે અક્ષમ છે. ચાલુ રાખવા માટે PUK કોડ દાખલ કરો. વિગતો માટે કેરીઅરનો સંપર્ક કરો."</string>
+ <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" હવે અક્ષમ છે. ચાલુ રાખવા માટે PUK કોડ દાખલ કરો. વિગતો માટે કેરીઅરનો સંપર્ક કરો."</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"જોઈતો PIN કોડ દાખલ કરો"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"જોઈતા PIN કોડની પુષ્ટિ કરો"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM કાર્ડ અનલૉક કરી રહ્યાં છે…"</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"એક PIN લખો જે 4 થી 8 સંખ્યાનો છે."</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK કોડ 8 અથવા વધુ નંબર્સનો હોવો જોઈએ."</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"સાચો PUK કોડ ફરીથી દાખલ કરો. પુનરાવર્તિત પ્રયાસો SIM ને કાયમી રીતે અક્ષમ કરશે."</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN કોડ્સ મેળ ખાતા નથી"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ઘણા બધા પેટર્ન પ્રયાસો"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો PIN લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારો પાસવર્ડ લખ્યો છે. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે તમારી અનલૉક પેટર્ન દોરી. \n\n<xliff:g id="NUMBER_1">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"તમે ટેબ્લેટને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસો પછી, આ ટેબ્લેટ ફરીથી સેટ કરવામાં આવશે, જે તેનો તમામ ડેટા કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"તમે ફોનને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, આ ફોન ફરીથી સેટ કરવામાં આવશે, જે તેનો તમામ ડેટા કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટેબ્લેટને અનલૉક કરવાનો પ્રયાસ કર્યો. આ ટેબ્લેટ ફરીથી સેટ થશે, જે તેનો તમામ ડેટા કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ફોનને અનલૉક કરવાનો પ્રયાસ કર્યો. આ ફોન ફરીથી સેટ થશે, જે તેનો તમામ ડેટા કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"તમે ટેબ્લેટને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસો પછી, આ વપરાશકર્તાને દૂર કરવામાં આવશે, જે તમામ વપરાશકર્તા ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"તમે ફોનને અનલૉક કરવા માટે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો. <xliff:g id="NUMBER_1">%d</xliff:g> વધુ અસફળ પ્રયાસ પછી, આ વપરાશકર્તા દૂર કરવામાં આવશે, જે તમામ વપરાશકર્તા ડેટા કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટેબ્લેટને અનલૉક કરવાનો પ્રયાસ કર્યો. આ વપરાશકર્તાને દૂર કરવામાં આવશે, જે તમામ વપરાશકર્તા ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ફોનને અનલૉક કરવાનો પ્રયાસ કર્યો. આ વપરાશકર્તાને દૂર કરવામાં આવશે, જે તમામ વપરાશકર્તા ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"તમે ટેબ્લેટને અનલૉક કરવાનો <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો છે. હજી <xliff:g id="NUMBER_1">%d</xliff:g> અસફળ પ્રયાસ પછી, કાર્ય પ્રોફાઇલ દૂર કરવામાં આવશે, જે તમામ પ્રોફાઇલ ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"તમે ફોનને અનલૉક કરવાનો <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે પ્રયાસ કર્યો છે. હજી <xliff:g id="NUMBER_1">%d</xliff:g> અસફળ પ્રયાસ પછી, કાર્ય પ્રોફાઇલ દૂર કરવામાં આવશે, જે તમામ પ્રોફાઇલ ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ટેબ્લેટને અનલૉક કરવાનો પ્રયાસ કર્યો. કાર્ય પ્રોફાઇલ દૂર કરવામાં આવશે, જે તમામ પ્રોફાઇલ ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"તમે <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે ફોનને અનલૉક કરવાનો પ્રયાસ કર્યો. કાર્ય પ્રોફાઇલ દૂર કરવામાં આવશે, જે તમામ પ્રોફાઇલ ડેટાને કાઢી નાખશે."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"તમે <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે અનલૉક પેટર્ન દોરી છે. વધુ <xliff:g id="NUMBER_1">%d</xliff:g> વખત અસફળ પ્રયાસો પછી, તમને એક ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને તમારા ટેબ્લેટને અનલૉક કરવા માટે પૂછવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરી પ્રયાસ કરો."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"તમે તમારી અનલૉક પેટર્ન <xliff:g id="NUMBER_0">%d</xliff:g> વખત ખોટી રીતે દોરી. હજી <xliff:g id="NUMBER_1">%d</xliff:g> અસફળ પ્રયાસ પછી, તમને ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને ફોનને અનલૉક કરવાનું કહેવામાં આવશે.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> સેકંડમાં ફરીથી પ્રયાસ કરો."</string>
+ <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ખોટો SIM PIN કોડ, તમારે હવે તમારું ઉપકરણ અનલૉક કરવા માટે તમારા કેરિઅરનો સંપર્ક કરવો આવશ્યક છે."</string>
+ <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249">
+ <item quantity="one">ખોટો SIM PIN કોડ, તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયાસ બાકી છે.</item>
+ <item quantity="other">ખોટો SIM PIN કોડ, તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયાસ બાકી છે.</item>
+ </plurals>
+ <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"SIM અનુપયોગી છે. તમારા કેરીઅરનો સંપર્ક કરો."</string>
+ <plurals name="kg_password_wrong_puk_code" formatted="false" msgid="7576227366999858780">
+ <item quantity="one">ખોટો SIM PUK કોડ, SIM કાયમી રીતે અનુપયોગી બની જાય તે પહેલા તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયાસ બાકી છે.</item>
+ <item quantity="other">ખોટો SIM PUK કોડ, SIM કાયમી રીતે અનુપયોગી બની જાય તે પહેલા તમારી પાસે <xliff:g id="NUMBER_1">%d</xliff:g> પ્રયાસ બાકી છે.</item>
+ </plurals>
+ <string name="kg_password_pin_failed" msgid="6268288093558031564">"SIM PIN ઑપરેશન નિષ્ફળ થયું!"</string>
+ <string name="kg_password_puk_failed" msgid="2838824369502455984">"SIM PUK ઓપરેશન નિષ્ફળ થયું!"</string>
+ <string name="kg_pin_accepted" msgid="1448241673570020097">"કોડ સ્વીકાર્યો!"</string>
+ <string name="keyguard_carrier_default" msgid="8700650403054042153">"કોઈ સેવા ."</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ઇનપુટ પદ્ધતિ બટન સ્વિચ કરો."</string>
+ <string name="airplane_mode" msgid="3122107900897202805">"એરપ્લેન મોડ"</string>
+ <string name="fingerprint_not_recognized" msgid="2690661881608146617">"ઓળખાયેલ નથી"</string>
+</resources>
diff --git a/packages/Keyguard/res/values-pa-rIN/strings.xml b/packages/Keyguard/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..479ccc8
--- /dev/null
+++ b/packages/Keyguard/res/values-pa-rIN/strings.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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_name" msgid="719438068451601849">"ਕੀਗਾਰਡ"</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN ਕੋਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK ਅਤੇ ਨਵਾਂ PIN ਕੋਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK ਕੋਡ"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"ਨਵਾਂ SIM PIN ਕੋਡ"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"ਪਾਸਵਰਡ ਟਾਈਪ ਕਰਨ ਲਈ ਛੋਹਵੋ"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"ਅਨਲੌਕ ਕਰਨ ਲਈ PIN ਟਾਈਪ ਕਰੋ"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ਗ਼ਲਤ PIN ਕੋਡ।"</string>
+ <string name="keyguard_charged" msgid="3272223906073492454">"ਚਾਰਜ ਕੀਤਾ"</string>
+ <string name="keyguard_plugged_in" msgid="9087497435553252863">"ਚਾਰਜਿੰਗ"</string>
+ <string name="keyguard_low_battery" msgid="8143808018719173859">"ਆਪਣਾ ਚਾਰਜਰ ਕਨੈਕਟ ਕਰੋ।"</string>
+ <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ।"</string>
+ <string name="keyguard_network_locked_message" msgid="9169717779058037168">"ਨੈਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string>
+ <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ"</string>
+ <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ਟੈਬਲੇਟ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string>
+ <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ਫੋਨ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string>
+ <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string>
+ <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM ਕਾਰਡ ਲੁਪਤ ਹੈ ਜਾਂ ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ। ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string>
+ <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"ਨਾਵਰਤਣਯੋਗ SIM ਕਾਰਡ।"</string>
+ <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM ਕਾਰਡ ਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
+ <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM ਕਾਰਡ PUK-ਲੌਕਡ ਹੈ।"</string>
+ <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"ਪੈਟਰਨ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ਚਿਹਰਾ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"ਪਾਸਵਰਡ ਅਨਲੌਕ।"</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"ਪੈਟਰਨ ਖੇਤਰ।"</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"ਖੇਤਰ ਸਲਾਈਡ ਕਰੋ।"</string>
+ <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN ਖੇਤਰ"</string>
+ <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM PIN ਖੇਤਰ"</string>
+ <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM PUK ਖੇਤਰ"</string>
+ <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"ਅਗਲਾ ਅਲਾਰਮ <xliff:g id="ALARM">%1$s</xliff:g> ਲਈ ਸੈਟ ਕੀਤਾ"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ਮਿਟਾਓ"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"ਪੈਟਰਨ ਭੁੱਲ ਗਏ"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ਗ਼ਲਤ ਪੈਟਰਨ"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"ਗ਼ਲਤ ਪਾਸਵਰਡ"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"ਗ਼ਲਤ PIN"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"ਆਪਣਾ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"\"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਲਈ SIM PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਰਜ ਕਰੋ"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"ਲੁੜੀਂਦੇ PIN ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਨੰਬਰਾਂ ਦਾ ਹੈ।"</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK ਕੋਡ 8 ਜਾਂ ਵੱਧ ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਰਜ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN ਕੋਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"ਤੁਸੀਂ ਆਪਣਾ PIN <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਪਾਸਵਰਡ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਟੈਬਲੇਟ ਰੀਸੈਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਫੋਨ ਰੀਸੈਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਟੈਬਲੇਟ ਰੀਸੈਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਫੋਨ ਰੀਸੈਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਉਪਭੋਗਤਾ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ਗ਼ਲਤ SIM PIN ਕੋਡ, ਹੁਣ ਤੁਹਾਨੂੰ ਆਪਣੀ ਡਿਵਾਈਸ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰਨਾ ਪਵੇਗਾ।"</string>
+ <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249">
+ <item quantity="one">ਗ਼ਲਤ SIM PIN ਕੋਡ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ <item quantity="other">ਗ਼ਲਤ SIM PIN ਕੋਡ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ </plurals>
+ <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"SIM ਨਾਵਰਤਣਯੋਗ ਹੈ। ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+ <plurals name="kg_password_wrong_puk_code" formatted="false" msgid="7576227366999858780">
+ <item quantity="one">ਗ਼ਲਤ SIM PUK ਕੋਡ, ਇਸਤੋਂ ਪਹਿਲਾਂ ਕਿ SIM ਸਥਾਈ ਤੌਰ ਤੇ ਨਾਵਰਤਣਯੋਗ ਬਣੇ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ <item quantity="other">ਗ਼ਲਤ SIM PUK ਕੋਡ, ਇਸਤੋਂ ਪਹਿਲਾਂ ਕਿ SIM ਸਥਾਈ ਤੌਰ ਤੇ ਨਾਵਰਤਣਯੋਗ ਬਣੇ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item>
+ </plurals>
+ <string name="kg_password_pin_failed" msgid="6268288093558031564">"SIM PIN ਓਪਰੇਸ਼ਨ ਅਸਫਲ!"</string>
+ <string name="kg_password_puk_failed" msgid="2838824369502455984">"SIM PUK ਓਪਰੇਸ਼ਨ ਅਸਫਲ!"</string>
+ <string name="kg_pin_accepted" msgid="1448241673570020097">"ਕੋਡ ਸਵੀਕਾਰ ਕੀਤਾ ਗਿਆ!"</string>
+ <string name="keyguard_carrier_default" msgid="8700650403054042153">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ।"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ਇਨਪੁਟ ਵਿਧੀ ਬਟਨ ਸਵਿਚ ਕਰੋ।"</string>
+ <string name="airplane_mode" msgid="3122107900897202805">"ਏਅਰਪਲੇਨ ਮੋਡ"</string>
+ <string name="fingerprint_not_recognized" msgid="2690661881608146617">"ਪਛਾਣ ਨਹੀਂ ਹੋਈ"</string>
+</resources>
diff --git a/packages/Keyguard/res/values-sq-rAL/strings.xml b/packages/Keyguard/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..d356588
--- /dev/null
+++ b/packages/Keyguard/res/values-sq-rAL/strings.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2006, 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_name" msgid="719438068451601849">"Mbrojtësi i tasteve"</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Shkruaj kodin PIN"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Shkruaj PUK-un dhe PIN-in e ri"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kodi PUK i kartës SIM"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"PIN-i i ri i kartës SIM"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Prek për të shkruar fjalëkalimin"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Shkruaj fjalëkalimin për të shkyçur"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Shkruaj PIN-in për ta shkyçur"</string>
+ <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Kodi PIN është i pasaktë."</string>
+ <string name="keyguard_charged" msgid="3272223906073492454">"I ngarkuar"</string>
+ <string name="keyguard_plugged_in" msgid="9087497435553252863">"Po ngarkohet"</string>
+ <string name="keyguard_low_battery" msgid="8143808018719173859">"Lidh ngarkuesin."</string>
+ <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Shtyp menynë për ta shkyçur."</string>
+ <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Rrjeti është i kyçur"</string>
+ <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Nuk ka kartë SIM"</string>
+ <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Nuk ka kartë SIM në tablet."</string>
+ <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Në telefon nuk ka kartë SIM."</string>
+ <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Fut një kartë SIM."</string>
+ <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"Karta SIM mungon ose është e palexueshme. Fut një kartë të re SIM."</string>
+ <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"Kartë SIM është e papërdorshme."</string>
+ <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"Karta jote SIM është çaktivizuar përgjithmonë.\n Kontakto operatorin tënd të shërbimit valor për një tjetër kartë SIM."</string>
+ <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"Karta SIM është e kyçur."</string>
+ <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"Karta SIM është e kyçur me PUK."</string>
+ <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"Po shkyç kartën SIM…"</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Shkyçje me motiv."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Shkyçje me fytyrë."</string>
+ <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Shkyçje me PIN."</string>
+ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Shkyçja e fjalëkalimit."</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Zona e motivit."</string>
+ <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Zonën e rrëshqitjes."</string>
+ <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"Zona PIN"</string>
+ <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"Zona PIN e kartës SIM"</string>
+ <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"Zona e PUK-ut të kartës SIM"</string>
+ <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Alarmi tjetër i caktuar: <xliff:g id="ALARM">%1$s</xliff:g>"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Fshi"</string>
+ <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Harrova motivin"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"Motivi është i gabuar"</string>
+ <string name="kg_wrong_password" msgid="2333281762128113157">"Fjalëkalim i gabuar"</string>
+ <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-i është i gabuar"</string>
+ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Provo sërish për <xliff:g id="NUMBER">%d</xliff:g> sekonda."</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"Vizato motivin tënd"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Fut PIN-in e kartës SIM"</string>
+ <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"Fut PIN-in e kartës SIM për \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"Fut PIN-in"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"Fut fjalëkalimin"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"Karta SIM tani është e çaktivizuar. Fut kodin PUK për të vazhduar. Kontakto operatorin për detaje."</string>
+ <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"Karta SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" tani është e çaktivizuar. Fut kodin PUK për të vazhduar. Kontakto operatorin për detaje."</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Fut kodin e dëshiruar të PIN-it"</string>
+ <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Konfirmo kodin e dëshiruar PIN"</string>
+ <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"Po shkyç kartën SIM…"</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Shkruaj një PIN me 4 deri në 8 numra."</string>
+ <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"Kodi PUK duhet të jetë me 8 numra ose më shumë."</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"Fut kodin e saktë PUK. Provat e përsëritura do ta çaktivizojnë përgjithmonë kartën SIM."</string>
+ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"Kodet PIN nuk përputhen"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Shumë tentativa për motivin"</string>
+ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"E ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht PIN-in tënd.\n\n Provo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Ke shkruar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht fjalëkalimin.\n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për të vizatuar motivin tënd. \n\nProvo sërish për <xliff:g id="NUMBER_1">%d</xliff:g> sekonda."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur tabletin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, tableti do të rivendoset si në gjendjen e fabrikës dhe kjo do t\'i fshijë të gjitha të dhënat."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë gabimisht për ta shkyçur telefonin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> përpjekjeve të tjera të pasuksesshme, telefoni do të rivendoset dhe të gjitha të dhënat do të fshihen."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur tabletin tënd. Ky tablet do të rivendoset dhe të gjitha të dhënat në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur telefonin tënd. Ky telefon do të rivendoset dhe të gjitha të dhënat në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, përdoruesi do të hiqet dhe të gjitha të dhënat e përdoruesit në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, përdoruesi do të hiqet dhe të gjitha të dhënat e përdoruesit në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur tabletin. Ky përdorues do të hiqet dhe kjo do t fshijë të gjitha të dhënat e përdoruesit."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Ky përdorues do të hiqet dhe kjo do t\'i fshijë të gjitha të dhënat e përdoruesit."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur tabletin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, profili i punës do të hiqet dhe të gjitha të dhënat në të do të fshihen."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"Ke tentuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, profili i punës do të hiqet dhe të gjitha të dhënat në të do të fshihen."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur tabletin. Profili i punës do të hiqet të gjitha të dhënat në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Profili i punës do të hiqet të gjitha të dhënat në të, do të fshihen."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"E ke vizatuar gabimisht motivin tënd të shkyçjes <xliff:g id="NUMBER_0">%d</xliff:g> herë. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme do të të kërkohet ta shkyçësh tabletin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Ke vizatuar <xliff:g id="NUMBER_0">%d</xliff:g> herë pa sukses motivin tënd. Pas <xliff:g id="NUMBER_1">%d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh telefonin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%d</xliff:g> sekonda."</string>
+ <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"PIN-i i kartës SIM është i pasaktë. Tani duhet të kontaktosh operatorin për ta shkyçur pajisjen tënde."</string>
+ <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249">
+ <item quantity="other">PIN-i i kartës SIM është i pasaktë. Të kanë mbetur edhe <xliff:g id="NUMBER_1">%d</xliff:g> tentativa.</item>
+ <item quantity="one">PIN-i i kartës SIM është i pasaktë. Të ka mbetur edhe <xliff:g id="NUMBER_0">%d</xliff:g> tentativë para se të kontaktosh me operatorin tënd celular për ta shkyçur pajisjen.</item>
+ </plurals>
+ <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"Karta SIM është e papërdorshme. Kontakto operatorin."</string>
+ <plurals name="kg_password_wrong_puk_code" formatted="false" msgid="7576227366999858780">
+ <item quantity="other">PUK-u i kartës SIM është i pasaktë. Të kanë mbetur edhe <xliff:g id="NUMBER_1">%d</xliff:g> tentativa para se karta SIM të bëhet e papërdorshme përgjithmonë.</item>
+ <item quantity="one">PUK-u i kartës SIM është i pasaktë. Të ka mbetur edhe <xliff:g id="NUMBER_0">%d</xliff:g> tentativë para se karta SIM të bëhet e papërdorshme përgjithmonë.</item>
+ </plurals>
+ <string name="kg_password_pin_failed" msgid="6268288093558031564">"Përpjekja për shkyçje të kartës përmes PIN-it dështoi!"</string>
+ <string name="kg_password_puk_failed" msgid="2838824369502455984">"Operacioni i PUK-ut të kartës SIM dështoi!"</string>
+ <string name="kg_pin_accepted" msgid="1448241673570020097">"Kodi u pranua!"</string>
+ <string name="keyguard_carrier_default" msgid="8700650403054042153">"Nuk ka shërbim."</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Butoni i metodës së ndërrimit të hyrjeve."</string>
+ <string name="airplane_mode" msgid="3122107900897202805">"Modaliteti i aeroplanit"</string>
+ <string name="fingerprint_not_recognized" msgid="2690661881608146617">"Nuk njihet"</string>
+</resources>
diff --git a/packages/Keyguard/src/com/android/keyguard/CarrierText.java b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
index 4fbcc1e..e083c9c 100644
--- a/packages/Keyguard/src/com/android/keyguard/CarrierText.java
+++ b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
@@ -18,6 +18,7 @@
import java.util.List;
import java.util.Locale;
+import java.util.Objects;
import android.content.Context;
import android.content.Intent;
@@ -141,7 +142,11 @@
plmn = i.getStringExtra(TelephonyIntents.EXTRA_PLMN);
}
if (DEBUG) Log.d(TAG, "Getting plmn/spn sticky brdcst " + plmn + "/" + spn);
- text = concatenate(plmn, spn);
+ if (Objects.equals(plmn, spn)) {
+ text = plmn;
+ } else {
+ text = concatenate(plmn, spn);
+ }
}
displayText = makeCarrierStringOnEmergencyCapable(
getContext().getText(R.string.keyguard_missing_sim_message_short), text);
@@ -293,11 +298,7 @@
final boolean plmnValid = !TextUtils.isEmpty(plmn);
final boolean spnValid = !TextUtils.isEmpty(spn);
if (plmnValid && spnValid) {
- if (plmn.equals(spn)) {
- return plmn;
- } else {
- return new StringBuilder().append(plmn).append(mSeparator).append(spn).toString();
- }
+ return new StringBuilder().append(plmn).append(mSeparator).append(spn).toString();
} else if (plmnValid) {
return plmn;
} else if (spnValid) {
diff --git a/packages/PrintSpooler/Android.mk b/packages/PrintSpooler/Android.mk
index 27d1b23..19e44e3 100644
--- a/packages/PrintSpooler/Android.mk
+++ b/packages/PrintSpooler/Android.mk
@@ -18,6 +18,8 @@
LOCAL_MODULE_TAGS := optional
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res frameworks/support/v7/recyclerview/res
+LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages android.support.v7.recyclerview
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SRC_FILES += \
src/com/android/printspooler/renderer/IPdfRenderer.aidl \
@@ -30,4 +32,4 @@
include $(BUILD_PACKAGE)
-include $(call all-makefiles-under, $(LOCAL_PATH))
\ No newline at end of file
+include $(call all-makefiles-under, $(LOCAL_PATH))
diff --git a/packages/PrintSpooler/res/values-gu-rIN/strings.xml b/packages/PrintSpooler/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..8708ede
--- /dev/null
+++ b/packages/PrintSpooler/res/values-gu-rIN/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">"પ્રિન્ટ સ્પૂલર"</string>
+ <string name="more_options_button" msgid="2243228396432556771">"વધુ વિકલ્પો"</string>
+ <string name="label_destination" msgid="9132510997381599275">"ગંતવ્ય"</string>
+ <string name="label_copies" msgid="3634531042822968308">"કૉપિઝ"</string>
+ <string name="label_copies_summary" msgid="3861966063536529540">"કૉપિઝ:"</string>
+ <string name="label_paper_size" msgid="908654383827777759">"કાગળનું કદ"</string>
+ <string name="label_paper_size_summary" msgid="5668204981332138168">"કાગળનું કદ:"</string>
+ <string name="label_color" msgid="1108690305218188969">"રંગ"</string>
+ <string name="label_duplex" msgid="1263181386446435253">"ડુપ્લેક્સ"</string>
+ <string name="label_orientation" msgid="2853142581990496477">"ઓરિએન્ટેશન"</string>
+ <string name="label_pages" msgid="7768589729282182230">"પૃષ્ઠો"</string>
+ <string name="template_all_pages" msgid="3322235982020148762">"તમામ <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> ની શ્રેણી"</string>
+ <string name="pages_range_example" msgid="8558694453556945172">"દા.ત. 1—5,8,11—13"</string>
+ <string name="print_preview" msgid="8010217796057763343">"પ્રિન્ટ પૂર્વાવલોકન"</string>
+ <string name="install_for_print_preview" msgid="6366303997385509332">"પૂર્વાવલોકન માટે PDF દર્શક ઇન્સ્ટોલ કરો"</string>
+ <string name="printing_app_crashed" msgid="854477616686566398">"પ્રિન્ટીંગ એપ્લિકેશન ક્રેશ થઈ"</string>
+ <string name="generating_print_job" msgid="3119608742651698916">"પ્રિન્ટ જોબ બનાવી રહ્યું છે"</string>
+ <string name="save_as_pdf" msgid="5718454119847596853">"PDF તરીકે સાચવો"</string>
+ <string name="all_printers" msgid="5018829726861876202">"બધા પ્રિન્ટર્સ…"</string>
+ <string name="print_dialog" msgid="32628687461331979">"પ્રિન્ટ સંવાદ"</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> માંથી <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> પૃષ્ઠ"</string>
+ <string name="summary_template" msgid="8899734908625669193">"સારાંશ, કૉપિઝ <xliff:g id="COPIES">%1$s</xliff:g>, કાગળનું કદ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string>
+ <string name="expand_handle" msgid="7282974448109280522">"વિસ્તૃત કરો હેન્ડલ"</string>
+ <string name="collapse_handle" msgid="6886637989442507451">"સંકુચિત કરો હેન્ડલ"</string>
+ <string name="print_button" msgid="645164566271246268">"છાપો"</string>
+ <string name="savetopdf_button" msgid="2976186791686924743">"PDF પર સાચવો"</string>
+ <string name="print_options_expanded" msgid="6944679157471691859">"છાપ વિકલ્પો વિસ્તૃત થયાં"</string>
+ <string name="print_options_collapsed" msgid="7455930445670414332">"પ્રિન્ટ વિકલ્પો સંકુચિત થયા"</string>
+ <string name="search" msgid="5421724265322228497">"શોધ"</string>
+ <string name="all_printers_label" msgid="3178848870161526399">"બધા પ્રિન્ટર્સ"</string>
+ <string name="add_print_service_label" msgid="5356702546188981940">"સેવા ઉમેરો"</string>
+ <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"શોધ બોક્સ દર્શાવ્યાં"</string>
+ <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"શોધ બોક્સ છુપાયેલ છે"</string>
+ <string name="print_add_printer" msgid="1088656468360653455">"પ્રિન્ટર ઉમેરો"</string>
+ <string name="print_select_printer" msgid="7388760939873368698">"પ્રિન્ટર પસંદ કરો"</string>
+ <string name="print_forget_printer" msgid="5035287497291910766">"પ્રિન્ટર ભૂલી જાઓ"</string>
+ <plurals name="print_search_result_count_utterance" formatted="false" msgid="6997663738361080868">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> પ્રિન્ટર્સ મળ્યાં</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> પ્રિન્ટર્સ મળ્યાં</item>
+ </plurals>
+ <string name="choose_print_service" msgid="3740309762324459694">"પ્રિન્ટ સેવા પસંદ કરો"</string>
+ <string name="print_searching_for_printers" msgid="6550424555079932867">"પ્રિન્ટર્સ માટે શોધી રહ્યું છે"</string>
+ <string name="print_no_printers" msgid="4869403323900054866">"કોઈ પ્રિન્ટર મળ્યા નથી"</string>
+ <string name="printing_notification_title_template" msgid="295903957762447362">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> છાપી રહ્યાં છે"</string>
+ <string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ને રદ કરી રહ્યું છે"</string>
+ <string name="failed_notification_title_template" msgid="2256217208186530973">"પ્રિન્ટર ભૂલ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <string name="blocked_notification_title_template" msgid="1175435827331588646">"પ્રિન્ટરે <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> અવરોધિત કર્યું"</string>
+ <plurals name="composite_notification_title_template" formatted="false" msgid="6940956968211733780">
+ <item quantity="one"><xliff:g id="PRINT_JOB_NAME_1">%1$d</xliff:g> છાપ જોબ</item>
+ <item quantity="other"><xliff:g id="PRINT_JOB_NAME_1">%1$d</xliff:g> છાપ જોબ</item>
+ </plurals>
+ <string name="cancel" msgid="4373674107267141885">"રદ કરો"</string>
+ <string name="restart" msgid="2472034227037808749">"પુનઃપ્રારંભ કરો"</string>
+ <string name="no_connection_to_printer" msgid="2159246915977282728">"પ્રિન્ટર માટે કોઈ કનેક્શન નથી"</string>
+ <string name="reason_unknown" msgid="5507940196503246139">"અજાણ્યું"</string>
+ <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – અનુપલબ્ધ"</string>
+ <string-array name="color_mode_labels">
+ <item msgid="7602948745415174937">"શ્યામ અને શ્વેત"</item>
+ <item msgid="2762241247228983754">"રંગ"</item>
+ </string-array>
+ <string-array name="duplex_mode_labels">
+ <item msgid="3882302912790928315">"કોઈ નહીં"</item>
+ <item msgid="7296563835355641719">"લાંબી કિનારી"</item>
+ <item msgid="79513688117503758">"ટૂંકી કિનારી"</item>
+ </string-array>
+ <string-array name="orientation_labels">
+ <item msgid="4061931020926489228">"પોર્ટ્રેટ"</item>
+ <item msgid="3199660090246166812">"લેન્ડસ્કેપ"</item>
+ </string-array>
+ <string name="print_write_error_message" msgid="5787642615179572543">"ફાઇલ પર લખી શકાયું નથી"</string>
+ <string name="print_error_default_message" msgid="8602678405502922346">"માફ કરશો, તે કામ કરતું નહોતું. ફરીથી પ્રયાસ કરો."</string>
+ <string name="print_error_retry" msgid="1426421728784259538">"ફરી પ્રયાસ કરો"</string>
+ <string name="print_error_printer_unavailable" msgid="8985614415253203381">"આ પ્રિન્ટર અત્યારે ઉપલબ્ધ નથી."</string>
+ <string name="print_preparing_preview" msgid="3939930735671364712">"પૂર્વાવલોકનની તૈયારી કરી રહ્યું છે..."</string>
+</resources>
diff --git a/packages/PrintSpooler/res/values-pa-rIN/strings.xml b/packages/PrintSpooler/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..e8296e8
--- /dev/null
+++ b/packages/PrintSpooler/res/values-pa-rIN/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">"ਪ੍ਰਿੰਟ ਸਪੂਲਰ"</string>
+ <string name="more_options_button" msgid="2243228396432556771">"ਹੋਰ ਚੋਣਾਂ"</string>
+ <string name="label_destination" msgid="9132510997381599275">"ਡੈਸਟੀਨੇਸ਼ਨ"</string>
+ <string name="label_copies" msgid="3634531042822968308">"ਕਾਪੀਆਂ"</string>
+ <string name="label_copies_summary" msgid="3861966063536529540">"ਕਾਪੀਆਂ:"</string>
+ <string name="label_paper_size" msgid="908654383827777759">"ਪੇਪਰ ਦਾ ਆਕਾਰ"</string>
+ <string name="label_paper_size_summary" msgid="5668204981332138168">"ਪੇਪਰ ਦਾ ਆਕਾਰ:"</string>
+ <string name="label_color" msgid="1108690305218188969">"ਰੰਗ"</string>
+ <string name="label_duplex" msgid="1263181386446435253">"Duplex"</string>
+ <string name="label_orientation" msgid="2853142581990496477">"ਅਨੁਕੂਲਨ"</string>
+ <string name="label_pages" msgid="7768589729282182230">"ਸਫ਼ੇ"</string>
+ <string name="template_all_pages" msgid="3322235982020148762">"ਸਾਰੇ <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> ਦੀ ਰੇਂਜ"</string>
+ <string name="pages_range_example" msgid="8558694453556945172">"ਉਦਾਹਰਨ ਲਈ 1—5,8,11—13"</string>
+ <string name="print_preview" msgid="8010217796057763343">"ਪ੍ਰਿੰਟ ਪ੍ਰੀਵਿਊ"</string>
+ <string name="install_for_print_preview" msgid="6366303997385509332">"ਪ੍ਰੀਵਿਊ ਲਈ PDF ਵਿਊਅਰ ਇੰਸਟੌਲ ਕਰੋ"</string>
+ <string name="printing_app_crashed" msgid="854477616686566398">"ਪ੍ਰਿੰਟਿੰਗ ਐਪ ਕ੍ਰੈਸ਼ ਹੋਇਆ"</string>
+ <string name="generating_print_job" msgid="3119608742651698916">"ਪ੍ਰਿੰਟ ਜੌਬ ਬਣਾ ਰਿਹਾ ਹੈ"</string>
+ <string name="save_as_pdf" msgid="5718454119847596853">"PDF ਦੇ ਤੌਰ ਤੇ ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+ <string name="all_printers" msgid="5018829726861876202">"ਸਾਰੇ ਪ੍ਰਿੰਟਰ…"</string>
+ <string name="print_dialog" msgid="32628687461331979">"ਪ੍ਰਿੰਟ ਡਾਇਲੌਗ"</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> ਦਾ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ਸਫ਼ਾ"</string>
+ <string name="summary_template" msgid="8899734908625669193">"ਸਾਰ, ਕਾਪੀਆਂ <xliff:g id="COPIES">%1$s</xliff:g>, ਪੇਪਰ ਦਾ ਆਕਾਰ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string>
+ <string name="expand_handle" msgid="7282974448109280522">"ਹੈਂਡਲ ਨੂੰ ਵਿਸਤਾਰ ਦਿਓ"</string>
+ <string name="collapse_handle" msgid="6886637989442507451">"ਇਕੱਠਾ ਹੋਣ ਦੀ ਸੰਭਾਲ"</string>
+ <string name="print_button" msgid="645164566271246268">"ਪ੍ਰਿੰਟ"</string>
+ <string name="savetopdf_button" msgid="2976186791686924743">"PDF ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+ <string name="print_options_expanded" msgid="6944679157471691859">"ਪ੍ਰਿੰਟ ਚੋਣਾਂ ਦਾ ਵਿਸਤਾਰ ਕੀਤਾ"</string>
+ <string name="print_options_collapsed" msgid="7455930445670414332">"ਪ੍ਰਿੰਟ ਚੋਣਾਂ ਇਕੱਠਾ ਹੋਈਆਂ"</string>
+ <string name="search" msgid="5421724265322228497">"ਖੋਜੋ"</string>
+ <string name="all_printers_label" msgid="3178848870161526399">"ਸਾਰੇ ਪ੍ਰਿੰਟਰ"</string>
+ <string name="add_print_service_label" msgid="5356702546188981940">"ਸੇਵਾ ਜੋੜੋ"</string>
+ <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"ਖੋਜ ਬੌਕਸ ਦਿਖਾਇਆ"</string>
+ <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"ਖੋਜ ਬੌਕਸ ਲੁਕਾਇਆ"</string>
+ <string name="print_add_printer" msgid="1088656468360653455">"ਪ੍ਰਿੰਟਰ ਜੋੜੋ"</string>
+ <string name="print_select_printer" msgid="7388760939873368698">"ਪ੍ਰਿੰਟਰ ਚੁਣੋ"</string>
+ <string name="print_forget_printer" msgid="5035287497291910766">"ਪ੍ਰਿੰਟਰ ਭੁੱਲੋ"</string>
+ <plurals name="print_search_result_count_utterance" formatted="false" msgid="6997663738361080868">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> ਪ੍ਰਿੰਟਰ ਮਿਲੇ</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> ਪ੍ਰਿੰਟਰ ਮਿਲੇ</item>
+ </plurals>
+ <string name="choose_print_service" msgid="3740309762324459694">"ਪ੍ਰਿੰਟ ਸੇਵਾ ਚੁਣੋ"</string>
+ <string name="print_searching_for_printers" msgid="6550424555079932867">"ਪ੍ਰਿੰਟਰ ਖੋਜ ਰਿਹਾ ਹੈ"</string>
+ <string name="print_no_printers" msgid="4869403323900054866">"ਕੋਈ ਪ੍ਰਿੰਟਰ ਨਹੀਂ ਮਿਲੇ"</string>
+ <string name="printing_notification_title_template" msgid="295903957762447362">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ਨੂੰ ਪ੍ਰਿੰਟ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ਨੂੰ ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="failed_notification_title_template" msgid="2256217208186530973">"ਪ੍ਰਿੰਟਰ ਅਸ਼ੁੱਧੀ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <string name="blocked_notification_title_template" msgid="1175435827331588646">"ਪ੍ਰਿੰਟਰ ਬਲੌਕ ਕੀਤਾ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <plurals name="composite_notification_title_template" formatted="false" msgid="6940956968211733780">
+ <item quantity="one"><xliff:g id="PRINT_JOB_NAME_1">%1$d</xliff:g> ਪ੍ਰਿੰਟ ਜੌਬਸ</item>
+ <item quantity="other"><xliff:g id="PRINT_JOB_NAME_1">%1$d</xliff:g> ਪ੍ਰਿੰਟ ਜੌਬਸ</item>
+ </plurals>
+ <string name="cancel" msgid="4373674107267141885">"ਰੱਦ ਕਰੋ"</string>
+ <string name="restart" msgid="2472034227037808749">"ਰੀਸਟਾਰਟ ਕਰੋ"</string>
+ <string name="no_connection_to_printer" msgid="2159246915977282728">"ਪ੍ਰਿੰਟਰ ਲਈ ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"</string>
+ <string name="reason_unknown" msgid="5507940196503246139">"ਅਗਿਆਤ"</string>
+ <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ਅਣਉਪਲਬਧ"</string>
+ <string-array name="color_mode_labels">
+ <item msgid="7602948745415174937">"ਕਾਲਾ & ਚਿੱਟਾ"</item>
+ <item msgid="2762241247228983754">"ਰੰਗ"</item>
+ </string-array>
+ <string-array name="duplex_mode_labels">
+ <item msgid="3882302912790928315">"ਕੋਈ ਨਹੀਂ"</item>
+ <item msgid="7296563835355641719">"ਲੰਮਾ ਕਿਨਾਰਾ"</item>
+ <item msgid="79513688117503758">"ਛੋਟਾ ਕਿਨਾਰਾ"</item>
+ </string-array>
+ <string-array name="orientation_labels">
+ <item msgid="4061931020926489228">"ਤਸਵੀਰ"</item>
+ <item msgid="3199660090246166812">"ਲੈਂਡਸਕੇਪ"</item>
+ </string-array>
+ <string name="print_write_error_message" msgid="5787642615179572543">"ਫਾਈਲ ਵਿੱਚ ਨਹੀਂ ਲਿਖ ਸਕਿਆ"</string>
+ <string name="print_error_default_message" msgid="8602678405502922346">"ਮਾਫ਼ ਕਰਨਾ, ਉਸਨੇ ਲਾਭਕਾਰੀ ਨਹੀਂ ਹੋਇਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="print_error_retry" msgid="1426421728784259538">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="print_error_printer_unavailable" msgid="8985614415253203381">"ਇਹ ਪ੍ਰਿੰਟਰ ਇਸ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
+ <string name="print_preparing_preview" msgid="3939930735671364712">"ਪ੍ਰੀਵਿਊ ਦੀ ਤਿਆਰੀ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+</resources>
diff --git a/packages/PrintSpooler/res/values-sq-rAL/strings.xml b/packages/PrintSpooler/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..01eb719
--- /dev/null
+++ b/packages/PrintSpooler/res/values-sq-rAL/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">"Mbartësi i përkohshëm i printimit"</string>
+ <string name="more_options_button" msgid="2243228396432556771">"Opsione të tjera"</string>
+ <string name="label_destination" msgid="9132510997381599275">"Vendmbërritja"</string>
+ <string name="label_copies" msgid="3634531042822968308">"Kopje"</string>
+ <string name="label_copies_summary" msgid="3861966063536529540">"Kopje:"</string>
+ <string name="label_paper_size" msgid="908654383827777759">"Madhësia e letrës"</string>
+ <string name="label_paper_size_summary" msgid="5668204981332138168">"Madhësia e letrës:"</string>
+ <string name="label_color" msgid="1108690305218188969">"Ngjyra"</string>
+ <string name="label_duplex" msgid="1263181386446435253">"Në dy anë"</string>
+ <string name="label_orientation" msgid="2853142581990496477">"Orientimi"</string>
+ <string name="label_pages" msgid="7768589729282182230">"Faqe"</string>
+ <string name="template_all_pages" msgid="3322235982020148762">"Të <xliff:g id="PAGE_COUNT">%1$s</xliff:g> faqet"</string>
+ <string name="template_page_range" msgid="428638530038286328">"Gama e faqeve: <xliff:g id="PAGE_COUNT">%1$s</xliff:g>"</string>
+ <string name="pages_range_example" msgid="8558694453556945172">"p.sh. 1 - 5,8,11 - 13"</string>
+ <string name="print_preview" msgid="8010217796057763343">"Shikim paraprak i printimit"</string>
+ <string name="install_for_print_preview" msgid="6366303997385509332">"Instalo shikuesin PDF për shikim paraprak"</string>
+ <string name="printing_app_crashed" msgid="854477616686566398">"Aplikacioni i pritimit dështoi"</string>
+ <string name="generating_print_job" msgid="3119608742651698916">"Riaktivizo punën për printim"</string>
+ <string name="save_as_pdf" msgid="5718454119847596853">"Ruaje si PDF"</string>
+ <string name="all_printers" msgid="5018829726861876202">"Të gjithë printerët…"</string>
+ <string name="print_dialog" msgid="32628687461331979">"Printo dialogun"</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">"Faqja <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> nga gjithsej <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string>
+ <string name="summary_template" msgid="8899734908625669193">"Përmbledhja, kopjet <xliff:g id="COPIES">%1$s</xliff:g>, madhësia e letrës <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string>
+ <string name="expand_handle" msgid="7282974448109280522">"Zgjero dorezën"</string>
+ <string name="collapse_handle" msgid="6886637989442507451">"Shpalos dorezën"</string>
+ <string name="print_button" msgid="645164566271246268">"Printo"</string>
+ <string name="savetopdf_button" msgid="2976186791686924743">"Ruaj në PDF"</string>
+ <string name="print_options_expanded" msgid="6944679157471691859">"Opsionet e printimit u zgjeruan"</string>
+ <string name="print_options_collapsed" msgid="7455930445670414332">"Opsionet e printimit u shpalosën"</string>
+ <string name="search" msgid="5421724265322228497">"Kërko"</string>
+ <string name="all_printers_label" msgid="3178848870161526399">"Të gjithë printerët"</string>
+ <string name="add_print_service_label" msgid="5356702546188981940">"Shto shërbim"</string>
+ <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Kutia e kërkimit është e shfaqur"</string>
+ <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"Kutia e kërkimit është e fshehur"</string>
+ <string name="print_add_printer" msgid="1088656468360653455">"Shto printer"</string>
+ <string name="print_select_printer" msgid="7388760939873368698">"Përzgjidh printerin"</string>
+ <string name="print_forget_printer" msgid="5035287497291910766">"Harro printerin"</string>
+ <plurals name="print_search_result_count_utterance" formatted="false" msgid="6997663738361080868">
+ <item quantity="other">U gjetën <xliff:g id="COUNT_1">%1$s</xliff:g> printerë</item>
+ <item quantity="one">U gjet <xliff:g id="COUNT_0">%1$s</xliff:g> printer</item>
+ </plurals>
+ <string name="choose_print_service" msgid="3740309762324459694">"Zgjidh shërbimin e printimit"</string>
+ <string name="print_searching_for_printers" msgid="6550424555079932867">"Po kërkon për printerë"</string>
+ <string name="print_no_printers" msgid="4869403323900054866">"Nuk u gjet asnjë printer"</string>
+ <string name="printing_notification_title_template" msgid="295903957762447362">"Po printon <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <string name="cancelling_notification_title_template" msgid="1821759594704703197">"Po anulon <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <string name="failed_notification_title_template" msgid="2256217208186530973">"Printeri ndeshi në gabim gjatë punës: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
+ <string name="blocked_notification_title_template" msgid="1175435827331588646">"Printeri bllokoi <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</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> punë printimi</item>
+ <item quantity="one"><xliff:g id="PRINT_JOB_NAME_0">%1$d</xliff:g> punë printimi</item>
+ </plurals>
+ <string name="cancel" msgid="4373674107267141885">"Anulo"</string>
+ <string name="restart" msgid="2472034227037808749">"Rifillo"</string>
+ <string name="no_connection_to_printer" msgid="2159246915977282728">"Printeri nuk është i lidhur"</string>
+ <string name="reason_unknown" msgid="5507940196503246139">"e panjohur"</string>
+ <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – nuk mundësohet"</string>
+ <string-array name="color_mode_labels">
+ <item msgid="7602948745415174937">"Bardhezi"</item>
+ <item msgid="2762241247228983754">"Ngjyra"</item>
+ </string-array>
+ <string-array name="duplex_mode_labels">
+ <item msgid="3882302912790928315">"Asnjë"</item>
+ <item msgid="7296563835355641719">"Anë e gjatë"</item>
+ <item msgid="79513688117503758">"Anë e shkurtër"</item>
+ </string-array>
+ <string-array name="orientation_labels">
+ <item msgid="4061931020926489228">"Vertikalisht"</item>
+ <item msgid="3199660090246166812">"Horizontalisht"</item>
+ </string-array>
+ <string name="print_write_error_message" msgid="5787642615179572543">"Skedari nuk mund të shkruhej"</string>
+ <string name="print_error_default_message" msgid="8602678405502922346">"Na vjen keq, nuk funksionoi! Provo përsëri."</string>
+ <string name="print_error_retry" msgid="1426421728784259538">"Provo sërish"</string>
+ <string name="print_error_printer_unavailable" msgid="8985614415253203381">"Ky printer nuk mund të përdoret tani."</string>
+ <string name="print_preparing_preview" msgid="3939930735671364712">"Po përgatit shikimin paraprak…"</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 c7092b3..8d99a64 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -383,9 +383,11 @@
Slog.i(LOG_TAG, "[PERSIST END]");
}
- } catch (IOException e) {
- Slog.wtf(LOG_TAG, "Failed to write settings, restoring backup", e);
+ // Any error while writing is fatal.
+ } catch (Throwable t) {
+ Slog.wtf(LOG_TAG, "Failed to write settings, restoring backup", t);
destination.failWrite(out);
+ throw new IllegalStateException("Failed to write settings, restoring backup", t);
} finally {
IoUtils.closeQuietly(out);
}
@@ -406,9 +408,10 @@
XmlPullParser parser = Xml.newPullParser();
parser.setInput(in, null);
parseStateLocked(parser);
- } catch (XmlPullParserException | IOException ise) {
+
+ } catch (XmlPullParserException | IOException e) {
throw new IllegalStateException("Failed parsing settings file: "
- + mStatePersistFile , ise);
+ + mStatePersistFile , e);
} finally {
IoUtils.closeQuietly(in);
}
diff --git a/packages/Shell/res/values-gu-rIN/strings.xml b/packages/Shell/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..53e3852
--- /dev/null
+++ b/packages/Shell/res/values-gu-rIN/strings.xml
@@ -0,0 +1,26 @@
+<?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="3701846017049540910">"શેલ"</string>
+ <string name="bugreport_finished_title" msgid="2293711546892863898">"બગ રિપોર્ટ કેપ્ચર કરી"</string>
+ <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"તમારી બગ રિપોર્ટ શેર કરવા માટે ડાબે સ્વાઇપ કરો"</string>
+ <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"તમારી બગ રિપોર્ટ શેર કરવા માટે ટચ કરો"</string>
+ <string name="bugreport_confirm" msgid="5130698467795669780">"બગ રિપોર્ટ્સ વ્યક્તિગત અને ખાનગી માહિતી સહિત, સિસ્ટમની વિભિન્ન લૉગ ફાઇલોનો ડેટા ધરાવે છે. બગ રિપોર્ટ્સ ફક્ત તમે વિશ્વાસ કરતા હો તે એપ્લિકેશન્સ અને લોકો સાથે જ શેર કરો."</string>
+ <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"આગલી વખતે આ સંદેશ દર્શાવો"</string>
+ <string name="bugreport_storage_title" msgid="5332488144740527109">"બગ રિપોર્ટ્સ"</string>
+</resources>
diff --git a/packages/Shell/res/values-pa-rIN/strings.xml b/packages/Shell/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..a0c4cda
--- /dev/null
+++ b/packages/Shell/res/values-pa-rIN/strings.xml
@@ -0,0 +1,26 @@
+<?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="3701846017049540910">"ਸ਼ੈਲ"</string>
+ <string name="bugreport_finished_title" msgid="2293711546892863898">"ਬਗ ਰਿਪੋਰਟ ਕੈਪਚਰ ਕੀਤੀ"</string>
+ <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ਤੁਹਾਡੀ ਬਗ ਰਿਪੋਰਟ ਸ਼ੇਅਰ ਕਰਨ ਲਈ ਖੱਬੇ ਪਾਸੇ ਸਵਾਈਪ ਕਰੋ"</string>
+ <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"ਆਪਣੀ ਬਗ ਰਿਪੋਰਟ ਸ਼ੇਅਰ ਕਰਨ ਲਈ ਛੋਹਵੋ"</string>
+ <string name="bugreport_confirm" msgid="5130698467795669780">"ਬਗ ਰਿਪੋਰਟਾਂ ਵਿੱਚ ਸਿਸਟਮ ਦੀਆਂ ਭਿੰਨ ਲੌਗ ਫਾਈਲਾਂ ਦਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ, ਨਿੱਜੀ ਅਤੇ ਪ੍ਰਾਈਵੇਟ ਜਾਣਕਾਰੀ ਸਮੇਤ। ਕੇਵਲ ਉਹਨਾਂ ਐਪਸ ਅਤੇ ਲੋਕਾਂ ਨਾਲ ਬਗ ਰਿਪੋਰਟਾਂ ਸ਼ੇਅਰ ਕਰੋ, ਜਿਹਨਾਂ ਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰਦੇ ਹੋ।"</string>
+ <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"ਅਗਲੀ ਵਾਰ ਇਹ ਸੁਨੇਹਾ ਦਿਖਾਓ"</string>
+ <string name="bugreport_storage_title" msgid="5332488144740527109">"ਬਗ ਰਿਪੋਰਟਾਂ"</string>
+</resources>
diff --git a/packages/Shell/res/values-sq-rAL/strings.xml b/packages/Shell/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..8f252a0
--- /dev/null
+++ b/packages/Shell/res/values-sq-rAL/strings.xml
@@ -0,0 +1,26 @@
+<?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="3701846017049540910">"Guaska"</string>
+ <string name="bugreport_finished_title" msgid="2293711546892863898">"Raporti i defektit në kod u regjistrua"</string>
+ <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Rrëshqit majtas për të ndarë raportin e defektit në kod"</string>
+ <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Prek për të ndarë raportin e defektit në kod"</string>
+ <string name="bugreport_confirm" msgid="5130698467795669780">"Raportet e gabimeve përmbajnë të dhëna nga skedarë të ndryshëm ditarësh sistemi, përfshi informacione personale dhe private. Shpërndaji publikisht raportet e gabimeve vetëm me aplikacionet dhe personat që iu beson."</string>
+ <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Tregoje këtë mesazh herën tjetër"</string>
+ <string name="bugreport_storage_title" msgid="5332488144740527109">"Raportet e gabimeve"</string>
+</resources>
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index a8a4baa..24f6931 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -208,6 +208,10 @@
</intent-filter>
</receiver>
+ <!-- Callback for dismissing screenshot notification after a share target is picked -->
+ <receiver android:name=".screenshot.GlobalScreenshot$TargetChosenReceiver"
+ android:exported="false" />
+
<!-- started from UsbDeviceSettingsManager -->
<activity android:name=".usb.UsbConfirmActivity"
android:exported="true"
diff --git a/packages/SystemUI/README.md b/packages/SystemUI/README.md
new file mode 100644
index 0000000..ae0a362
--- /dev/null
+++ b/packages/SystemUI/README.md
@@ -0,0 +1,5 @@
+# SystemUI Documentation
+
+---
+
+ * [Demo Mode](/packages/SystemUI/docs/demo_mode.md)
diff --git a/packages/SystemUI/docs/demo_mode.md b/packages/SystemUI/docs/demo_mode.md
new file mode 100644
index 0000000..18ae4cb
--- /dev/null
+++ b/packages/SystemUI/docs/demo_mode.md
@@ -0,0 +1,169 @@
+# Demo Mode for the Android System UI
+*Demo mode for the status bar allows you to force the status bar into a fixed state, useful for taking screenshots with a consistent status bar state, or testing different status icon permutations. Demo mode is available in recent versions of Android.*
+
+## Enabling demo mode
+Demo mode is protected behind a system setting. To enable it for a device, run:
+
+```
+adb shell settings put global sysui_demo_allowed 1
+```
+
+## Protocol
+The protocol is based on broadcast intents, and thus can be driven via the command line (```adb shell am broadcast```) or an app (```Context.sendBroadcast```).
+
+### Broadcast action
+```
+com.android.systemui.demo
+```
+
+### Commands
+Commands and subcommands (below) are sent as string extras in the broadcast
+intent.
+<br/>
+Commands are sent as string extras with key ```command``` (required). Possible values are:
+
+Command | Subcommand | Argument | Description
+--- | --- | --- | ---
+```enter``` | | | Enters demo mode, bar state allowed to be modified (for convenience, any of the other non-exit commands will automatically flip demo mode on, no need to call this explicitly in practice)
+```exit``` | | | Exits demo mode, bars back to their system-driven state
+```battery``` | | | Control the battery display
+ | ```level``` | | Sets the battery level (0 - 100)
+ | ```plugged``` | | Sets charging state (```true```, ```false```)
+```network``` | | | Control the RSSI display
+ | ```airplane``` | | ```show``` to show icon, any other value to hide
+ | ```fully``` | | Sets MCS state to fully connected (```true```, ```false```)
+ | ```wifi``` | | ```show``` to show icon, any other value to hide
+ | | ```level``` | Sets wifi level (null or 0-4)
+ | ```mobile``` | | ```show``` to show icon, any other value to hide
+ | | ```datatype``` | Values: ```1x```, ```3g```, ```4g```, ```e```, ```g```, ```h```, ```lte```, ```roam```, any other value to hide
+ | | ```level``` | Sets mobile signal strength level (null or 0-4)
+ | ```carriernetworkchange``` | | Sets mobile signal icon to carrier network change UX when disconnected (```show``` to show icon, any other value to hide)
+```bars``` | | | Control the visual style of the bars (opaque, translucent, etc)
+ | ```mode``` | | Sets the bars visual style (opaque, translucent, semi-transparent)
+```status``` | | | Control the system status icons
+ | ```volume``` | | Sets the icon in the volume slot (```silent```, ```vibrate```, any other value to hide)
+ | ```bluetooth``` | | Sets the icon in the bluetooth slot (```connected```, ```disconnected```, any other value to hide)
+ | ```location``` | | Sets the icon in the location slot (```show```, any other value to hide)
+ | ```alarm``` | | Sets the icon in the alarm_clock slot (```show```, any other value to hide)
+ | ```sync``` | | Sets the icon in the sync_active slot (```show```, any other value to hide)
+ | ```tty``` | | Sets the icon in the tty slot (```show```, any other value to hide)
+ | ```eri``` | | Sets the icon in the cdma_eri slot (```show```, any other value to hide)
+ | ```mute``` | | Sets the icon in the mute slot (```show```, any other value to hide)
+ | ```speakerphone``` | | Sets the icon in the speakerphone slot (```show```, any other value to hide)
+```notifications``` | | | Control the notification icons
+ | ```visible``` | | ```false``` to hide the notification icons, any other value to show
+```clock``` | | | Control the clock display
+ | ```millis``` | | Sets the time in millis
+ | ```hhmm``` | | Sets the time in hh:mm
+
+## Examples
+Enter demo mode
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command enter
+```
+
+
+Exit demo mode
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command exit
+```
+
+
+Set the clock to 12:31
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command clock -e hhmm
+1231
+```
+
+
+Set the wifi level to max
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command network -e wifi
+show -e level 4
+```
+
+
+Show the silent volume icon
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command status -e volume
+silent
+```
+
+
+Empty battery, and not charging (red exclamation point)
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command battery -e level
+0 -e plugged false
+```
+
+
+Hide the notification icons
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command notifications -e
+visible false
+```
+
+
+Exit demo mode
+
+```
+adb shell am broadcast -a com.android.systemui.demo -e command exit
+```
+
+
+## Example demo controller app in AOSP
+```
+frameworks/base/tests/SystemUIDemoModeController
+```
+
+
+## Example script (for screenshotting purposes)
+```bash
+#!/bin/sh
+CMD=$1
+
+if [[ $ADB == "" ]]; then
+ ADB=adb
+fi
+
+if [[ $CMD != "on" && $CMD != "off" ]]; then
+ echo "Usage: $0 [on|off] [hhmm]" >&2
+ exit
+fi
+
+if [[ "$2" != "" ]]; then
+ HHMM="$2"
+fi
+
+$ADB root || exit
+$ADB wait-for-devices
+$ADB shell settings put global sysui_demo_allowed 1
+
+if [ $CMD == "on" ]; then
+ $ADB shell am broadcast -a com.android.systemui.demo -e command enter || exit
+ if [[ "$HHMM" != "" ]]; then
+ $ADB shell am broadcast -a com.android.systemui.demo -e command clock -e
+hhmm ${HHMM}
+ fi
+ $ADB shell am broadcast -a com.android.systemui.demo -e command battery -e
+plugged false
+ $ADB shell am broadcast -a com.android.systemui.demo -e command battery -e
+level 100
+ $ADB shell am broadcast -a com.android.systemui.demo -e command network -e
+wifi show -e level 4
+ $ADB shell am broadcast -a com.android.systemui.demo -e command network -e
+mobile show -e datatype none -e level 4
+ $ADB shell am broadcast -a com.android.systemui.demo -e command notifications
+-e visible false
+elif [ $CMD == "off" ]; then
+ $ADB shell am broadcast -a com.android.systemui.demo -e command exit
+fi
+```
+
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 09faebc..927a58d 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Geen SIM nie."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-verbinding."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegtuigmodus."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Diensverskaffernetwerk verander tans."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Battery <xliff:g id="NUMBER">%d</xliff:g> persent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Stelselinstellings"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Kennisgewings"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Netwerkmonitering"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Deaktiveer VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Ontkoppel VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Hierdie toestel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan jou toestel en netwerkaktiwiteit monitor, insluitend e-posse, programme en veilige webwerwe.\n\nKontak jou administrateur vir meer inligting."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Jy het \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" toestemming gegee om \'n VPN-verbinding op te stel.\n\nHierdie program kan jou toestel en netwerkaktiwiteit monitor, insluitend e-posse, programme en veilige webwerwe."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Jy is aan \'n VPN gekoppel (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nJou VPN-diensverskaffer kan jou toestel en netwerkaktiwiteit monitor, insluitend e-posse, programme en veilige webwerwe."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Hierdie toestel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan jou netwerkaktiwiteit monitor, insluitend e-posse, programme en veilige webwerwe. Kontak jou administrateur vir meer inligting.\n\nJy het ook \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" toestemming gegee om \'n VPN-verbinding op te stel. Die program kan ook jou netwerkaktiwiteit monitor."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Hierdie toestel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur is in staat om jou netwerkaktiwiteit te monitor, insluitend e-posse, programme en veilige webwerwe. Kontak jou administrateur vir meer inligting.\n\nJy is ook aan \'n VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") gekoppel. Jou VPN-diensverskaffer kan ook jou netwerkaktiwiteit monitor."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Hierdie profiel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan jou toestel en netwerkaktiwiteit, insluitend e-posse, programme en veilige webwerwe, monitor.\n\nKontak jou administrateur vir meer inligting."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Hierdie toestel word bestuur deur:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJou profiel word bestuur deur:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJou administrateur kan jou toestel en netwerkaktiwiteit, insluitend e-posse, programme en veilige webwerwe, monitor.\n\nKontak jou administrateur vir meer inligting."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Hierdie profiel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan jou netwerkaktiwiteit, insluitend e-posse, programme en veilige webwerwe, monitor. Kontak jou administrateur vir meer inligting.\n\nOok het jy \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" toestemming gegee om \'n VPN-verbinding op te stel. Hierdie program kan ook netwerkaktiwiteit monitor."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Hierdie profiel word bestuur deur:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan jou netwerkaktiwiteit, insluitend e-posse, programme en veilige webwerwe, monitor. Kontak jou administrateur vir meer inligting.\n\nJy is ook gekoppel aan \'n VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Jou VPN-diensverskaffer kan ook netwerkaktiwiteit monitor."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Dié toestel word bestuur deur:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJou profiel word bestuur deur:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJou administrateur kan netwerkaktiwiteit, soos e-pos, programme en veilige webwerwe, monitor. Kontak jou administrateur vir meer inligting.\n\nOok het jy \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" toegelaat om \'n VPN-verbinding te skep. Dié program kan ook netwerkaktiwiteit monitor."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Dié toestel word bestuur deur:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJou profiel word bestuur deur:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJou administrateur kan jou netwerkaktiwiteit, soos e-posse, programme en veilige webwerwe, monitor. Kontak jou administrateur vir meer inligting.\n\nJy is ook gekoppel aan \'n VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Jou VPN-diensverskaffer kan ook netwerkaktiwiteit monitor."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Toestel sal gesluit bly totdat jy dit handmatig ontsluit"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Kry kennisgewings vinniger"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Sien hulle voordat jy ontsluit"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 083ee76..fb710ca 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"ምንም SIM የለም።"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ብሉቱዝ ማያያዝ።"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"የአውሮፕላን ሁነታ።"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"የአገልግሎት አቅራቢ አውታረ መረብን በመቀየር ላይ።"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"የባትሪ <xliff:g id="NUMBER">%d</xliff:g> መቶኛ።"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"የስርዓት ቅንብሮች"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"ማሳወቂያዎች"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"የአውታረ መረብ ክትትል"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN አሰናክል"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"የVPN ግንኙነት አቋርጥ"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ይችላል።\n\nተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"«<xliff:g id="APPLICATION">%1$s</xliff:g>» አንድ የVPN ግንኙነት እንዲያዋቅር ፍቃድ ሰጥተዋቸዋል።\n\nይህ መተግበሪያ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ይችላል።"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"ከአንድ VPN («<xliff:g id="APPLICATION">%1$s</xliff:g>») ጋር ተገናኝተዋል።\n\nየእርስዎ VPN አገልግሎት አቅራቢ መሣሪያዎን እና ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ይችላል።"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ይችላል። ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም፣ «<xliff:g id="APPLICATION">%2$s</xliff:g>» አንድ የVPN ግንኙነት እንዲያዋቅር ፍቃድ ሰጥተዋቸዋል። ይህ መተግበሪያም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ይችላል። ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም ከአንድ VPN («<xliff:g id="APPLICATION">%2$s</xliff:g>») ጋር ተገናኝተዋል። የእርስዎ የVPN አገልግሎት አቅራቢዎም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የእርስዎን መሣሪያ እና የአውታረ መረብ እንቅስቃሴ የመከታተል ችሎታ አላቸው።\n\nተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nየእርስዎ መገለጫ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የእርስዎን መሣሪያ እና የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።\n\nተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ይህ መገለጫ የሚቀናበረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን የመከታተል ችሎታ አላቸው። ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም «<xliff:g id="APPLICATION">%2$s</xliff:g>» የቪፒኤን ግንኙነት የማዋቀር ፍቃድ ሰጥተውታል። ይህ መተግበሪያ እንዲሁም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የእርስዎን መሣሪያ እና የአውታረ መረብ እንቅስቃሴ የመከታተል ችሎታ አላቸው።ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም ከአንድ ቪፒኤን («<xliff:g id="APPLICATION">%2$s</xliff:g>») ጋር ተገናኝተዋል። የእርስዎ የቪፒኤን አገልግሎት አቅራቢም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ይህ መሣሪያ የሚቀናበረው በ፦\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nየእርስዎ መገለጫ የሚቀናበረው በ፦\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን የመከታተል ችሎታ አላቸው። ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም «<xliff:g id="APPLICATION">%3$s</xliff:g>» የቪፒኤን ግንኙነት የማዋቀር ፍቃድ ሰጥተውታል። ይህ መተግበሪያ እንዲሁም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ይህ መሣሪያ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nየእርስዎ መገለጫ የሚተዳደረው በ፦\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nየእርስዎ አስተዳዳሪ ኢሜይሎችን፣ መተግበሪያዎችን እና ደህንነታቸው የተጠበቁ ድር ጣቢያዎችን ጨምሮ የእርስዎን መሣሪያ እና የአውታረ መረብ እንቅስቃሴ የመከታተል ችሎታ ይኖራቸዋል።ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።\n\nእንዲሁም ከአንድ ቪፒኤን («<xliff:g id="APPLICATION">%3$s</xliff:g>») ጋር ተገናኝተዋል። የእርስዎ የቪፒኤን አገልግሎት አቅራቢም የአውታረ መረብ እንቅስቃሴ መከታተል ይችላል።"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"እራስዎ እስኪከፍቱት ድረስ መሣሪያ እንደተቆለፈ ይቆያል"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"ማሳወቂያዎችን ፈጥነው ያግኙ"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ከመክፈትዎ በፊት ይመልከቷቸው"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 612e2f9..b5f452f 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -150,8 +150,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"ليست هناك شريحة SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ربط البلوتوث."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"وضع الطائرة."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"جارٍ تغيير شبكة مشغِّل شبكة الجوّال."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"مستوى البطارية <xliff:g id="NUMBER">%d</xliff:g> في المائة."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"إعدادات النظام."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"الإشعارات."</string>
@@ -367,17 +366,20 @@
<string name="monitoring_title" msgid="169206259253048106">"مراقبة الشبكات"</string>
<string name="disable_vpn" msgid="4435534311510272506">"تعطيل الشبكة الظاهرية الخاصة"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"قطع الاتصال بشبكة VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"تتم إدارة هذا الجهاز عن طريق:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيمكن للمشرف مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة.\n\nللحصول على المزيد من المعلومات، اتصل بالمشرف."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"لقد منحت \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" إذنًا لإعداد اتصال عبر شبكة ظاهرية خاصة.\n\nيمكن لهذا التطبيق مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"أنت متصل بشبكة ظاهرية خاصة (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nيمكن لموفر خدمة الشبكة الظاهرية الخاصة مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"هذا الجهاز تتم إدارته بواسطة:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيمكن للمشرف مراقبة نشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات اتصل بالمشرف.\n\nوكذلك، فإنك منحت \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" إذنًا لإعداد الاتصال بالشبكة الظاهرية الخاصة. ويمكن لهذا التطبيق مراقبة نشاط الشبكة أيضًا."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"هذا الجهاز تتم إدارته بواسطة:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيمكن للمشرف مراقبة نشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات اتصل بالمشرف.\n\nوكذلك، فإنك متصل بالشبكة الظاهرية الخاصة (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). ويمكن لمزوّد خدمة الشبكة الظاهرية الخاصة مراقبة نشاط الشبكة أيضًا."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"تتم إدارة هذا الملف الشخصي بواسطة:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة.\n\nللحصول على مزيد من المعلومات، اتصل بالمشرف."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"تتم إدارة هذا الجهاز بواسطة:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nتتم إدارة ملفك الشخصي بواسطة:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة.\n\nللحصول على مزيد من المعلومات، اتصل بالمشرف."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"تتم إدارة هذا الملف الشخصي بواسطة:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات، اتصل بالمشرف.\n\nوكذلك، فإنك منحت \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" إذنًا لإعداد اتصال بشبكة ظاهرية خاصة. يتمكن هذا التطبيق من مراقبة نشاط الشبكة كذلك."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"تتم إدارة هذا الجهاز بواسطة:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات، اتصل بالمشرف.\n\nوكذلك، فإنك متصل بشبكة ظاهرية خاصة (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). يتمكن موفر خدمة الشبكة الظاهرية الخاصة من مراقبة نشاط الشبكة كذلك."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"تتم إدارة هذا الجهاز بواسطة:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nتتم إدارة ملفك الشخصي بواسطة:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات، اتصل بالمشرف.\n\nوكذلك، فإنك منحت \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" إذنًا لإعداد اتصال بشبكة ظاهرية خاصة. يتمكن هذا التطبيق من مراقبة نشاط الشبكة كذلك."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"تتم إدارة هذا الجهاز بواسطة:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nتتم إدارة ملفك الشخصي بواسطة:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nيتمكن المشرف من مراقبة جهازك ونشاط الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب الآمنة. للحصول على مزيد من المعلومات، اتصل بالمشرف.\n\nوكذلك، فإنك متصل بشبكة ظاهرية خاصة VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). يتمكن موفر خدمة الشبكة الظاهرية الخاصة من مراقبة نشاط الشبكة كذلك."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"سيظل الجهاز مقفلاً إلى أن يتم إلغاء قفله يدويًا"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"الحصول على الإشعارات بشكل أسرع"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"الاطلاع عليها قبل إلغاء القفل"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index e569a8f..b700031 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Няма SIM карта."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Тетъринг през Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Самолетен режим."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Промяна на мрежата на оператора."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> процента батерия."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Системни настройки."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Известия."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Наблюдение на мрежата"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Деактивиране на VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Прекратяване на връзката с VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Това устройство се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да го наблюдава, както и активността ви в мрежата, включително имейлите, приложенията и защитените уебсайтове.\n\nЗа повече информация се свържете с него."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Дадохте на „<xliff:g id="APPLICATION">%1$s</xliff:g>“ разрешение да настрои връзка с виртуална частна мрежа (VPN).\n\nТова приложение може да наблюдава устройството ви и активността ви в мрежата, включително имейлите, приложенията и защитените уебсайтове."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Свързани сте с виртуална частна мрежа („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nДоставчикът ви на услуги за VPN може да наблюдава устройството ви и активността ви в мрежата, включително имейлите, приложенията и защитените уебсайтове."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"У-вото се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да наблюдава активн. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За повече информация се свържете с него.\n\nСъщо така дадохте на „<xliff:g id="APPLICATION">%2$s</xliff:g>“ разрешение да настрои връзка с вирт. частна мрежа (VPN). Прилож. може да наблюдава и активн. в мрежата."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"У-вото се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да наблюдава активн. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За повече информация се свържете с него.\n\nСъщо така сте свързани с вирт. частна мрежа (VPN) („<xliff:g id="APPLICATION">%2$s</xliff:g>“). Доставчикът ви на услуги за VPN може да наблюдава и активн. ви в мрежата."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Този потребителски профил се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да наблюдава устройството ви и активността ви в мрежата, включително имейлите, приложенията и защитените уебсайтове.\n\nЗа още информация се свържете с него."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Това устройство се управлява от:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПотребителският ви профил се управлява от:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистраторът ви може да наблюдава устройството ви и активността ви в мрежата, включително имейлите, приложенията и защитените уебсайтове.\n\nЗа още информация се свържете с него."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Този потр. профил се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да наблюдава акт. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За още информация се свържете с него.\n\nСъщо така дадохте на <xliff:g id="APPLICATION">%2$s</xliff:g> разрешение да настрои връзка с вирт. частна мрежа (VPN). Прилож. може да наблюдава и акт. в мрежата."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Този потр. профил се управлява от:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторът ви може да наблюдава акт. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За още информация се свържете с него.\n\nСъщо така сте свързани с вирт. частна мрежа (VPN) (<xliff:g id="APPLICATION">%2$s</xliff:g>). Доставчикът ви на услуги за VPN може да наблюдава и акт. ви в мрежата."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Това у-во се управлява от:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПотр. ви профил се управлява от:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистр. ви може да наблюдава акт. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За още информация се свържете с него.\n\nСъщо така дадохте на <xliff:g id="APPLICATION">%3$s</xliff:g> разрешение да настрои връзка с VPN. Приложението може да наблюдава и акт. в мрежата."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"У-вото се управлява от:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПотр. ви профил се управлява от:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистраторът ви може да наблюдава акт. ви в мрежата, вкл. имейлите, прилож. и защитените уебсайтове. За още информация се свържете с него.\n\nСъщо така сте свързани с VPN (<xliff:g id="APPLICATION">%3$s</xliff:g>). Доставчикът ви на услуги за VPN може да наблюдава и акт. ви в мрежата."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Устройството ще остане заключено, докато не го отключите ръчно"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Получавайте известия по-бързо"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Вижте известията, преди да отключите"</string>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index eeaa47a..7eef8d0 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"কোনো সিম নেই৷"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth টিথারিং৷"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"বিমান মোড৷"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"পরিষেবা প্রদানকারীর নেটওয়ার্ক পরিবর্তিত হচ্ছে।"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> শতাংশ ব্যাটারি রয়েছে৷"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"সিস্টেম সেটিংস৷"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"বিজ্ঞপ্তিগুলি৷"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"নেটওয়ার্ক নিরীক্ষণ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN অক্ষম করুন"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN এর সংযোগ বিচ্ছিন্ন করুন"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে পারেন।\n\nআরো তথ্যের জন্য আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"আপনি \"<xliff:g id="APPLICATION">%1$s</xliff:g>\"-কে একটি VPN সংযোগ সেট আপ করার অনুমতি দিয়েছেন।\n\nএই অ্যাপ্লিকেশান ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"আপনি একটি VPN (“<xliff:g id="APPLICATION">%1$s</xliff:g>”) এর সঙ্গে সংযুক্ত আছেন।\n\nআপনার VPN পরিষেবা প্রদানকারী ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে পারেন।"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nআপনি \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"-কে একটি VPN সংযোগ সেট আপ করার অনুমতি দিয়েছেন। এই অ্যাপ্লিকেশান নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nএছাড়াও, আপনি একটি VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") এ সংযুক্ত আছেন। আপনার VPN পরিষেবা প্রদানকারী নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"এই প্রোফাইলটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে পারেন।\n\nআরো তথ্যের জন্য আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"এই ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nআপনার প্রোফাইলটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nআপনার প্রশাসক ইমেল,অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম।\n\nআরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"এই ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nআপনি \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"-কে একটি VPN সংযোগ সেট আপ করার অনুমতিও দিয়েছেন। এই অ্যাপ্লিকেশান নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"এই প্রোফাইলটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nআপনার প্রশাসক ইমেল, অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nএছাড়াও, আপনি একটি VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") এ সংযুক্ত আছেন। আপনার VPN পরিষেবা প্রদানকারী নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"এই ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nআপনার প্রোফাইলটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nআপনার প্রশাসক ইমেল,অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nআপনি \"<xliff:g id="APPLICATION">%3$s</xliff:g>\"-কে একটি VPN সংযোগ সেট আপ করার অনুমতিও দিয়েছেন। এই অ্যাপ্লিকেশান নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"এই ডিভাইসটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nআপনার প্রোফাইলটি পরিচালনা করছে:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nআপনার প্রশাসক ইমেল,অ্যাপ্লিকেশান ও নিরাপদ ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্ক ক্রিয়াকলাপ নিরীক্ষণ করতে সক্ষম। আরো তথ্যের জন্য, আপনার প্রশাসকের সঙ্গে যোগাযোগ করুন।\n\nএছাড়াও, আপনি একটি VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") এ সংযুক্ত আছেন। আপনার VPN পরিষেবা প্রদানকারী নেটওয়ার্ক ক্রিয়াকলাপও নিরীক্ষণ করতে পারে।"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"আপনি নিজে আনলক না করা পর্যন্ত ডিভাইসটি লক হয়ে থাকবে"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"বিজ্ঞপ্তিগুলি আরো দ্রুত পান"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"আপনি আনলক করার আগে ওগুলো দেখুন"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index d567eb2..9fedbe2 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"No hi ha cap targeta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ancoratge de Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode d\'avió."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"S\'està canviant la xarxa de l\'operador de telefonia mòbil."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Supervisió de la xarxa"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Desactiva la VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desconnecta la VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Aquest dispositiu està gestionar per:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'administrador pot supervisar el dispositiu i l\'activitat de la xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs.\n\nPer obtenir més informació, contacta amb el teu administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Has donat permís a \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" per configurar una connexió de VPN.\n\nAquesta aplicació pot supervisar el dispositiu i l\'activitat de la xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Estàs connectat a una VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nEl proveïdor de serveis de VPN pot supervisar el dispositiu i l\'activitat de la xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Administrador del dispositiu:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'administrador pot supervisar la teva activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per obtenir més informació, contacta amb l\'administrador.\n\nA més, has donat permís a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" per configurar una connexió VPN. Aquesta aplicació també pot supervisar l\'activitat de xarxa."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Administrador del dispositiu:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'administrador pot supervisar la teva activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per obtenir més informació, contacta amb l\'administrador.\n\nA més, estàs connectat a una VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). El proveïdor del servei VPN també pot supervisar l\'activitat de xarxa."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Administrador del perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'administrador pot supervisar el dispositiu i la teva activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs.\n\nPer obtenir més informació, contacta amb l\'administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Administrador del dispositiu:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador del perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'administrador pot supervisar el dispositiu i la teva activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs webs segurs.\n\nPer obtenir més informació, contacta amb l\'administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Admin. perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'admin. pot supervisar l\'activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per obtenir més informació, contacta amb l\'admin.\n\nHas donat permís a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" per configurar una connexió VPN. Aquesta aplicació també pot supervisar l\'activitat de xarxa."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Admin. dispositiu:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'admin. pot supervisar l\'activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per obtenir més informació, contacta amb l\'administrador.\n\nEstàs connectat a una VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). El proveïdor del servei VPN també pot supervisar l\'activitat de xarxa."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Admin. dispositiu:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdmin. perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'admin. pot supervisar l\'activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per a més informació, contacta amb l\'admin.\n\nHas donat permís a \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" per configurar una connexió VPN. L\'aplicació pot supervisar l\'activitat de xarxa."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Admin. dispos.:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdmin. perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'admin. pot supervisar l\'activitat de xarxa, inclosos els correus electrònics, les aplicacions i els llocs web segurs. Per a més informació, contacta amb l\'administrador.\n\nEstàs connectat a una VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). El prov. del servei VPN també pot supervisar l\'activitat de xarxa."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"El dispositiu continuarà bloquejat fins que no el desbloquegis manualment."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Obtén notificacions més ràpidament"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Mostra-les abans de desbloquejar"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 3982e06..bfc6bae 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Žádná SIM karta."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Sdílené připojení přes Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Režim Letadlo."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Probíhá změna sítě operátora."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -367,17 +366,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Sledování sítě"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Deaktivovat VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Odpojit VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Toto zařízení je spravováno následující organizací:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávce může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a zabezpečených webových stránek.\n\nChcete-li získat další informace, kontaktujte svého správce."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g> jste udělili oprávnění k nastavení připojení VPN.\n\nSprávce může sledovat vaši aktivitu zařízení a aktivitu v síti, včetně e-mailů, aplikací a zabezpečených webových stránek."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Jste připojeni k síti VPN (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nPoskytovatel připojení VPN může sledovat vaši aktivitu zařízení a aktivitu v síti, včetně e-mailů, aplikací a zabezpečených webových stránek."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Toto zařízení je spravováno následující organizací:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávce může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a zabezpečených webových stránek. Další informace získáte od svého správce.\n\nNavíc jste aplikaci <xliff:g id="APPLICATION">%2$s</xliff:g> udělili oprávnění k nastavení připojení VPN. Aktivitu v síti může sledovat také tato aplikace."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Toto zařízení je spravováno následující organizací:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávce může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a zabezpečených webových stránek. Další informace získáte od svého správce.\n\nNavíc jste připojeni také k síti VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Vaši aktivitu v síti může sledovat také poskytovatel připojení VPN."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Tento profil spravuje organizace:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrátor může monitorovat vaše zařízení a síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů.\n\nO další informace požádejte svého administrátora."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Toto zařízení spravuje organizace:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizace:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrátor může monitorovat vaše zařízení a síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů.\n\nO další informace požádejte svého administrátora."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Tento profil spravuje organizace:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrátor může monitorovat vaši síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů. O další informace požádejte svého administrátora.\n\nTaké jste aplikaci <xliff:g id="APPLICATION">%2$s</xliff:g> dali oprávnění nastavit připojení VPN. Tato aplikace může síťovou aktivitu monitorovat také."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Tento profil spravuje organizace:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrátor může monitorovat vaši síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů. O další informace požádejte svého administrátora.\n\nJste také připojeni k síti VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>“). Síťovou aktivitu může monitorovat i poskytovatel služby VPN."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Toto zařízení spravuje organizace:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizace:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrátor může monitorovat vaši síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů. O další informace požádejte svého administrátora.\n\nTaké jste aplikaci <xliff:g id="APPLICATION">%3$s</xliff:g> dali oprávnění nastavit připojení VPN. Tato aplikace může síťovou aktivitu monitorovat také."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Toto zařízení spravuje organizace:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizace:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrátor může monitorovat vaši síťovou aktivitu, včetně e-mailů, aplikací a zabezpečených webů. O další informace požádejte svého administrátora.\n\nJste také připojeni k síti VPN („<xliff:g id="APPLICATION">%3$s</xliff:g>“). Síťovou aktivitu může monitorovat i poskytovatel služby VPN."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Zařízení zůstane uzamčeno, dokud je ručně neodemknete"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Čtěte si oznámení rychleji"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Můžete si je přečíst před odemčením obrazovky."</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index e574f12..b526e03 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Intet SIM-kort."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-netdeling."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flytilstand."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Skift af dit mobilselskabs netværk."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Batteri <xliff:g id="NUMBER">%d</xliff:g> procent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Systemindstillinger."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Underretninger."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Overvågning af netværk"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Deaktiver VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Afbryd VPN-forbindelse"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Denne enhed administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Du har givet \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" tilladelse til at konfigurere en VPN-forbindelse.\n\nDenne app kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Du har forbindelse til et VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nDin VPN-udbyder kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Denne enhed administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din netværksaktivitet, f.eks. e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu gav også \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" tilladelse til at konfigurere en VPN-forbindelse. Denne app kan også overvåge netværksaktiviteten."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Denne enhed administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din netværksaktivitet, f.eks. e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu har også forbindelse til et VPN-netværk (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Din VPN-udbyder kan også overvåge netværksaktiviteten."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Denne profil administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt administratoren for at få flere oplysninger."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Denne enhed administreres af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil administreres af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nDin administrator kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt administratoren for at få flere oplysninger."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Denne enhed administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din netværksaktivitet, f.eks. e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu har også givet \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" tilladelse til at konfigurere en VPN-forbindelse. Denne app kan også overvåge netværksaktiviteten."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Denne profil administreres af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administrator kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu har desuden forbindelse til et VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Din VPN-udbyder kan også overvåge din netværksaktivitet."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Enheden administreres af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil administreres af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoren kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu har desuden givet \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" tilladelse til at konfigurere en VPN-forbindelse. Denne app kan også overvåge netværksaktivitet."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Enheden administreres af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil administreres af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoren kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites. Kontakt administratoren for at få flere oplysninger.\n\nDu har desuden forbindelse til et VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Din VPN-udbyder kan også overvåge din netværksaktivitet."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Enheden vil forblive låst, indtil du manuelt låser den op"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Modtag underretninger hurtigere"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Se dem, før du låser op"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index b064055..e68a075 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Keine SIM-Karte"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-Tethering"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flugmodus"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Netzwerk des Mobilfunkanbieters wird gewechselt"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Netzwerküberwachung"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN deaktivieren"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN-Verbindung trennen"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihr Gerät und Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nWeitere Informationen erhalten Sie bei Ihrem Administrator."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Sie haben \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" gestattet, eine VPN-Verbindung herzustellen.\n\nDiese App kann Ihr Gerät und Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Sie sind mit einem VPN verbunden: <xliff:g id="APPLICATION">%1$s</xliff:g>.\n\nIhr VPN-Anbieter kann Ihr Gerät und Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivitäten überwachen, darunter E-Mails, Apps und sichere Websites. Mehr erfahren Sie von Ihrem Administrator.\n\nSie haben zudem \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" gestattet, eine VPN-Verbindung herzustellen. Diese App kann auch Ihre Netzwerkaktivitäten überwachen."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites. Mehr erfahren Sie von Ihrem Administrator.\n\nSie sind zudem mit einem VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") verbunden. Ihr VPN-Anbieter kann ebenfalls Ihre Netzwerkaktivitäten überwachen."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Dieses Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihr Gerät und Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nWeitere Informationen erhalten Sie von Ihrem Administrator."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIhr Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nIhr Administrator kann Ihr Gerät und Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nWeitere Informationen erhalten Sie von Ihrem Administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Dieses Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivität überwachen, darunter E-Mails, Apps und sichere Websites. Mehr erfahren Sie von Ihrem Administrator.\n\nSie haben zudem \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" gestattet, eine VPN-Verbindung herzustellen. Diese App kann Ihre Netzwerkaktivität auch überwachen."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Dieses Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites. Mehr erfahren Sie von Ihrem Administrator.\n\nSie sind zudem mit einem VPN verbunden (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Ihr VPN-Anbieter kann die Netzwerkaktivität ebenfalls überwachen."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIhr Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites. Weitere Informationen erhalten Sie von Ihrem Administrator.\n\nSie haben zudem \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" das Herstellen einer VPN-Verbindung gestattet. Diese App kann die Netzwerkaktivität auch überwachen."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Dieses Gerät wird verwaltet von:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIhr Profil wird verwaltet von:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nIhr Administrator kann Ihre Netzwerkaktivität überwachen, einschließlich E-Mails, Apps und sicherer Websites. Weitere Informationen erhalten Sie von Ihrem Administrator.\n\nSie sind zudem mit einem VPN verbunden (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Ihr VPN-Anbieter kann die Netzwerkaktivität ebenfalls überwachen."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Das Gerät bleibt gesperrt, bis Sie es manuell entsperren."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Benachrichtigungen schneller erhalten"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Vor dem Entsperren anzeigen"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index bdbd26f..a60f3d6 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Δεν υπάρχει SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Πρόσδεση Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Λειτουργία πτήσης."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Αλλαγή δικτύου εταιρείας κινητής τηλεφωνίας."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Παρακολούθηση δικτύου"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Απενεργοποίηση VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Αποσύνδεση VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Η διαχείριση αυτής της συσκευής πραγματοποιείται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής σας μπορεί να παρακολουθεί τη δραστηριότητα της συσκευής σας και του δικτύου, συμπεριλαμβανομένων των μηνυμάτων ηλεκτρονικού ταχυδρομείου, των εφαρμογών και των ασφαλών ιστότοπων.\n\nΓια περισσότερες πληροφορίες, επικοινωνήστε με το διαχειριστή σας."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Παραχωρήσατε στην εφαρμογή \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" άδεια για τη δημιουργία σύνδεσης VPN.\n\nΑυτή η εφαρμογή μπορεί να παρακολουθεί τη δραστηριότητα της συσκευής σας και του δικτύου, συμπεριλαμβανομένων των μηνυμάτων ηλεκτρονικού ταχυδρομείου, των εφαρμογών και των ασφαλών ιστότοπων."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Είστε συνδεδεμένοι σε VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nΟ πάροχος της υπηρεσίας VPN μπορεί να παρακολουθεί τη δραστηριότητα της συσκευής σας και του δικτύου, συμπεριλαμβανομένων των μηνυμάτων ηλεκτρονικού ταχυδρομείου, των εφαρμογών και των ασφαλών ιστότοπων."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Η διαχ. της συσκευής γίνεται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακ. τη δραστ. του δικτύου, όπως τα μην. ηλ. ταχυδρ., τις εφαρ. και τους ασφ. ιστότ. Για περισ. πληροφορίες, επικοιν. με το διαχειριστή.\n\nΕπίσης, επιτρέψατε στο \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" να ρυθμίσει σύνδεση VPN. Αυτή η εφαρ. μπορεί να παρακ. τη δραστ. του δικτύου."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Η διαχείριση της συσκευής γίνεται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολ. τη δραστ. του δικτύου, όπως τα μην. ηλεκ. ταχυδρ., τις εφαρμογές και τους ασφαλείς ιστότοπους. Για περισ. πληροφορίες, επικοιν. με το διαχειριστή.\n\nΕπίσης, είστε συνδεδ. σε VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Ο παροχέας VPN μπορεί να παρακολ. τη δραστ. του δικτύου."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Η διαχείριση του προφίλ γίνεται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και δραστηριότητα δικτύου, email, εφαρμογές και ασφαλείς ιστότοπους.\n\nΓια πληροφορίες, επικοινωνήστε με το διαχειριστή."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Η διαχείριση της συσκευής γίνεται από:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nΗ διαχείριση του προφίλ σας γίνεται από:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και τη δραστηριότητα δικτύου σας, τα μηνύματα ηλεκτρονικού ταχυδρομείου, τις εφαρμογές και τους ασφαλείς ιστότοπους.\n\nΓια πληροφορίες, επικοινωνήστε με το διαχειριστή."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Η διαχείριση του προφίλ γίνεται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και δραστηριότητα δικτύου, email, εφαρμογές και ασφαλείς ιστότοπους. Για πληροφορίες, επικοινωνήστε με το διαχειριστή.\n\nΠαραχωρήσατε άδεια \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" για ρύθμιση σύνδεσης VPN. Η εφαρμογή μπορεί να παρακολουθεί τη δραστηριότητα δικτύου."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Η διαχείριση του προφίλ γίνεται από:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και δραστηριότητα δικτύου, email, εφαρμογές και ασφαλείς ιστότοπους. Για πληροφορίες, επικοινωνήστε με το διαχειριστή.\n\nΕπίσης, συνδεθήκατε σε VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Ο πάροχος VPN μπορεί να παρακολουθεί τη δραστηριότητα δικτύου."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Η διαχείριση της συσκευής γίνεται από:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nΗ διαχείριση του προφίλ γίνεται από:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και δραστηριότητα δικτύου, email, εφαρμογές και ασφαλείς ιστότοπους. Για πληροφορίες, επικοινωνήστε με το διαχειριστή.\n\nΠαραχωρήσατε άδεια \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" για ρύθμιση σύνδεσης VPN. Η εφαρμογή μπορεί να παρακολουθεί τη δραστηριότητα δικτύου."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Η διαχείριση της συσκευής γίνεται από:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nΗ διαχείριση του προφίλ γίνεται από:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nΟ διαχειριστής μπορεί να παρακολουθεί τη συσκευή και τη δραστηριότητα δικτύου σας, τα email, εφαρμογές και ασφαλείς ιστότοπους.\n\nΕπίσης, συνδεθήκατε σε VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Ο πάροχος VPN μπορεί να παρακολουθεί τη δραστηριότητα δικτύου σας."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Η συσκευή θα παραμείνει κλειδωμένη έως ότου την ξεκλειδώσετε μη αυτόματα"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Λάβετε ειδοποιήσεις γρηγορότερα"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Εμφάνιση πριν το ξεκλείδωμα"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index fe52d59..f6391d5 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -362,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Disable VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Disconnect VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"You gave \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" permission to set up a VPN connection.\n\nThis app can monitor your device and network activity, including emails, apps and secure websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"You\'re connected to a VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nYour VPN service provider can monitor your device and network activity including emails, apps and secure websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Device will stay locked until you manually unlock"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Get notifications faster"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"See them before you unlock"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index fe52d59..f6391d5 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -362,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Disable VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Disconnect VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"You gave \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" permission to set up a VPN connection.\n\nThis app can monitor your device and network activity, including emails, apps and secure websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"You\'re connected to a VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nYour VPN service provider can monitor your device and network activity including emails, apps and secure websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Device will stay locked until you manually unlock"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Get notifications faster"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"See them before you unlock"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index fe52d59..f6391d5 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -362,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Disable VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Disconnect VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"You gave \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" permission to set up a VPN connection.\n\nThis app can monitor your device and network activity, including emails, apps and secure websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"You\'re connected to a VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nYour VPN service provider can monitor your device and network activity including emails, apps and secure websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"This device is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator can monitor your device and network activity, including emails, apps and secure websites.\n\nFor more information, contact your administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Device will stay locked until you manually unlock"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Get notifications faster"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"See them before you unlock"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 8ed73b7..43c4af3 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sin tarjeta SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conexión mediante Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Cambio de proveedor de red"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de red"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Inhabilitar VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desconectar VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Este dispositivo está administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar la actividad de la red y del dispositivo, incluidos el correo electrónico, las aplicaciones y los sitios web seguros.\n\nPara obtener más información, comunícate con el administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Permitiste que \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" configure una conexión VPN.\n\nEsta aplicación puede supervisar la actividad de la red y del dispositivo, incluidos el correo electrónico, las aplicaciones y los sitios web seguros."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Estás conectado a una VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nEl proveedor de servicios de VPN puede supervisar la actividad de la red y del dispositivo, incluidos el correo electrónico, las aplicaciones y los sitios web seguros."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Dispositivo está administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red (correo electrónico, aplicaciones y sitios web seguros). Para más información, comunícate con el administrador.\n\nY permitiste que \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" configure una VPN. La aplicación también puede supervisar la actividad de red."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Dispositivo administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red (correo electrónico, aplicaciones y sitios web seguros). Para más información, comunícate con el administrador.\n\nY estás conectado a una VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). El proveedor de servicios de VPN puede supervisar la actividad de red."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Administrador de este perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar el dispositivo y la actividad de red, incluidos correos electrónicos, aplicaciones y sitios web seguros.\n\nPara más información, comunícate con el administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Administrador de este dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador de tu perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nEl administrador puede supervisar el dispositivo y la actividad de red, incluidos correos electrónicos, aplicaciones y sitios web seguros.\n\nPara más información, comunícate con el administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Administrador de perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red, como correos electrónicos, aplicaciones y sitios web seguros. Para más información, comunícate con el administrador.\n\nPermitiste que \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" configure una conexión VPN; también puede supervisar la actividad de red."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Administrador perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red, como correos electrónicos, aplicaciones y sitios web seguros. Para más información, comunícate con el administrador.\n\nEstás conectado a una VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). El proveedor de servicios VPN también puede supervisar la actividad de red."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Administrador dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red, como correos, aplicaciones y sitios web seguros. Para más información, comunícate con el administrador.\n\nPermitiste que \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" configure una conexión VPN; también puede supervisar la actividad de red."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Administrador dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nEl administrador puede supervisar la actividad de red, como correos, aplicaciones y sitios seguros. Para más información, comunícate con el administrador.\n\nEstás conectado a una VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). El proveedor de servicios VPN puede supervisar la actividad de red."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"El dispositivo permanecerá bloqueado hasta que lo desbloquees manualmente."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Recibe notificaciones más rápido"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ver antes de desbloquear"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 4527eee..bfc2986 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sin tarjeta SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Anclaje por Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Cambiando red de operador."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> por ciento de batería"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Ajustes del sistema"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Notificaciones"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de red"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Inhabilitar VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desconectar VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Este dispositivo está administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTu administrador puede supervisar la actividad de tu red y de tu dispositivo, incluidos correos electrónicos, aplicaciones y sitios web seguros.\n\nPara obtener más información, ponte en contacto con tu administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Has concedido permiso a \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" para configurar una conexión VPN.\n\nEsta aplicación puede supervisar la actividad de tu red y de tu dispositivo, incluidos correos electrónicos, aplicaciones y sitios web seguros."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Estás conectado a una red VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nTu proveedor de servicios de VPN puede supervisar la actividad de tu red y de tu dispositivo, incluidos correos electrónicos, aplicaciones y sitios web seguros."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Este dispositivo está administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTu administrador puede supervisar la actividad de tu red, incluidos correos electrónicos, aplicaciones y sitios web seguros. Para obtener más información, ponte en contacto con tu administrador.\n\nAdemás, has concedido permiso a <xliff:g id="APPLICATION">%2$s</xliff:g> para configurar una red VPN. Esta aplicación también puede supervisar tu red."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Este dispositivo está administrado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTu administrador puede supervisar la actividad de tu red, incluidos correos electrónicos, aplicaciones y sitios web seguros. Para obtener más información, ponte en contacto con tu administrador.\n\nAdemás, estás conectado a una red VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). El proveedor de servicios de VPN también puede supervisar la actividad de la red."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Administrador de este perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nEl administrador puede supervisar tu dispositivo y actividad de red, como correos electrónicos, aplicaciones y sitios web seguros.\n\nPara obtener más información, ponte en contacto con el administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Administrador de este dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador de tu perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nEl administrador puede supervisar tu dispositivo y actividad de red, como correos electrónicos, aplicaciones y sitios web seguros.\n\nPara obtener más información, ponte en contacto con el administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Administrador perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrador puede supervisar actividad red, como correos electrónicos, aplicaciones y sitios web seguros. Para obtener más información, ponte en contacto con administrador.\n\nHas concedido permiso a <xliff:g id="APPLICATION">%2$s</xliff:g> para configurar conexión VPN, por lo que también puede supervisar actividad red."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Administrador del perfil:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrador puede supervisar actividad red, como correos electrónicos, aplicaciones y sitios web seguros. Para obtener más información, ponte en contacto con administrador.\n\nEstás conectado a red VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"), por lo que proveedor servicios VPN puede supervisar actividad red."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Administrador dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrador puede supervisar actividad red, como correos electrónicos, aplicaciones y sitios web seguros. Para info, ponte en contacto con administrador.\n\nHas concedido permiso a <xliff:g id="APPLICATION">%3$s</xliff:g> para configurar conexión VPN y también puede supervisar actividad red."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Administrador dispositivo:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAdministrador perfil:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrador puede supervisar actividad red, como correos electrónicos, aplicaciones y sitios web seguros. Para más info, ponte en contacto con administrador.\n\nEstás conectado a VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"), por lo que proveedor servicios VPN puede supervisar actividad red."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"El dispositivo permanecerá bloqueado hasta que se desbloquee manualmente"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Recibe notificaciones más rápido"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ver antes de desbloquear"</string>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index c247d19..bae1cae 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM-kaarti pole."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetoothi jagamine."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lennurežiim."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Operaatori võrku muudetakse."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Aku: <xliff:g id="NUMBER">%d</xliff:g> protsenti."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Süsteemiseaded"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Teatised"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Võrgu jälgimine"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Keela VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Katkesta VPN-i ühendus"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Seadet haldab:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTeie administraator võib jälgida teie seadet ja võrgutegevust, sh meile, rakendusi ja turvalisi veebisaite.\n\nLisateabe saamiseks võtke ühendust administraatoriga."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Andsite rakendusele „<xliff:g id="APPLICATION">%1$s</xliff:g>” loa seadistada VPN-i ühenduse.\n\nSee rakendus saab jälgida teie seadet ja võrgutegevust, sh meile, rakendusi ja turvalisi veebisaite."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Olete ühendatud VPN-iga („<xliff:g id="APPLICATION">%1$s</xliff:g>”).\n\nTeie VPN-i teenusepakkuja võib jälgida teie seadet ja võrgutegevust, sh meile, rakendusi ja turvalisi veebisaite."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Seda seadet haldab\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutegevust, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke ühendust administraatoriga.\n\nLisaks andsite rakendusele „<xliff:g id="APPLICATION">%2$s</xliff:g>” loa seadistada VPN-i ühendus. See rakendus võib ka jälgida teie võrgutegevust."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Seda seadet haldab\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutegevust, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke ühendust administraatoriga.\n\nSamuti olete ühendatud VPN-iga („<xliff:g id="APPLICATION">%2$s</xliff:g>”). VPN-i teenusepakkuja saab ka teie võrgutegevust jälgida."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Seda profiili haldab\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministraator saab jälgida teie seadet ja võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite.\n\nLisateabe saamiseks võtke administraatoriga ühendust."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Seda seadet haldab\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nTeie profiili haldab\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministraator saab jälgida teie seadet ja võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite.\n\nLisateabe saamiseks võtke administraatoriga ühendust."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Seda profiili haldab\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke administraatoriga ühendust.\n\nLisaks andsite rakendusele „<xliff:g id="APPLICATION">%2$s</xliff:g>” loa VPN-ühenduse seadistamiseks. Ka see rakendus saab teie võrgutoiminguid jälgida."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Seda profiili haldab\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke administraatoriga ühendust.\n\nLisaks olete ühendatud VPN-iga („<xliff:g id="APPLICATION">%2$s</xliff:g>”). Ka teie VPN-i teenusepakkuja saab teie võrgutoiminguid jälgida."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Seda seadet haldab\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nTeie profiili haldab\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke administraatoriga ühendust.\n\nLisaks andsite rakendusele „<xliff:g id="APPLICATION">%3$s</xliff:g>” loa VPN-ühenduse seadistamiseks. Ka see rakendus saab teie võrgutoiminguid jälgida."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Seda seadet haldab\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nTeie profiili haldab\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministraator saab jälgida teie võrgutoiminguid, sh meile, rakendusi ja turvalisi veebisaite. Lisateabe saamiseks võtke administraatoriga ühendust.\n\nLisaks olete ühendatud VPN-iga („<xliff:g id="APPLICATION">%3$s</xliff:g>”). Ka teie VPN-i teenusepakkuja saab teie võrgutoiminguid jälgida."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Seade jääb lukku, kuni selle käsitsi avate"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Saate märguandeid kiiremini"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Näete neid enne avamist"</string>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index e5efbcc..e9e65bf 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ez dago SIM txartelik."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Konexioa partekatzea (Bluetooth)"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Hegaldi-modua"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Operadorearen sarea aldatzea."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Bateriaren karga: <xliff:g id="NUMBER">%d</xliff:g>."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistemaren ezarpenak."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Jakinarazpenak."</string>
@@ -304,7 +303,7 @@
<string name="description_direction_up" msgid="7169032478259485180">"Lerratu gora hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
<string name="description_direction_left" msgid="7207478719805562165">"Lerratu ezkerrera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
<string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"Etenaldirik ez, ezta alarmaren bat bada ere."</string>
- <string name="zen_priority_introduction" msgid="7253045784560169993">"Soinuek eta dardarek ez zaituzte eragotziko, zehazten dituzun abisuek, gertaerek eta deitzaileek izan ezik."</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"Soinuek eta dardarek ez zaituzte eragotziko, zehazten dituzun alarmek, abisuek, gertaerek eta deitzaileek izan ezik."</string>
<string name="zen_priority_customize_button" msgid="7948043278226955063">"Pertsonalizatu"</string>
<string name="zen_no_interruptions" msgid="7970973750143632592">"Etenaldirik gabe"</string>
<string name="zen_important_interruptions" msgid="3477041776609757628">"Lehentasun-etenaldiak soilik"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Sareen kontrola"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Desgaitu VPN konexioa"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Deskonektatu VPN sarea"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak gailua eta sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webgune seguruak barne.\n\nInformazio gehiago lortzeko, jarri administratzailearekin harremanetan."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"VPN konexioa konfiguratzeko baimena eman diozu \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" aplikazioari.\n\nAplikazioak gailua eta sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webgune seguruak barne."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN sarera konektatuta zaude (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nVPN zerbitzu-hornitzaileak gailua eta sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webgune seguruak barne."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webgune seguruak barne.Informazio gehiago lortzeko, jarri administratzailearekin harremanetan.\n\nGainera, VPN konexio bat ezartzeko baimena eman diozu \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" aplikazioari. Aplikazioak ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webgune seguruak barne. Informazio gehiago lortzeko, jarri administratzailearekin harremanetan.\n\nGainera, VPN sare batera konektatuta zaude (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). VPN hornitzaileak ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Honek kudeatzen du profila:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak gailua eta sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne.\n\nInformazio gehiago lortzeko, jo administratzailearengana."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHonek kudeatzen du profila:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratzaileak gailua eta sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne.\n\nInformazio gehiago lortzeko, jo administratzailearengana."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Honek kudeatzen du profila:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne. Info. gehiago lortzeko, jo administratzailearengana.\n\nGainera, VPN konexioa konfiguratzeko \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" baimena eman duzu. Aplikazio horrek ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Honek kudeatzen du profila:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne. Info. gehiago lortzeko, jo administratzailearengana.\n\nGainera, VPN sare batera konektatuta zaude (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). VPN hornitzaileak ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHonek kudeatzen du profila:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne. Info. gehiago lortzeko, jo administratzailearengana.\n\nGainera, VPN konexioa konfiguratzeko \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" baimena eman duzu. Aplikazio horrek ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Honek kudeatzen du gailua:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHonek kudeatzen du profila:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratzaileak sarean egiten dituzun jarduerak kontrola ditzake, mezuak, aplikazioak eta webgune seguruak barne. Info. gehiago lortzeko, jo administratzailearengana.\n\nGainera, VPN sare batera konektatuta zaude (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). VPN hornitzaileak ere kontrola ditzake sarean egiten dituzun jarduerak."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Gailua blokeatuta egongo da eskuz desblokeatu arte"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Eskuratu jakinarazpenak azkarrago"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ikusi desblokeatu baino lehen"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 955c5a8..9dae805 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"بدون سیم کارت."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"اتصال اینترنت با بلوتوث تلفن همراه."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"حالت هواپیما."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"تغییر شبکه شرکت مخابراتی."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"باتری <xliff:g id="NUMBER">%d</xliff:g> درصد."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"تنظیمات سیستم."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"اعلانها."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"کنترل شبکه"</string>
<string name="disable_vpn" msgid="4435534311510272506">"غیرفعال کردن VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"قطع اتصال VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند دستگاه و فعالیت شبکهتان را کنترل کند، از جمله ایمیلها، برنامهها و وبسایتهای ایمن.\n\nبرای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"به \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" اجازه دادید اتصال VPN را تنظیم کند.\n\nاین برنامه میتواند دستگاه و فعالیت شبکهتان را کنترل کند، از جمله ایمیلها، برنامهها و وبسایتهای ایمن."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"به VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") وصل هستید.\n\nارائهدهنده سرویس VPN میتواند دستگاه و فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند، از جمله ایمیلها، برنامهها و وبسایتهای ایمن. برای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید.\n\nهمچنین، به \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" اجازه دادید تا اتصال VPN را تنظیم کند. این برنامه میتواند فعالیت شبکه را نیز کنترل کند."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها، و وبسایتهای ایمن. برای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید.\n\nهمچنین، به VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") وصل هستید. ارائهدهنده سرویس VPN شما میتواند فعالیت شبکه را نیز کنترل کند."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"مدیریت این نمایه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکه و دستگاهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن.\n\nبرای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nمدیریت نمایهتان توسط:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکه و دستگاهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن.\n\nبرای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"مدیریت این نمایه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن. برای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید.\n\nهمچنین به «<xliff:g id="APPLICATION">%2$s</xliff:g>» اجازه دادید اتصال VPN را تنظیم کند. این برنامه میتواند فعالیت شبکه را نیز کنترل کند."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"مدیریت این نمایه توسط:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن. برای کسب اطلاعات بیشتر با سرپرستتان تماس بگیرید.\n\nهمچنین به VPN («<xliff:g id="APPLICATION">%2$s</xliff:g>») وصل هستید. ارائهدهنده سرویس VPN شما میتواند فعالیت شبکه را نیز کنترل کند."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nمدیریت نمایهتان توسط:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن. برای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید.\n\nهمچنین، به «<xliff:g id="APPLICATION">%3$s</xliff:g>» اجازه دادید اتصال VPN را تنظیم کند. این برنامه میتواند فعالیت شبکه را نیز کنترل کند."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"مدیریت این دستگاه توسط:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nمدیریت نمایهتان توسط:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nسرپرستتان میتواند فعالیت شبکهتان را کنترل کند از جمله ایمیلها، برنامهها و وبسایتهای ایمن. برای کسب اطلاعات بیشتر، با سرپرستتان تماس بگیرید.\n\nهمچنین، به VPN («<xliff:g id="APPLICATION">%3$s</xliff:g>») وصل هستید. ارائهدهنده سرویس VPN شما میتواند فعالیت شبکه را نیز کنترل کند."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"دستگاه قفل باقی میماند تا زمانی که قفل آن را به صورت دستی باز کنید"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"دریافت سریعتر اعلانها"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"قبل از باز کردن قفل آنها را مشاهده کنید"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 16e0539..13754e1 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ei SIM-korttia."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetyhteyden jakaminen Bluetoothin kautta."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lentokonetila."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Operaattorin verkko muuttuu."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Akun virta <xliff:g id="NUMBER">%d</xliff:g> prosenttia."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Järjestelmän asetukset"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Ilmoitukset"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Verkon valvonta"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Poista VPN käytöstä"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Katkaise VPN-yhteys"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Tätä laitetta hallinnoi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja saattaa tarkkailla laitteesi ja verkon toimintaa, kuten sähköposteja, sovelluksia ja turvallisia sivustoja.\n\nKysy lisätietoja järjestelmänvalvojalta."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Annoit sovellukselle \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" luvan muodostaa VPN-yhteys.\n\nTämä sovellus saattaa tarkkailla laitteesi ja verkon toimintaa, kuten sähköposteja, sovelluksia ja turvallisia sivustoja."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Sinulla on VPN-yhteys (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nVPN-palveluntarjoaja saattaa tarkkailla laitteesi ja verkon toimintaa, kuten sähköposteja, sovelluksia ja turvallisia sivustoja."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Tämän laitteen hallinnoija on \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja pystyy valvomaan toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nAnnoit sovellukselle <xliff:g id="APPLICATION">%2$s</xliff:g> luvan VPN-yhteyden määrittämiseen. Myös se pystyy valvomaan toimiasi verkossa."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Tämän laitteen hallinnoija on \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja pystyy valvomaan toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nLisäksi on muodostettu VPN-yhteys (<xliff:g id="APPLICATION">%2$s</xliff:g>). VPN-palveluntarjoaja voi myös valvoa toimiasi verkossa."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profiilisi hallinnoija: \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä.\n\nSaat lisätietoja järjestelmänvalvojalta."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Laitteen hallinnoija: \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfiilisi hallinnoija: \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä.\n\nSaat lisätietoja järjestelmänvalvojalta."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profiilin hallinnoija: \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nAnnoit sovellukselle <xliff:g id="APPLICATION">%2$s</xliff:g> luvan VPN-yhteyden määrittämiseen. Myös se voi valvoa toimiasi."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profiilisi hallinnoija: \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nKäytät VPN-yhteyttä (<xliff:g id="APPLICATION">%2$s</xliff:g>). VPN-palveluntarjoaja voi myös valvoa toimiasi."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Laitteen hallinnoija: \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfiilisi hallinnoija: \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nAnnoit sovellukselle <xliff:g id="APPLICATION">%3$s</xliff:g> luvan VPN-yhteyden määrittämiseen. Myös se voi valvoa toimiasi."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Laitteen hallinnoija: \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfiilisi hallinnoija: \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJärjestelmänvalvoja voi valvoa toimiasi verkossa, esimerkiksi sähköpostin, sovellusten ja turvallisten verkkosivustojen käyttöä. Saat lisätietoja järjestelmänvalvojalta.\n\nKäytät VPN-yhteyttä (<xliff:g id="APPLICATION">%3$s</xliff:g>). VPN-palveluntarjoaja voi myös valvoa toimiasi."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Laite pysyy lukittuna, kunnes se avataan käsin"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Näe ilmoitukset nopeammin"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Näytä ennen lukituksen avaamista"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 3c238af..a208448 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Aucune carte SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Partage de connexion Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode Avion"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Modification du réseau du fournisseur de services"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Surveillance réseau"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Désactiver le RPV"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Déconnecter le RPV"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Cet appareil est géré par : \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre appareil et votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Vous avez donné à « <xliff:g id="APPLICATION">%1$s</xliff:g> » l\'autorisation de configurer une connexion RPV.\n\nCette application peut surveiller votre appareil et votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Vous êtes connecté à un RPV (« <xliff:g id="APPLICATION">%1$s</xliff:g> »).\n\nVotre fournisseur de services RPV peut surveiller votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés. Pour en savoir plus à ce sujet, communiquez avec votre administrateur réseau.\n\nVous avez aussi autorisé « <xliff:g id="APPLICATION">%2$s</xliff:g> » à créer une connexion RPV. Cette application peut aussi surveiller votre activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre activité (courriels, applications, sites Web sécurisés, etc.). Pour en savoir plus, communiquez avec votre administrateur.\n\nVous êtes également connecté à un RPV (<xliff:g id="APPLICATION">%2$s</xliff:g>). Votre fournisseur RPV peut aussi surveiller votre activité réseau."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Ce profil est géré par : \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre appareil et votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Cet appareil est géré par : \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVotre profil est géré par : \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut surveiller l\'activité de votre appareil et votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés. \n\n Pour en savoir plus, communiquez avec votre administrateur."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profil géré par : \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre activité réseau (courriels, applications et sites sécurisés). Communiquez avec votre administrateur.\n\nEn outre, vous avez autorisé <xliff:g id="APPLICATION">%2$s</xliff:g> à créer une connexion RPV. Cette application peut aussi surveiller l\'activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profil géré par : \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller l\'acti. de votre appareil et votre act. réseau (courriels, applications et sites sécurisés). Communiquez avec votre administrateur.\n\n Vous êtes aussi connecté à un RPV (<xliff:g id="APPLICATION">%2$s</xliff:g>). Votre fournisseur de services RPV peut lui aussi surveiller votre act. réseau."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Appareil géré par : \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil géré par : \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut surveiller votre activité réseau (courriels, applications et sites sécurisés). Communiquez avec votre administrateur.\n\nEn outre, vous avez autorisé <xliff:g id="APPLICATION">%3$s</xliff:g> à créer une connexion RPV. Cette application peut aussi surveiller l\'activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Appareil géré par : \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil géré par : \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut surveiller l\'act. de votre appareil et votre act. réseau (courriels, applications et sites sécurisés). Communiquez avec votre administrateur.\n\nVous êtes aussi connecté à un RPV (<xliff:g id="APPLICATION">%3$s</xliff:g>). Votre admin RPV peut lui aussi surveiller votre act. réseau."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"L\'appareil restera verrouillé jusqu\'à ce que vous le déverrouilliez manuellement"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Voir les notifications plus rapidement"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Afficher les notifications avant de déverrouiller l\'appareil"</string>
@@ -397,5 +399,5 @@
<string name="volumeui_prompt_deny" msgid="5720663643411696731">"Refuser"</string>
<string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> correspond à la boîte de dialogue du volume"</string>
<string name="volumeui_notification_text" msgid="1826889705095768656">"Touchez pour restaurer l\'original."</string>
- <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Vous avec activé le profil professionnel"</string>
+ <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Vous avez activé le profil professionnel"</string>
</resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 760ea15..d69634a 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Aucune carte SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Partage de connexion Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode Avion"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Modification du réseau de l\'opérateur"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Contrôle du réseau"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Désactiver le VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Déconnecter le VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut surveiller votre activité réseau, y compris les e-mails, les applications et les sites Web sécurisés.\n\nPour en savoir plus, contactez votre administrateur."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Vous avez autorisé l\'application \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" à configurer une connexion VPN.\n\nCette application peut surveiller votre activité réseau, y compris les e-mails, les applications et les sites Web sécurisés."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Vous êtes connecté à un VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nVotre fournisseur de services VPN peut surveiller votre activité réseau, y compris les e-mails, les applications et les sites Web sécurisés."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applis et sites Web sécurisés). Pour en savoir plus, contactez votre administrateur.\n\nVous avez autorisé l\'appli \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" à configurer une connexion VPN. Cette appli peut également contrôler votre activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applications et sites sécurisés). Pour en savoir plus, contactez votre administrateur.\n\nVous êtes aussi connecté à un VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Votre fournisseur de services VPN peut également contrôler l\'activité réseau."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Ce profil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut contrôler l\'activité de votre appareil et votre activité réseau (e-mails, applications et sites sécurisés).\n\nPour en savoir plus, contactez votre administrateur."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVotre profil est géré par :\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut contrôler l\'activité de votre appareil et votre activité réseau (e-mails, applications et sites sécurisés).\n\nPour en savoir plus, contactez votre administrateur."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profil géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applications et sites sécurisés). Pour en savoir plus, contactez votre administrateur.\n\nVous avez donné à l\'appli \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" l\'autorisation de configurer une connexion VPN. Cette appli peut contrôler votre activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Cet appareil est géré par :\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applications et sites sécurisés). Pour en savoir plus, contactez votre administrateur.\n\nVous êtes aussi connecté à un VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Votre fournisseur de services VPN peut également contrôler l\'activité réseau."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Appareil géré par :\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil géré par :\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applications et sites sécurisés). Pour en savoir plus, contactez votre admin.\n\nVous avez donné à l\'appli \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" l\'autorisation de configurer une connexion VPN. Cette appli peut contrôler votre activité réseau."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Appareil géré par :\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil géré par :\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVotre administrateur peut contrôler votre activité réseau (e-mails, applications et sites sécurisés). Pour en savoir plus, contactez votre administrateur.\n\nVous êtes aussi connecté à un VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Votre fournisseur de services VPN peut également contrôler l\'activité réseau."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"L\'appareil restera verrouillé jusqu\'à ce que vous le déverrouilliez manuellement."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Recevoir les notifications plus vite"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Afficher les notifications avant de déverrouiller l\'appareil"</string>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index 888a7ab..b422798 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sen SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ancoraxe de Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Cambio de rede do operador."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de rede"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Desactivar VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desconectar VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"O teu dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode controlar a actividade da rede e o dispositivo, incluídos os correos electrónicos, as aplicacións e os sitios web seguros.\n\nPara obter máis información, contacta co administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Outorgaches permiso a \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" para configurar unha conexión VPN.\n\nEsta aplicación pode controlar a actividade da rede e do dispositivo, incluídos os correos electrónicos, as aplicacións e os sitios web seguros."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Estás conectado a unha VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nO teu provedor de servizo de VPN pode controlar a actividade da rede e o dispositivo, incluídos os correos electrónicos, as aplicacións e os sitios web seguros."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Este dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode supervisar a actividade da túa rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, outorgaches permiso a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" para configurar unha conexión VPN. Esta aplicación tamén pode supervisar a actividade da rede."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Este dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode supervisar a actividade da túa rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, estás conectado a unha VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). O fornecedor de servizos da VPN tamén pode supervisar a actividade da rede."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Este perfil está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode supervisar o teu dispositivo e a actividade da rede e o dispositivo, incluídos os correos electrónicos, as aplicacións e os sitios web seguros.\n\nPara obter máis información, contacta co administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Este dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO teu perfil está xestionado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO teu administrador pode supervisar o teu dispositivo e a actividade da rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros.\n\nPara obter máis información, contacta co teu administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Este perfil está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode supervisar a túa actividade da rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, outorgaches permiso a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" para configurar unha conexión VPN. Esta aplicación tamén pode supervisar a actividade da rede."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Este perfil está xestionado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO teu administrador pode supervisar a túa actividade da rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, estás conectado a unha VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). O provedor de servizos VPN tamén pode supervisar a actividade da rede."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Este dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO teu perfil está xestionado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO teu administrador pode supervisar a túa actividade da rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, outorgaches permiso a \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" para configurar unha conexión VPN. Esta aplicación tamén pode supervisar a actividade da rede."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Este dispositivo está xestionado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO teu perfil está xestionado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO teu administrador pode supervisar a túa actividade da rede, incluídos os correos electrónicos, as aplicacións e os sitios web seguros. Para obter máis información, contacta co teu administrador.\n\nAdemais, estás conectado a unha VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). O provedor de servizos VPN tamén pode supervisar a actividade da rede."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"O dispositivo permanecerá bloqueado ata que o desbloquees manualmente"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Recibir notificacións máis rápido"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Consúltaas antes de desbloquear"</string>
diff --git a/packages/SystemUI/res/values-gu-rIN-land/strings.xml b/packages/SystemUI/res/values-gu-rIN-land/strings.xml
new file mode 100644
index 0000000..30aa9a3
--- /dev/null
+++ b/packages/SystemUI/res/values-gu-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, 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="toast_rotation_locked" msgid="7609673011431556092">"સ્ક્રીન હવે લેન્ડસ્કેપ ઓરિએન્ટેશનમાં લૉક કરેલ છે."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..1ea81cb
--- /dev/null
+++ b/packages/SystemUI/res/values-gu-rIN/strings.xml
@@ -0,0 +1,401 @@
+<?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="app_label" msgid="7164937344850004466">"સિસ્ટમ UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"સાફ કરો"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"સૂચિમાંથી દૂર કરો"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"એપ્લિકેશન માહિતી"</string>
+ <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"તમારી તાજેતરની સ્ક્રીન્સ અહીં દેખાય છે"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"તાજેતરની એપ્લિકેશન્સ કાઢી નાખો."</string>
+ <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759">
+ <item quantity="one">વિહંગાવલોકનમાં %d સ્ક્રીન્સ</item>
+ <item quantity="other">વિહંગાવલોકનમાં %d સ્ક્રીન્સ</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"કોઈ સૂચનાઓ નથી"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"ચાલુ"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"સૂચનાઓ"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"બૅટરી ઓછી છે"</string>
+ <string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> બાકી"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"<xliff:g id="PERCENTAGE">%s</xliff:g> બાકી. બૅટરી સેવર ચાલુ છે."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB ચાર્જિંગ સમર્થિત નથી.\nફક્ત આપવામાં આવેલ ચાર્જરનો ઉપયોગ કરો."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB ચાર્જિંગ સમર્થિત નથી."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"ફક્ત પ્રદાન કરાયેલ ચાર્જરનો ઉપયોગ કરો."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"સેટિંગ્સ"</string>
+ <string name="battery_saver_confirmation_title" msgid="5299585433050361634">"બૅટરી સેવર ચાલુ કરીએ?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"ચાલુ કરો"</string>
+ <string name="battery_saver_start_action" msgid="5576697451677486320">"બૅટરી સેવર ચાલુ કરો"</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"સેટિંગ્સ"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"સ્ક્રીનને સ્વતઃ-ફેરવો"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"મ્યૂટ કરો"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"સ્વતઃ"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"સૂચનાઓ"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ટિથર કર્યું"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ઇનપુટ પદ્ધતિઓ સેટ કરો"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ભૌતિક કીબોર્ડ"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"<xliff:g id="APPLICATION">%1$s</xliff:g> એપ્લિકેશનને USB ઉપકરણ અૅક્સેસ કરવાની મંજૂરી આપીએ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"<xliff:g id="APPLICATION">%1$s</xliff:g> એપ્લિકેશનને USB ઍક્સેસરી અૅક્સેસ કરવાની મંજૂરી આપીએ?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"જ્યારે આ USB ઉપકરણ કનેક્ટ હોય ત્યારે <xliff:g id="ACTIVITY">%1$s</xliff:g> ખોલીએ?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"જ્યારે આ USB ઍક્સેસરી કનેક્ટ હોય ત્યારે <xliff:g id="ACTIVITY">%1$s</xliff:g> ખોલીએ?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"કોઈપણ ઇન્સ્ટોલ કરેલી એપ્લિકેશન્સ આ USB ઍક્સેસરી સાથે કામ કરતી નથી. આ ઍક્સેસરી વિશે <xliff:g id="URL">%1$s</xliff:g> પર વધુ જાણો."</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB ઍક્સેસરી"</string>
+ <string name="label_view" msgid="6304565553218192990">"જુઓ"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"આ USB ઉપકરણ માટે ડિફોલ્ટ તરીકે ઉપયોગમાં લો"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"આ USB ઍક્સેસરી માટે ડિફોલ્ટ તરીકે ઉપયોગમાં લો"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB ડિબગિંગને મંજૂરી આપીએ?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"કમ્પ્યુટરની RSA મુખ્ય ફિંગરપ્રિંટ આ છે:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"હંમેશા આ કમ્પ્યુટરથી મંજૂરી આપો"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"સ્ક્રીન ભરવા માટે ઝૂમ કરો"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"સ્ક્રીન ભરવા માટે ખેંચો"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"સ્ક્રીનશોટ સાચવી રહ્યું છે…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"સ્ક્રીનશોટ સાચવી રહ્યું છે…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"સ્ક્રીનશોટ સાચવવામાં આવી રહ્યો છે."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"સ્ક્રીનશોટ કેપ્ચર કર્યો."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"તમારો સ્ક્રીનશોટ જોવા માટે ટચ કરો."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"સ્ક્રીનશોટ કેપ્ચર કરી શકાયો નથી."</string>
+ <string name="screenshot_failed_text" msgid="1260203058661337274">"મર્યાદિત સંગ્રહ સ્થાનને કારણે સ્ક્રીનશોટ લઈ શકાતો નથી અથવા એપ્લિકેશન અથવા તમારા સંગઠન દ્વારા તેની મંજૂરી નથી."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ફાઇલ ટ્રાન્સફર વિકલ્પો"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"મીડિયા પ્લેયર તરીકે માઉન્ટ કરો (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"કૅમેરા તરીકે માઉન્ટ કરો (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac માટે Android ફાઇલ ટ્રાન્સફર એપ્લિકેશન ઇન્સ્ટોલ કરો"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"પાછળ"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"હોમ"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"મેનુ"</string>
+ <string name="accessibility_recent" msgid="5208608566793607626">"વિહંગાવલોકન"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"શોધો"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"કૅમેરો"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ફોન"</string>
+ <string name="accessibility_unlock_button" msgid="128158454631118828">"અનલૉક કરો"</string>
+ <string name="unlock_label" msgid="8779712358041029439">"અનલૉક કરો"</string>
+ <string name="phone_label" msgid="2320074140205331708">"ફોન ખોલો"</string>
+ <string name="camera_label" msgid="7261107956054836961">"કૅમેરો ખોલો"</string>
+ <string name="recents_caption_resize" msgid="3517056471774958200">"નવું કાર્ય લેઆઉટ પસંદ કરો"</string>
+ <string name="cancel" msgid="6442560571259935130">"રદ કરો"</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"સુસંગતતા ઝૂમ બટન."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"નાનીથી મોટી સ્ક્રીન પર ઝૂમ કરો."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth કનેક્ટ થયું."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"બ્લૂટૂથ ડિસ્કનેક્ટ થયું."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"બૅટરી નથી."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"બૅટરી એક બાર."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"બૅટરી બે બાર."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"બૅટરી ત્રણ બાર."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"બૅટરી પૂર્ણ."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"કોઈ ફોન નથી."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"ફોન એક બાર."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"ફોન બે બાર."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"ફોન ત્રણ બાર."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"પૂર્ણ ફોન સિગ્નલ."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"કોઈ ડેટા નથી."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"ડેટા એક બાર."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"ડેટા બે બાર."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"ડેટા ત્રણ બાર."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"ડેટા સિગ્નલ પૂર્ણ."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi બંધ."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi ડિસ્કનેક્ટ થયું."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi એક બાર."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi બે બાર."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi ત્રણ બાર."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"પૂર્ણ Wifi સિગ્નલ."</string>
+ <string name="accessibility_wifi_name" msgid="7202151365171148501">"<xliff:g id="WIFI">%s</xliff:g> થી કનેક્ટ થયેલું છે."</string>
+ <string name="accessibility_bluetooth_name" msgid="8441517146585531676">"<xliff:g id="BLUETOOTH">%s</xliff:g> થી કનેક્ટ થયાં."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"કોઈ WiMAX નથી."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX એક બાર."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX બે બાર."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX ત્રણ બાર."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"પૂર્ણ WiMAX સિગ્નલ."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"કોઈ સિગ્નલ નથી."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"કનેક્ટ થયેલ નથી."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"શૂન્ય બાર."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"એક બાર."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"બે બાર."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"ત્રણ બાર્સ."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"સિગ્નલ પૂર્ણ છે."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"ચાલુ."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"બંધ."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"કનેક્ટ કરી"</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"કનેક્ટ થઈ રહ્યું છે."</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>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"રોમિંગ"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM નથી."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth ટિથરિંગ."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"એરપ્લેન મોડ."</string>
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"કેરીઅર નેટવર્કમાં ફેરફાર થઈ રહ્યો છે."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"બૅટરી <xliff:g id="NUMBER">%d</xliff:g> ટકા."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"સિસ્ટમ સેટિંગ્સ."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"સૂચનાઓ."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"સૂચના સાફ કરો."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS સક્ષમ."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS મેળવી રહ્યું છે."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"ટેલિટાઇપરાઇટર સક્ષમ કર્યું."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"રિંગર વાઇબ્રેટ."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"રિંગર શાંત છે."</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> કાઢી નાખો."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> કાઢી નાખી."</string>
+ <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"તમામ તાજેતરની એપ્લિકેશન્સ કાઢી નાખી."</string>
+ <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"<xliff:g id="APP">%s</xliff:g> પ્રારંભ કરી રહ્યું છે."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"સૂચના કાઢી નાખી."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"સૂચના શેડ."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"ઝડપી સેટિંગ્સ."</string>
+ <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"લૉક સ્ક્રીન."</string>
+ <string name="accessibility_desc_settings" msgid="3417884241751434521">"સેટિંગ્સ"</string>
+ <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"વિહંગાવલોકન."</string>
+ <string name="accessibility_desc_confirm" msgid="3446792278337969766">"પુષ્ટિ કરો"</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"વપરાશકર્તા <xliff:g id="USER">%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 બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi ચાલુ કર્યું."</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"મોબાઇલ <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">"બૅટરી <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"એરપ્લેન મોડ બંધ."</string>
+ <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"એરપ્લેન મોડ ચાલુ."</string>
+ <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"એરપ્લેન મોડ બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"એરપ્લેન મોડ ચાલુ કર્યો."</string>
+ <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"ખલેલ પાડશો નહીં ચાલુ, ફક્ત પ્રાધાન્યતા."</string>
+ <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"ખલેલ પાડશો નહીં ચાલુ, કોઈ વિક્ષેપ નહીં."</string>
+ <string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"ખલેલ પાડશો નહીં ચાલુ, ફક્ત એલાર્મ્સ."</string>
+ <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ખલેલ પાડશો નહીં બંધ."</string>
+ <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ખલેલ પાડશો નહીં બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ખલેલ પાડશો નહીં ચાલુ કર્યું."</string>
+ <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth બંધ."</string>
+ <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ચાલુ."</string>
+ <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth કનેક્ટ કરી રહ્યું છે."</string>
+ <string name="accessibility_quick_settings_bluetooth_connected" msgid="4306637793614573659">"Bluetooth કનેક્ટ થયું."</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_off" msgid="2730003763480934529">"Bluetooth બંધ કરી."</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_on" msgid="8722351798763206577">"Bluetooth ચાલુ કર્યું."</string>
+ <string name="accessibility_quick_settings_location_off" msgid="5119080556976115520">"સ્થાનની જાણ કરવી બંધ."</string>
+ <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"સ્થાનની જાણ કરવી ચાલુ."</string>
+ <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"સ્થાનની જાણ કરવી બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"સ્થાનની જાણ કરવી ચાલુ કર્યું."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g> માટે એલાર્મ સેટ કર્યું."</string>
+ <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"બંધ પૅનલ."</string>
+ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"વધુ સમય."</string>
+ <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"ઓછો સમય."</string>
+ <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"ફ્લેશલાઇટ બંધ."</string>
+ <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"ફ્લેશલાઇટ ચાલુ."</string>
+ <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"ફ્લેશલાઇટ બંધ કરી."</string>
+ <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"ફ્લેશલાઇટ ચાલુ કરી."</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="4406577213290173911">"રંગ ઉલટાવવાનું બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="6897462320184911126">"રંગ ઉલટાવવાનું ચાલુ કર્યું."</string>
+ <string name="accessibility_quick_settings_hotspot_changed_off" msgid="5004708003447561394">"મોબાઇલ હોટસ્પોટ બંધ કર્યું."</string>
+ <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2890951609226476206">"મોબાઇલ હોટસ્પોટ ચાલુ કર્યું."</string>
+ <string name="accessibility_casting_turned_off" msgid="1430668982271976172">"સ્ક્રીન કાસ્ટિંગ બંધ કર્યું."</string>
+ <string name="accessibility_brightness" msgid="8003681285547803095">"પ્રદર્શન તેજ"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5281770593459841889">"2G-3G ડેટા થોભાવ્યો છે"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="1601769736881078016">"4G ડેટા થોભાવ્યો છે"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="4651001290947318931">"સેલ્યુલર ડેટા થોભાવ્યો છે"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="3932437232199671967">"ડેટા થોભાવ્યો છે"</string>
+ <string name="data_usage_disabled_dialog" msgid="8453242888903772524">"તમે સેટ કરેલ ડેટા મર્યાદા સુધી પહોંચી ગયા હોવાથી, ઉપકરણે આ ચક્રના શેષ માટે ડેટા વપરાશ થોભાવ્યો છે.\n\nફરીથી શરૂ કરવું તમારા કેરીઅર તરફથી શુલ્ક તરફ દોરી શકે છે."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="1412395410306390593">"ફરી શરૂ કરો"</string>
+ <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="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>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"સ્ક્રીન આપમેળે ફરશે."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"સ્ક્રીન લેન્ડસ્કેપ ઓરિએન્ટેશનમાં લૉક કરેલ છે."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"સ્ક્રીન પોટ્રેટ ઓરિએન્ટેશનમાં લૉક કરેલ છે."</string>
+ <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"સ્ક્રીન હવે આપમેળે ફરશે."</string>
+ <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"સ્ક્રીન હવે લેન્ડસ્કેપ ઓરિએન્ટેશનમાં લૉક કરેલ છે."</string>
+ <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"સ્ક્રીન હવે પોટ્રેટ ઓરિએન્ટેશનમાં લૉક કરેલ છે."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"ડેઝર્ટ કેસ"</string>
+ <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_alarms_label" msgid="2559229444312445858">"ફક્ત એલાર્મ્સ"</string>
+ <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"કોઈ વિક્ષેપ નહીં"</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> ઉપકરણો)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth બંધ"</string>
+ <string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"કોઈ જોડી કરેલ ઉપકરણો ઉપલબ્ધ નથી"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"તેજ"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"સ્વતઃ-ફેરવો"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"પરિભ્રમણ લૉક થયું"</string>
+ <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_media_device_label" msgid="1302906836372603762">"મીડિયા ઉપકરણ"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"ફક્ત કટોકટીના કૉલ્સ"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"સેટિંગ્સ"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"સમય"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"મારા"</string>
+ <string name="quick_settings_user_title" msgid="4467690427642392403">"વપરાશકર્તા"</string>
+ <string name="quick_settings_user_new_user" msgid="9030521362023479778">"નવો વપરાશકર્તા"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"કનેક્ટ થયેલ નથી"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"કોઈ નેટવર્ક નથી"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi બંધ"</string>
+ <string name="quick_settings_wifi_detail_empty_text" msgid="2831702993995222755">"કોઈ સાચવેલ નેટવર્ક ઉપલબ્ધ નથી"</string>
+ <string name="quick_settings_cast_title" msgid="7709016546426454729">"કાસ્ટ કરો"</string>
+ <string name="quick_settings_casting" msgid="6601710681033353316">"કાસ્ટ કરી રહ્યાં છે"</string>
+ <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"અનામાંકિત ઉપકરણ"</string>
+ <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"કાસ્ટ કરવા માટે તૈયાર"</string>
+ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"કોઈ ઉપકરણો ઉપલબ્ધ નથી"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"તેજ"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"સ્વતઃ"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"રંગોને ઉલટાવો"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"રંગ સુધારણા મોડ"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"વધુ સેટિંગ્સ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"થઈ ગયું"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"કનેક્ટ થયેલ"</string>
+ <string name="quick_settings_connecting" msgid="47623027419264404">"કનેક્ટ કરી રહ્યું છે..."</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"ટિથરિંગ"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"હોટસ્પોટ"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"સૂચનાઓ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ફ્લેશલાઇટ"</string>
+ <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"સેલ્યુલર ડેટા"</string>
+ <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"ડેટા વપરાશ"</string>
+ <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"બાકી ડેટા"</string>
+ <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"મર્યાદાથી વધુ"</string>
+ <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"<xliff:g id="DATA_USED">%s</xliff:g> વાપર્યો"</string>
+ <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> મર્યાદા"</string>
+ <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ચેતવણી"</string>
+ <string name="recents_empty_message" msgid="8682129509540827999">"તમારી તાજેતરની સ્ક્રીન્સ અહીં દેખાય છે"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"એપ્લિકેશન માહિતી"</string>
+ <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"સ્ક્રીન પિનિંગ"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"શોધ"</string>
+ <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> પ્રારંભ કરી શકાયું નથી."</string>
+ <string name="recents_dismiss_all_message" msgid="8495275386693095768">"તમામ એપ્લિકેશન્સ કાઢી નાખો"</string>
+ <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"આડું વિભક્ત કરો"</string>
+ <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"ઊભું વિભક્ત કરો"</string>
+ <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"કસ્ટમ વિભક્ત કરો"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ચાર્જ થઈ ગયું"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"ચાર્જ થઈ રહ્યું છે"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"પૂર્ણ થવામાં <xliff:g id="CHARGING_TIME">%s</xliff:g> બાકી"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"ચાર્જ થઈ રહ્યું નથી"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"નેટવર્ક\nમૉનિટર કરી શકાય છે"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"શોધો"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ઉપર સ્લાઇડ કરો."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ડાબે સ્લાઇડ કરો."</string>
+ <string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"કોઈ વિક્ષેપ નહીં. એલાર્મ્સ પણ નહીં."</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"તમને તમે ઉલ્લેખિત એલાર્મ્સ, સ્મૃતિપત્રો, ઇવેન્ટ્સ અને કૉલર્સ સિવાય સાઉન્ડ્સ અને વાઇબ્રેશન્સથી ખલેલ પહોંચાડવામાં આવશે નહીં."</string>
+ <string name="zen_priority_customize_button" msgid="7948043278226955063">"કસ્ટમાઇઝ કરો"</string>
+ <string name="zen_no_interruptions" msgid="7970973750143632592">"કોઈ વિક્ષેપ નહીં"</string>
+ <string name="zen_important_interruptions" msgid="3477041776609757628">"ફક્ત પ્રાધાન્યતા વિક્ષેપો"</string>
+ <string name="zen_alarms" msgid="5055668280767657759">"ફક્ત એલાર્મ્સ"</string>
+ <string name="zen_alarm_information_time" msgid="5235772206174372272">"<xliff:g id="ALARM_TIME">%s</xliff:g> પર તમારો આગલો એલાર્મ"</string>
+ <string name="zen_alarm_information_day_time" msgid="8422733576255047893">"<xliff:g id="ALARM_DAY_AND_TIME">%s</xliff:g> પર તમારો આગલો એલાર્મ છે"</string>
+ <string name="zen_alarm_warning" msgid="6873910860111498041">"તમે <xliff:g id="ALARM_TIME">%s</xliff:g> એ તમારો એલાર્મ સાંભળશો નહીં"</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">"નીચે ઓછી તાકીદની સૂચનાઓ"</string>
+ <string name="notification_tap_again" msgid="8524949573675922138">"ખોલવા માટે ફરી ટચ કરો"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"અનલૉક કરવા માટે ઉપર સ્વાઇપ કરો"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ફોન માટે જમણે સ્વાઇપ કરો"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"કૅમેરા માટે ડાબે સ્વાઇપ કરો"</string>
+ <string name="interruption_level_none" msgid="8284541443482072628">"કોઈ વિક્ષેપ નહીં"</string>
+ <string name="interruption_level_priority" msgid="6426766465363855505">"ફક્ત પ્રાધાન્યતા"</string>
+ <string name="interruption_level_alarms" msgid="5226306993448328896">"ફક્ત એલાર્મ્સ"</string>
+ <string name="interruption_level_all" msgid="1330581184930945764">"તમામ"</string>
+ <string name="interruption_level_none_twoline" msgid="3942121050170227056">"કોઈ\nવિક્ષેપ નહીં"</string>
+ <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ફક્ત\nપ્રાધાન્યતા"</string>
+ <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ફક્ત\nએલાર્મ્સ"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ચાર્જ થઈ રહ્યું છે (પૂર્ણ થવામાં <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> બાકી)"</string>
+ <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"વપરાશકર્તા સ્વિચ કરો"</string>
+ <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"વપરાશકર્તાને સ્વિચ કરો, વર્તમાન વપરાશકર્તા <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
+ <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"પ્રોફાઇલ દર્શાવો"</string>
+ <string name="user_add_user" msgid="5110251524486079492">"વપરાશકર્તા ઉમેરો"</string>
+ <string name="user_new_user_name" msgid="426540612051178753">"નવો વપરાશકર્તા"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"અતિથિ"</string>
+ <string name="guest_new_guest" msgid="600537543078847803">"અતિથિ ઉમેરો"</string>
+ <string name="guest_exit_guest" msgid="7187359342030096885">"અતિથિ દૂર કરો"</string>
+ <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"અતિથિ દૂર કરીએ?"</string>
+ <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"આ સત્રમાંની તમામ એપ્લિકેશન્સ અને ડેટા કાઢી નાખવામાં આવશે."</string>
+ <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"દૂર કરો"</string>
+ <string name="guest_wipe_session_title" msgid="6419439912885956132">"ફરી સ્વાગત છે, અતિથિ!"</string>
+ <string name="guest_wipe_session_message" msgid="8476238178270112811">"શું તમે તમારું સત્ર ચાલુ કરવા માંગો છો?"</string>
+ <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"શરૂ કરો"</string>
+ <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"હા, ચાલુ રાખો"</string>
+ <string name="guest_notification_title" msgid="1585278533840603063">"અતિથિ વપરાશકર્તા"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"એપ્લિકેશન્સ અને ડેટા કાઢી નાખવા માટે અતિથિને દૂર કરો"</string>
+ <string name="guest_notification_remove_action" msgid="8820670703892101990">"અતિથિ દૂર કરો"</string>
+ <string name="user_add_user_title" msgid="4553596395824132638">"નવા વપરાશકર્તાને ઉમેરીએ?"</string>
+ <string name="user_add_user_message_short" msgid="2161624834066214559">"જ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિને તેમનું સ્થાન સેટ કરવાની જરૂર પડે છે.\n\nકોઈપણ વપરાશકર્તા બધા અન્ય વપરાશકર્તાઓ માટે એપ્લિકેશન્સને અપડેટ કરી શકે છે."</string>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"બેટરી સેવર ચાલુ છે"</string>
+ <string name="battery_saver_notification_text" msgid="820318788126672692">"પ્રદર્શન અને પૃષ્ઠભૂમિ ડેટા ઘટાડે છે"</string>
+ <string name="battery_saver_notification_action_text" msgid="109158658238110382">"બૅટરી સેવર બંધ કરો"</string>
+ <string name="notification_hidden_text" msgid="1135169301897151909">"સામગ્રીઓ છુપાવેલ છે"</string>
+ <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> તમારી સ્ક્રીન પર જે પ્રદર્શિત થાય છે તે દરેક વસ્તુને કેપ્ચર કરવાનું પ્રારંભ કરશે."</string>
+ <string name="media_projection_remember_text" msgid="3103510882172746752">"ફરીથી બતાવશો નહીં"</string>
+ <string name="clear_all_notifications_text" msgid="814192889771462828">"બધુ સાફ કરો"</string>
+ <string name="media_projection_action_text" msgid="8470872969457985954">"હવે પ્રારંભ કરો"</string>
+ <string name="empty_shade_text" msgid="708135716272867002">"કોઈ સૂચનાઓ નથી"</string>
+ <string name="device_owned_footer" msgid="3802752663326030053">"ઉપકરણ મૉનિટર કરી શકાય છે"</string>
+ <string name="profile_owned_footer" msgid="8021888108553696069">"પ્રોફાઇલ મૉનિટર કરી શકાય છે"</string>
+ <string name="vpn_footer" msgid="2388611096129106812">"નેટવર્ક મૉનિટર કરી શકાય છે"</string>
+ <string name="monitoring_title_device_owned" msgid="7121079311903859610">"ઉપકરણ નિરીક્ષણ"</string>
+ <string name="monitoring_title_profile_owned" msgid="6790109874733501487">"પ્રોફાઇલ નિરીક્ષણ"</string>
+ <string name="monitoring_title" msgid="169206259253048106">"નેટવર્ક મૉનિટરિંગ"</string>
+ <string name="disable_vpn" msgid="4435534311510272506">"VPN અક્ષમ કરો"</string>
+ <string name="disconnect_vpn" msgid="1324915059568548655">"VPN ડિસ્કનેક્ટ કરો"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
+ <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"તમે ઉપકરણને મેન્યુઅલી અનલૉક કરશો નહીં ત્યાં સુધી તે લૉક રહેશે"</string>
+ <string name="hidden_notifications_title" msgid="7139628534207443290">"વધુ ઝડપથી સૂચનાઓ મેળવો"</string>
+ <string name="hidden_notifications_text" msgid="2326409389088668981">"તમે અનલૉક કરો તે પહેલાં તેમને જુઓ"</string>
+ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"નહીં આભાર"</string>
+ <string name="hidden_notifications_setup" msgid="41079514801976810">"સેટ અપ"</string>
+ <string name="notification_expand_button_text" msgid="1037425494153780718">"બધું જુઓ"</string>
+ <string name="notification_collapse_button_text" msgid="6883253262134328057">"બધું છુપાવો"</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="screen_pinning_title" msgid="3273740381976175811">"સ્ક્રીન પિન કરેલ છે"</string>
+ <string name="screen_pinning_description" msgid="1346522416878235405">"તમે જ્યાં સુધી અનપિન કરશો નહીં ત્યાં સુધી આ તેને દૃશ્યમાં રાખે છે. અનપિન કરવા માટે બેકને ટચ કરો અને પકડો અને તે જ સમયે વિહંગાવલોકન કરો."</string>
+ <string name="screen_pinning_description_accessible" msgid="8518446209564202557">"તમે જ્યાં સુધી અનપિન કરશો નહીં ત્યાં સુધી આ તેને દૃશ્યમાં રાખે છે. અનપિન કરવા માટે વિહંગાવલોકનને ટચ કરો અને પકડો."</string>
+ <string name="screen_pinning_positive" msgid="3783985798366751226">"સમજાઈ ગયું"</string>
+ <string name="screen_pinning_negative" msgid="3741602308343880268">"નહીં આભાર"</string>
+ <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"<xliff:g id="TILE_LABEL">%1$s</xliff:g> ને છુપાવીએ?"</string>
+ <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"તે સેટિંગ્સમાં તમે તેને ચાલુ કરશો ત્યારે આગલી વખતે ફરીથી દેખાશે."</string>
+ <string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"છુપાવો"</string>
+ <string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> વૉલ્યૂમ સંવાદ બનવા માગે છે."</string>
+ <string name="volumeui_prompt_allow" msgid="7954396902482228786">"મંજૂરી આપો"</string>
+ <string name="volumeui_prompt_deny" msgid="5720663643411696731">"નકારો"</string>
+ <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> એ વૉલ્યૂમ સંવાદ છે"</string>
+ <string name="volumeui_notification_text" msgid="1826889705095768656">"મૂળને પુનઃસ્થાપિત કરવા માટે ટચ કરો."</string>
+ <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"તમે કાર્ય પ્રોફાઇલમાં છો"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 49de264..55008f5 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"कोई सिम नहीं."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ब्लूटूथ टेदरिंग."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"हवाई जहाज मोड."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"वाहक नेटवर्क बदलना."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> प्रतिशत बैटरी."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"सिस्टम सेटिंग."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"सूचनाएं."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"नेटवर्क को मॉनीटर करना"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN अक्षम करें"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN डिस्कनेक्ट करें"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"यह डिवाइस इसके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि की निगरानी कर सकता है.\n\nअधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"आपने \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" को VPN कनेक्शन सेट करने की अनुमति दी है.\n\nयह ऐप्स ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपके डिवाइस और नेटवर्क गतिविधि की निगरानी कर सकता है."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"आप VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") से कनेक्ट हैं.\n\nआपका VPN सेवा प्रदाता ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपके डिवाइस और नेटवर्क गतिविधि की निगरानी कर सकता है."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"यह डिवाइस इसके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि को मॉनीटर कर सकता है. अधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आपने VPN कनेक्शन सेट करने के लिए \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" अनुमति भी दी है. यह ऐप्स नेटवर्क गतिविधि को भी मॉनीटर कर सकता है."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"यह डिवाइस इसके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक, ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि को मॉनीटर कर सकता है. अधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आप VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") से कनेक्ट हैं. आपका VPN सेवा प्रदाता नेटवर्क गतिविधि को भी मॉनीटर कर सकता है."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"यह प्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी डिवाइस और नेटवर्क गतिविधि को मॉनीटर कर सकता है.\n\nअधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"यह डिवाइस इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nआपकी प्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी डिवाइस और नेटवर्क गतिविधि को मॉनीटर कर सकता है.\n\nअधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"यह प्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि को मॉनीटर करने में सक्षम है. अधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आपने \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" को VPN कनेक्शन सेट करने की अनुमति दी है. यह ऐप्स नेटवर्क गतिविधि भी मॉनीटर कर सकता है."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"यह प्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि को मॉनीटर करने में सक्षम है. अधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आप VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") से भी कनेक्ट हैं. आपका VPN सेवा प्रदाता नेटवर्क गतिविधि भी मॉनीटर कर सकता है."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"डिवाइस इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nप्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nव्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित नेटवर्क गतिविधि मॉनीटर कर सकते हैं. अधिक जानकारी के लिए, व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आपने \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" को VPN कनेक्शन सेट करने की अनुमति दी है. यह ऐप्स नेटवर्क गतिविधि भी मॉनीटर कर सकता है."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"यह डिवाइस इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nआपकी प्रोफ़ाइल इनके द्वारा प्रबंधित है:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nआपका व्यवस्थापक ईमेल, ऐप्स और सुरक्षित वेबसाइटों सहित आपकी नेटवर्क गतिविधि को मॉनीटर करने में सक्षम है. अधिक जानकारी के लिए, अपने व्यवस्थापक से संपर्क करें.\n\nसाथ ही, आप VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") से भी कनेक्ट हैं. आपका VPN सेवा प्रदाता नेटवर्क गतिविधि भी मॉनीटर कर सकता है."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"जब तक कि आप मैन्युअल रूप से अनलॉक नहीं करते तब तक डिवाइस लॉक रहेगा"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"सूचनाएं अधिक तेज़ी से प्राप्त करें"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"आपके द्वारा उन्हें अनलॉक किए जाने से पहले देखें"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 3f2de7a..c2662d7 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -147,8 +147,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nema SIM kartice."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Posredno povezivanje Bluetootha."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Način rada u zrakoplovu"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Promjena mreže operatera."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterija <xliff:g id="NUMBER">%d</xliff:g> posto."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Postavke sustava."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Obavijesti."</string>
@@ -364,17 +363,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Nadzor mreže"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Onemogući VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Prekini vezu s VPN-om"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vaš uređaj i aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije.\n\nZa više informacija obratite se administratoru."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Dali ste aplikaciji \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" dopuštenje za postavljanje VPN veze.\n\nTa aplikacija može pratiti vaš uređaj i aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Povezani ste s VPN-om (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nDavatelj usluge VPN-a može pratiti vaš uređaj i aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više informacija možete saznati od administratora.\n\nOsim toga, dali ste aplikaciji \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" dopuštenje za postavljanje VPN veze, pa i ona može pratiti vašu aktivnost na mreži."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više informacija možete saznati od administratora.\n\nOsim toga, povezani ste s VPN-om (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Davatelj usluge VPN-a također može pratiti vašu aktivnost na mreži."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profilom upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vaš uređaj i aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije.\n\nViše informacija možete saznati od administratora."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVašim profilom upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVaš administrator može pratiti vaš uređaj i aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije.\n\nViše informacija možete saznati od administratora."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profilom upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više informacija možete saznati od administratora.\n\nOsim toga, \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" može uspostaviti VPN vezu. Ta aplikacija također može pratiti aktivnost na mreži."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profilom upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš administrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više informacija možete saznati od administratora.\n\nOsim toga, povezani ste s VPN-om (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Davatelj usluge VPN-a također može pratiti vašu aktivnost na mreži."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVašim profilom upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVaš administrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više informacija možete saznati od administratora.\n\nOsim toga, \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" može uspostaviti VPN vezu. Ta aplikacija također može pratiti aktivnost na mreži."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Uređajem upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVašim profilom upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrator može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i sigurne web-lokacije. Više možete saznati od administratora.\n\nOsim toga, povezani ste s VPN-om (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Davatelj usluge VPN-a također može pratiti aktivnost na mreži."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Uređaj će ostati zaključan dok ga ručno ne otključate"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Primajte obavijesti brže"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Pogledajte ih prije otključavanja"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 42cafcd..6c25bf9 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nincs SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth megosztása."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Repülőgép üzemmód."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Szolgáltatói hálózat váltása."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Akkumulátor <xliff:g id="NUMBER">%d</xliff:g> százalék."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Rendszerbeállítások"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Értesítések"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Hálózatfigyelés"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN letiltása"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN-kapcsolat bontása"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Az eszköz kezelője:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nRendszergazdája figyelheti az Ön eszköz- és hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a biztonságos webhelyeket.\n\nTovábbi információért forduljon rendszergazdájához."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Ön engedélyt adott a(z) „<xliff:g id="APPLICATION">%1$s</xliff:g>” alkalmazásnak VPN-kapcsolat létesítésére.\n\nAz alkalmazás figyelheti az Ön eszköz- és hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a biztonságos webhelyeket."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Ön egy VPN-hez kapcsolódott („<xliff:g id="APPLICATION">%1$s</xliff:g>”).\n\nVPN-szolgáltatója figyelheti az Ön eszköz- és hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a biztonságos webhelyeket."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Ezt az eszközt a következő felügyeli:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nA rendszergazda figyelheti a hálózati tevékenységet, beleértve az e-mailt, az alkalmazásokat és a biztonságos webhelyeket. További információért forduljon a rendszergazdához.\n\nEzenfelül engedélyt adott „<xliff:g id="APPLICATION">%2$s</xliff:g>” számára VPN-kapcsolat beállítására. Ez az alkalmazás is figyelheti a hálózati tevékenységet."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Ezt az eszközt a következő felügyeli:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nA rendszergazda figyelheti a hálózati tevékenységet, beleértve az e-mailt, az alkalmazásokat és a biztonságos webhelyeket. További információért forduljon a rendszergazdához.\n\nEzenfelül VPN-hez is csatlakozik („<xliff:g id="APPLICATION">%2$s</xliff:g>”). VPN-szolgáltatója is figyelheti hálózati tevékenységét."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profilját felügyeli:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét eszközén és a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek).\n\nTovábbi információért forduljon rendszergazdájához."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Az eszközt felügyeli:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilját felügyeli:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét eszközén és a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek).\n\nTovábbi információért forduljon rendszergazdájához."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profilját felügyeli:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek). További információért forduljon rendszergazdájához.\n\nEzenfelül engedélyt adott „<xliff:g id="APPLICATION">%2$s</xliff:g>” alkalmazásnak, hogy VPN-kapcsolatot létesítsen. Ez az alkalmazás is megfigyelheti hálózati tevékenységét."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profilját felügyeli:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek). További információért forduljon rendszergazdájához.\n\nEzenfelül VPN-hez („<xliff:g id="APPLICATION">%2$s</xliff:g>”) is kapcsolódik. VPN-szolgáltatója is megfigyelheti hálózati tevékenységét."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Az eszközt felügyeli:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilját felügyeli:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek). További információért forduljon rendszergazdájához.\n\nEzenfelül engedélyt adott „<xliff:g id="APPLICATION">%3$s</xliff:g>” alkalmazásnak, hogy VPN-kapcsolatot létesítsen. Ez az alkalmazás is megfigyelheti hálózati tevékenységét."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Az eszközt felügyeli:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilját felügyeli:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nRendszergazdája felügyelheti tevékenységét a hálózaton (pl. e-mailek, alkalmazások és biztonságos webhelyek). További információért forduljon rendszergazdájához.\n\nEzenfelül VPN-hez („<xliff:g id="APPLICATION">%3$s</xliff:g>”) is kapcsolódik. VPN-szolgáltatója is megfigyelheti hálózati tevékenységét."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Az eszköz addig zárolva marad, amíg kézileg fel nem oldja"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Gyorsabban megkaphatja az értesítéseket"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Már a képernyőzár feloldása előtt megtekintheti őket"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 7f20360..8833030 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM չկա:"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-ը կապվում է:"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Ինքնաթիռային ռեժիմ"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Օպերատորի ցանցի փոփոխում:"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Մարտկոցը <xliff:g id="NUMBER">%d</xliff:g> տոկոս է:"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Համակարգի կարգավորումներ:"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Ծանուցումներ:"</string>
@@ -304,7 +303,7 @@
<string name="description_direction_up" msgid="7169032478259485180">"Սահեցրեք վերև <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
<string name="description_direction_left" msgid="7207478719805562165">"Սահեցրեք ձախ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
<string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"Առանց ընդհատումների՝ ներառյալ զարթուցիչները:"</string>
- <string name="zen_priority_introduction" msgid="7253045784560169993">"Բացի ձեր հատկորոշած զարթուցիչներից, հիշեցումներից, իրադարձություններից և զանգողների ցանկից՝ ոչ մի ձայն և թրթռում չի անհանգստացնի ձեզ:"</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"Ոչ մի ձայն և թրթռում չի անհանգստացնի ձեզ, բացառությամբ ձեր ընտրած զարթուցիչներից, հիշեցումներից, իրադարձություններից և զանգողներից:"</string>
<string name="zen_priority_customize_button" msgid="7948043278226955063">"Հարմարեցնել"</string>
<string name="zen_no_interruptions" msgid="7970973750143632592">"Առանց ընդհատումների"</string>
<string name="zen_important_interruptions" msgid="3477041776609757628">"Միայն կարևոր ընդհատումներ"</string>
@@ -342,7 +341,7 @@
<string name="guest_wipe_session_wipe" msgid="5065558566939858884">"Սկսել"</string>
<string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"Այո, շարունակել"</string>
<string name="guest_notification_title" msgid="1585278533840603063">"Հյուր"</string>
- <string name="guest_notification_text" msgid="7513706222848825467">"Հեռացնել հյուրին՝ հավելվածներն ու տվյալները ջնջելու համար"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"Հեռացրեք հյուրին՝ հավելվածներն ու տվյալները ջնջելու համար"</string>
<string name="guest_notification_remove_action" msgid="8820670703892101990">"ՀԵՌԱՑՆԵԼ ՀՅՈՒՐԻՆ"</string>
<string name="user_add_user_title" msgid="4553596395824132638">"Ավելացնե՞լ նոր պրոֆիլ:"</string>
<string name="user_add_user_message_short" msgid="2161624834066214559">"Երբ նոր օգտվող եք ավելացնում, նա պետք է կարգավորի իր պրոֆիլը:\n\nՑանկացած օգտվող կարող է թարմացնել հավելվածները մյուս բոլոր հաշիվների համար:"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Ցանցի մշտադիտարկում"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Անջատել VPN-ը"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Անջատել VPN-ը"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Այս սարքը կառավարող ընկերությունն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nՁեր ադմինիստրատորը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը, այդ թվում՝ նամակները, ծրագրերը և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ձեր ադմինիստրատորին:"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Դուք «<xliff:g id="APPLICATION">%1$s</xliff:g>» ծրագրին թույլ եք տվել ստեղծել VPN կապ:\n\nԱյս ծրագիրը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը, այդ թվում՝ նամակները, ծրագրերը և վստահելի կայքերը:"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Դուք միացած եք VPN-ին («<xliff:g id="APPLICATION">%1$s</xliff:g>»):\n\nՁեզ VPN ծառայություն մատուցողը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը, այդ թվում` նամակները, ծրագրերը և վստահելի կայքերը:"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Այս սարքը կառավարիչն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nՁեր ադմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը, այդ թվում՝ նամակները, ծրագրերը և վստահելի կայքերը: Լրացուցիչ տեղեկությունների համար դիմեք ձեր ադմինիստրատորին:\n\n Բացի այդ, դուք «<xliff:g id="APPLICATION">%2$s</xliff:g>» ծրագրին թույլատրել եք ստեղծել VPN կապ: Այդ ծրագիրը նույնպես կարող է վերահսկել ձեր ցանցային գործունեությունը:"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Այս սարքը կառավարիչն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nՁեր ադմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը, այդ թվում՝ նամակները, ծրագրերը և վստահելի կայքերը: Լրացուցիչ տեղեկությունների համար դիմեք ձեր ադմինիստրատորին:\n\nԲացի այդ, դուք միացած եք VPN-ին («<xliff:g id="APPLICATION">%2$s</xliff:g>»): Ձեզ VPN ծառայություն մատուցողը նույնպես կարող է վերահսկել ցանցային գործունեությունը:"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Այս պրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը, այդ թվում՝ նամակները, հավելվածները և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ձեր ադմինիստրատորին:"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Սարքի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nՊրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը:\n\nՀավելյալ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Այս պրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը, այդ թվում՝ նամակները, հավելվածները և վստահելի կայքերը: Լրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:\n\nԴուք նաև «<xliff:g id="APPLICATION">%2$s</xliff:g>» հավելվածին թույլատրել եք ստեղծել VPN: Այն նույնպես կարող է վերահսկել ցանցային գործունեությունը:"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Այս պրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը: Լրացուցիչ տեղեկությունների համար դիմեք ձեր ադմինիստրատորին:\n\nԴուք նաև միացած եք VPN-ին («<xliff:g id="APPLICATION">%2$s</xliff:g>»): VPN ծառայություն մատուցողը նույնպես կարող է վերահսկել ցանցային գործունեությունը:"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Սարքի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nՊրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը: Լրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:\n\nԴուք նաև «<xliff:g id="APPLICATION">%3$s</xliff:g>»-ին թույլատրել եք ստեղծել VPN: Այն նույնպես կարող է վերահսկել ցանցային գործունեությունը:"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Սարքի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nՊրոֆիլի կառավարիչն է՝\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nԱդմինիստրատորը կարող է վերահսկել ձեր ցանցային գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը: Այլ տեղեկությունների համար դիմեք ադմինիստրատորին:\n\nԴուք նաև միացած եք VPN-ին («<xliff:g id="APPLICATION">%3$s</xliff:g>»): VPN ծառայություն մատուցողը նույնպես կարող է վերահսկել ցանցային գործունեությունը:"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Սարքը կմնա արգելափակված՝ մինչև ձեռքով չբացեք"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Ավելի արագ ստացեք ծանուցումները"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Տեսեք դրանք մինչև ապակողպելը"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 8e1e11b..d2b2e3c 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Tidak ada SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Penambatan bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode pesawat."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Jaringan operator berubah."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterai <xliff:g id="NUMBER">%d</xliff:g> persen."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Setelan sistem."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Notifikasi."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Pemantauan jaringan"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Nonaktifkan VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Putuskan sambungan VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau perangkat serta aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator Anda."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Anda memberikan izin pada \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" untuk menyiapkan sambungan VPN.\n\nAplikasi ini dapat memantau perangkat dan aktivitas jaringan, termasuk email, aplikasi, dan situs web aman."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Anda tersambung ke VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nPenyedia layanan VPN dapat memantau perangkat dan aktivitas jaringan termasuk email, aplikasi, dan situs web aman."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan termasuk email, aplikasi, dan situs web aman. Untuk informasi selengkapnya, hubungi administrator Anda.\n\nAnda juga memberikan izin pada \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" untuk menyiapkan sambungan VPN. Aplikasi ini juga memantau aktivitas jaringan."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan termasuk email, aplikasi, dan situs web aman. Untuk informasi selengkapnya, hubungi administrator Anda.\n\nAnda juga tersambung ke VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Penyedia layanan VPN Anda dapat memantau aktivitas jaringan juga."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profil ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan dan perangkat Anda, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator Anda."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil Anda dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan dan perangkat, termasuk email, aplikasi, dan situs web yang aman.\n\nUntuk informasi selengkapnya, hubungi administrator Anda."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profil ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan termasuk email, aplikasi, dan situs web aman. Untuk informasi selengkapnya, hubungi administrator Anda.\n\nSelain itu, Anda mengizinkan \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" menyiapkan sambungan VPN. Aplikasi juga dapat memantau aktivitas jaringan."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profil ini dikelola oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan termasuk email, aplikasi, dan situs web aman. Untuk informasi selengkapnya, hubungi administrator Anda.\n\nSelain itu, Anda tersambung ke VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Penyedia layanan VPN Anda juga dapat memantau aktivitas jaringan."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil Anda dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrator dapat memantau aktivitas jaringan termasuk email, aplikasi, dan situs web aman. Untuk informasi selengkapnya, hubungi administrator.\n\nAnda juga mengizinkan \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" menyiapkan sambungan VPN. Aplikasi juga dapat memantau aktivitas jaringan."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Perangkat ini dikelola oleh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil Anda dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrator Anda dapat memantau aktivitas jaringan termasuk email, aplikasi & situs web aman. Untuk info selengkapnya, hubungi administrator.\n\nSelain itu, Anda tersambung ke VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Penyedia layanan VPN juga dapat memantau aktivitas jaringan."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Perangkat akan tetap terkunci hingga Anda membukanya secara manual"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Dapatkan pemberitahuan lebih cepat"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Lihat sebelum membuka kunci"</string>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index 02f525b..74e898c 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ekkert SIM-kort."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Tjóðrun með Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flugstilling"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Skipt um farsímakerfi."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> prósent á rafhlöðu."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Kerfisstillingar."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Tilkynningar."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Neteftirlit"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Slökkva á VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Aftengja VPN-net"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Þessu tæki er stjórnað af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nStjórnandinn getur fylgst með virkni þinni í tækinu og á netinu, þar á meðal tölvupósti, forritum og öruggum vefsvæðum.\n\nHafðu samband við stjórnandann til að fá frekari upplýsingar."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Þú veittir „<xliff:g id="APPLICATION">%1$s</xliff:g>“ heimild til að koma á VPN-tengingu.\n\nÞetta forrit getur fylgst með virkni þinni í tækinu og á netinu, þar á meðal tölvupósti, forritum og öruggum vefsvæðum."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Þú ert með tengingu við VPN-net („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nVPN-þjónustuaðilinn þinn getur fylgst með virkni þinni í tækinu og á netinu, þar á meðal tölvupósti, forritum og öruggum vefsvæðum."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Stjórnandi þessa tækis er:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nStjórnandinn getur fylgst með netvirkni þinni, þ. á m. tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við stjórnandann til að fá frekari upplýsingar.\n\nÞú veittir „<xliff:g id="APPLICATION">%2$s</xliff:g>“ einnig heimild til að setja upp VPN-tengingu. Þetta forrit getur líka fylgst með netvirkni þinni."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Stjórnandi þessa tækis er:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nStjórnandinn getur fylgst með netvirkni þinni, þ. á m. tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við stjórnandann til að fá frekari upplýsingar.\n\nÞú ert einnig tengd(ur) VPN-neti („<xliff:g id="APPLICATION">%2$s</xliff:g>“). VPN-þjónustuaðilinn þinn getur líka fylgst með netvirkni þinni."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Þessu sniði er stjórnað af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með tækinu og netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum.\n\nHafðu samband við kerfisstjórann til að fá frekari upplýsingar."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Þessu tæki er stjórnað af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSniðinu þínu er stjórnað af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með tækinu og netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum.\n\nHafðu samband við kerfisstjórann til að fá frekari upplýsingar."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Þessu sniði er stjórnað af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við kerfisstjórann til að fá frekari upplýsingar.\n\nÞú hefur einnig gefið „<xliff:g id="APPLICATION">%2$s</xliff:g>“ heimild til að setja upp VPN-tengingu. Þetta forrit getur einnig fylgst með netnotkun."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Þessu sniði er stjórnað af:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við kerfisstjórann til að fá frekari upplýsingar.\n\nÞú ert einnig með tengingu við VPN-net („<xliff:g id="APPLICATION">%2$s</xliff:g>“). VPN-þjónustuaðilinn getur einnig fylgst með netnotkun."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Þessu tæki er stjórnað af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSniðinu þínu er stjórnað af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við kerfisstjórann til að fá frekari upplýsingar.\n\nÞú hefur einnig gefið „<xliff:g id="APPLICATION">%3$s</xliff:g>“ heimild til að setja upp VPN-tengingu. Þetta forrit getur einnig fylgst með netnotkun."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Þessu tæki er stjórnað af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSniðinu þínu er stjórnað af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nKerfisstjórinn þinn getur fylgst með netnotkun þinni, þar á meðal tölvupósti, forritum og öruggum vefsvæðum. Hafðu samband við kerfisstjórann til að fá frekari upplýsingar.\n\nÞú ert einnig með tengingu við VPN-net („<xliff:g id="APPLICATION">%3$s</xliff:g>“). VPN-þjónustuaðilinn getur einnig fylgst með netnotkun."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Tækið verður læst þar til þú opnar það handvirkt"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Fáðu tilkynningar hraðar"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Sjáðu þær áður en þú opnar"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 0914b0a..29837cb 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nessuna SIM presente."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Tethering Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modalità aereo."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Cambio rete operatore."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Monitoraggio rete"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Disattiva VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Scollega VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Questo dispositivo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIl tuo amministratore può monitorare la tua attività di rete e sul dispositivo, inclusi email, app e siti web protetti.\n\nPer ulteriori informazioni, contatta l\'amministratore."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Hai autorizzato \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" a configurare una connessione VPN.\n\nQuesta app può monitorare la tua attività di rete e sul dispositivo, inclusi email, app e siti web protetti."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Sei collegato a una rete VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nIl tuo provider di servizi VPN può monitorare la tua attività di rete e sul dispositivo, inclusi email, app e siti web protetti."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Il dispositivo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIl tuo amministratore può monitorare la tua attività di rete, inclusi email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nInoltre, hai autorizzato \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" a configurare una connessione VPN. Questa app può monitorare anche l\'attività di rete."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Il dispositivo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nIl tuo amministratore può monitorare la tua attività di rete, inclusi email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nInoltre, sei collegato a una rete VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Il tuo provider di servizi VPN può monitorare anche l\'attività di rete."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Questo profilo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'amministratore può monitorare il tuo dispositivo e l\'attività di rete, incluse email, app e siti web protetti.\n\nPer ulteriori informazioni, contatta l\'amministratore."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Questo dispositivo è gestito da:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIl tuo profilo è gestito da:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'amministratore può monitorare il tuo dispositivo e l\'attività di rete, incluse email, app e siti web protetti.\n\nPer ulteriori informazioni, contatta l\'amministratore."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Questo profilo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'amministratore può monitorare la tua attività di rete, incluse email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nHai autorizzato \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" a configurare una connessione VPN. Questa app può monitorare l\'attività di rete."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Questo profilo è gestito da:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nL\'amministratore può monitorare la tua attività di rete, incluse email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nSei collegato a una rete VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Anche il fornitore del servizio VPN può monitorare l\'attività di rete."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Il dispositivo è gestito da:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIl tuo profilo è gestito da:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'amministratore può monitorare la tua attività di rete, incluse email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nHai autorizzato \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" a configurare una connessione VPN. Questa app può monitorare l\'attività di rete."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Il dispositivo è gestito da:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIl tuo profilo è gestito da:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nL\'amministratore può monitorare l\'attività di rete, incluse email, app e siti web protetti. Per ulteriori informazioni, contatta l\'amministratore.\n\nSei collegato a una rete VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Anche il fornitore del servizio VPN può monitorare l\'attività di rete."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Il dispositivo resterà bloccato fino allo sblocco manuale"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Ricevi notifiche più velocemente"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Visualizza prima di sbloccare"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 5f02829..2b482d1 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"אין כרטיס SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"שיתוף אינטרנט דרך Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"מצב טיסה"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"רשת ספק משתנה."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> אחוזים של סוללה."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"הגדרות מערכת"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"התראות"</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"מעקב אחר פעילות ברשת"</string>
<string name="disable_vpn" msgid="4435534311510272506">"השבת VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"נתק את ה-VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"המכשיר הזה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת שלך יכול לעקוב אחר המכשיר והפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים.\n\nלמידע נוסף, צור קשר עם מנהל המערכת."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"נתת ל-\"<xliff:g id="APPLICATION">%1$s</xliff:g>\" הרשאה להגדרת חיבור VPN.\n\nהאפליקציה הזו יכולה לעקוב אחר המכשיר והפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות, ואתרים מאובטחים."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"אתה מחובר ל-VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nספק שירות ה-VPN שלך יכול לעקוב אחר המכשיר והפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"מכשיר זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת שלך יכול לעקוב אחר הפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות, ואתרים מאובטחים. למידע נוסף, צור קשר עם מנהל המערכת שלך.\n\nכמו כן, נתת ל-\"<xliff:g id="APPLICATION">%2$s</xliff:g>\" הרשאה להגדרת חיבור VPN. גם אפליקציה זו יכולה לעקוב אחר הפעילות שלך ברשת."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"מכשיר זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת שלך יכול לעקוב אחר הפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות, ואתרים מאובטחים. למידע נוסף, צור קשר עם מנהל המערכת שלך.\n\nכמו כן, אתה מחובר ל-VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). גם ספק שירות ה-VPN שלך יכול לעקוב אחר הפעילות שלך ברשת."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"פרופיל זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים.\n\nלמידע נוסף, פנה למנהל מערכת."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"מכשיר זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nהפרופיל שלך מנוהל על ידי:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים.\n\nלמידע נוסף, פנה למנהל מערכת."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"פרופיל זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים. למידע נוסף, פנה למנהל מערכת.\n\n בנוסף, הענקת הרשאת \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" כדי להגדיר חיבור VPN. אפליקציה זו יכולה גם לעקוב אחר פעילות הרשת."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"פרופיל זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים. למידע נוסף, פנה למנהל מערכת.\n\nבנוסף, אתה מחובר אל VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). גם ספק השירות של VPN יכול לעקוב אחר פעילות הרשת."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"מכשיר זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nהפרופיל שלך מנוהל על ידי:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים. למידע נוסף, פנה למנהל מערכת.\n\nבנוסף, הענקת הרשאת \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" כדי להגדיר חיבור VPN. אפליקציה זו יכולה גם לעקוב אחר פעילות הרשת."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"מכשיר זה מנוהל על ידי:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nהפרופיל שלך מנוהל על ידי:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nמנהל המערכת יכול לעקוב אחר פעילות המכשיר והרשת, כולל הודעות אימייל, אפליקציות ואתרים מאובטחים. למידע נוסף, פנה למנהל מערכת.\n\nבנוסף, אתה מחובר אל VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). גם ספק השירות של VPN יכול לעקוב אחר פעילות הרשת."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"המכשיר יישאר נעול עד שתבטל את נעילתו באופן ידני"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"קבל התראות מהר יותר"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"צפה בהן לפני שתבטל נעילה"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 5a73635..5725cbc 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIMがありません。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetoothテザリング。"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"機内モード。"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"携帯通信会社のネットワークを変更します。"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ネットワーク監視"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPNを無効にする"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPNを切断"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"この端末は<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理されています。\n\n\n管理者はあなたの端末やネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。\n\n詳しくは管理者にお問い合わせください。"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"「<xliff:g id="APPLICATION">%1$s</xliff:g>」にVPN接続のセットアップを許可しました。\n\nこのアプリはあなたの端末やネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN(「<xliff:g id="APPLICATION">%1$s</xliff:g>」)に接続しています。\n\nVPNサービスプロバイダはあなたの端末やネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"この端末は<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理されています。\n\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、「<xliff:g id="APPLICATION">%2$s</xliff:g>」にVPN接続のセットアップを許可しています。このアプリもネットワークアクティビティを監視できます。"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"この端末は<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理されています。\n\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、VPN(「<xliff:g id="APPLICATION">%2$s</xliff:g>」)に接続しています。VPNサービスプロバイダーもネットワークアクティビティを監視できます。"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"このプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n管理者はあなたの端末やネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。\n\n詳しくは管理者にお問い合わせください。"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"この端末は次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nあなたのプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n管理者はあなたの端末やネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。\n\n詳しくは管理者にお問い合わせください。"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"このプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、VPN接続を設定する権限を「<xliff:g id="APPLICATION">%2$s</xliff:g>」に付与しているため、このアプリもネットワークアクティビティを監視できます。"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"このプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、VPN(「<xliff:g id="APPLICATION">%2$s</xliff:g>」)に接続しているため、VPNサービスプロバイダもネットワークアクティビティを監視できます。"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"この端末は次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nあなたのプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、VPN接続を設定する権限を「<xliff:g id="APPLICATION">%3$s</xliff:g>」に付与しているため、このアプリもネットワークアクティビティを監視できます。"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"この端末は次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nあなたのプロフィールは次の組織によって管理されています。\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n管理者はあなたのネットワークアクティビティ(メール、アプリ、保護されたウェブサイトなど)を監視できます。詳しくは管理者にお問い合わせください。\n\nまた、VPN(「<xliff:g id="APPLICATION">%3$s</xliff:g>」)に接続しているため、VPNサービスプロバイダもネットワークアクティビティを監視できます。"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"手動でロックを解除するまでロックされたままとなります"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"通知をすばやく確認できます"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ロックを解除する前にご確認ください"</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index 3561311..44318e0 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -362,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ქსელის მონიტორინგი"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN-ის გაუქმება"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN-ის გათიშვა"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ამ მოწყობილობის მმართველი არის:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების.\n\nდამატებითი ინფორმაციისათვის, დაუკავშირდით თქვენს ადმინისტრატორს."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"თქვენ მიეცით ნებართვა „<xliff:g id="APPLICATION">%1$s</xliff:g>“-ს დააყენოს VPN კავშირი.\n\nამ აპს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"თქვენ დაკავშირებული ხართ VPN-თან („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nთქვენი VPN სერვისის პროვაიდერს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ამ მოწყობილობის მმართველია:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების. დამატებითი ინფორმაციისათვის, დაუკავშირდით თქვენს ადმინისტრატორს.\n\nთქვენ მიეცით ნებართვა „<xliff:g id="APPLICATION">%2$s</xliff:g>“-ს დააყენოს VPN კავშირი. ამ აპს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ამ მოწყობილობის მმართველი არის:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების. დამატებითი ინფორმაციისათვის, დაუკავშირდით თქვენს ადმინისტრატორს.\n\nასევე, თქვენ დაკავშირებული ხართ VPN-თან („<xliff:g id="APPLICATION">%2$s</xliff:g>“). თქვენს VPN სერვისის პროვაიდერს ასევე შეუძლია თქვენი ქსელის აქტივობის მონიტორინგი."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ამ პროფილის მმართველია:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი მოწყობილობისა და ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტის, აპების და უსაფრთხო საიტების.\n\nდამატებითი ინფორმაციისათვის, დაუკავშირდით ადმინისტრატორს."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ამ მოწყობილობის მმართველია:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nთქვენი პროფილის მმართველია:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი მოწყობილობისა და ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტის, აპების და უსაფრთხო საიტების.\n\nდამატებითი ინფორმაციისათვის, დაუკავშირდით ადმინისტრატორს."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ამ პროფილის მმართველია:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინისტრატორს შეუძლია თქვენი მოწყობილობისა და ქსელის აქტივობის მონიტორინგი, მათ შორის ელფოსტის, აპების და უსაფრთხო საიტების. დამატებითი ინფორმაციისათვის, დაუკავშირდით ადმინისტრატორს.\n\nასევე, თქვენ მიანიჭეთ „<xliff:g id="APPLICATION">%2$s</xliff:g>“-ს VPN კავშირის დაყენება. ამ აპს ასევე შეუძლია ქსელის მონიტორ."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ამ პროფილის მმართველია:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nთქვენს ადმინ.-ს შეუძლია თქვენი ქსელის აქტივობის მონიტორ., მათ შორის ელფოსტების, აპების და უსაფრთხო საიტების. დამატ. ინფორმ.-თვის, დაუკავშირდით თქვენს ადმინ.-ს.\n\nასევე, თქვ. დაკავშ.-ლი ხართ VPN-თან („<xliff:g id="APPLICATION">%2$s</xliff:g>“). თქვენს VPN სერვისის მომწოდებელს ასევე შეუძლია თქვ. ქსელის აქტივობის მონიტორ."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ამ მოწყობილობის მმართველია:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nთქვ. პროფილის მმართველია:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nთქვენს ადმინ.-ს შეუძლია თქვ. მოწყ.-ისა და ქსელის აქტივობის მონიტ., მათ შორის ელფოსტის, აპების და უსაფრთხო საიტების. დამატებითი ინფორმ.-თვის, დაუკავშირდით ადმინ.-ს.\n\nასევე, თქვენ მიანიჭეთ „<xliff:g id="APPLICATION">%3$s</xliff:g>“-ს VPN კავშირის დაყენება. ამ აპს ასევე შეუძლია ქსელის მონიტ."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ამ მოწყ.-ის მმართ.-ია:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nთქვ. პროფ-ის მმართ-ია:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nთქვ. ადმინ.-ს შეუძლია თქვ. მოწყ.-ისა და ქსელის აქტივ.-ის მონიტ., მ. შ. ელფოსტის, აპების და უსაფრთხო საიტების. დამატებ. ინფორმ.-თვის, დაუკავშირდით ადმინ.-ს.\n\nასევე, თქვ. დაკავშირ. ხართ VPN-თან („<xliff:g id="APPLICATION">%3$s</xliff:g>“). თქვ. VPN სრვს-ის მომწ.-ს ასევე შეუძლია თქვ. ქსელის აქტ.-ის მონიტორ.."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"მოწყობილობის დარჩება ჩაკეტილი, სანამ ხელით არ გახსნით"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"შეტყობინებების უფრო სწრაფად მიღება"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"იხილეთ განბლოკვამდე"</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index dd63d1a..33aebcf 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM жоқ."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth тетеринг."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Ұшақ режимі."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Оператор желісі өзгертілуде."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Батарея <xliff:g id="NUMBER">%d</xliff:g> пайыз."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Жүйе параметрлері."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Хабарлар."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Желіні бақылау"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN функциясын өшіру"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN желісін ажырату"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Бұл құрылғыны басқаратын ұйым:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылауы мүмкін.\n\nҚосымша ақпарат алу үшін әкімшіге хабарласыңыз."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Сіз «<xliff:g id="APPLICATION">%1$s</xliff:g>» қолданбасына VPN байланысын орнату рұқсатын бердіңіз.\n\nБұл қолданба құрылғыңызды және желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылауы мүмкін."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Сіз VPN («<xliff:g id="APPLICATION">%1$s</xliff:g>») желісіне қосылғансыз.\n\nVPN қызмет жеткізушісі құрылғыңызды және желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылауы мүмкін."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Бұл құр. келесі ұйым бас.:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хаб-ды, қолд-ды және қорғалған веб-сайттарды бақ. мүмкін. Қосымша ақпарат алу үшін әкімшіге хабарласыңыз.\n\nСондай-ақ, сіз «<xliff:g id="APPLICATION">%2$s</xliff:g>» қолд-на VPN байланысын орнатуға рұқсат еттіңіз. Бұл қолд. да желілік белс-ті бақылауы мүмкін."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Бұл құрылғыны келесі ұйым басқарады:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылауы мүмкін. Қосымша ақпарат алу үшін әкімшіге хабарласыңыз.\n\nСондай-ақ, сіз VPN («<xliff:g id="APPLICATION">%2$s</xliff:g>») желісіне қосылғансыз. VPN қызмет жет-сі де жел. белс-ті бақ. мүм."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Бұл профильді басқаратын:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылай алады.\n\nҚосымша ақпарат алу үшін әкімшіге хабарласыңыз."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Бұл құрылғыны басқаратын:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nБұл профильді басқаратын:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nӘкімші құрылғыны және желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылай алады.\n\nҚосымша ақпарат алу үшін әкімшіге хабарласыңыз."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Бұл профильді басқаратын:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хабарларды, қолданбаларды және қорғалған веб-сайттарды бақылай алады. Қосымша ақпарат алу үшін әкімшіге хабарласыңыз.\n\nСондай-ақ, сіз «<xliff:g id="APPLICATION">%2$s</xliff:g>» VPN байл. орнату рұқ. бердіңіз. Бұл қолданба да желілік белсенділікті бақылай алады."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Бұл профильді басқаратын:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, электрондық хабарларды, қол-ды және қорғалған веб-сайттарды бақылай алады. Қосымша ақпарат алу үшін әкімшіге хабарласыңыз.\n\nСондай-ақ, сіз VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") қызметіне қосылғансыз. VPN қызметін жеткізуші де желілік белсенділікті бақылай алады."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Бұл құрылғыны басқаратын:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПрофиліңізді басқаратын:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nӘкімші желілік белс-ті, соның ішінде, эл. хаб-ды, қол-ды және қорғалған веб-сайттарды бақылай алады. Қосымша ақпар. алу үшін әкімшіге хаб-з.\n\nСондай-ақ, сіз «<xliff:g id="APPLICATION">%3$s</xliff:g>» VPN байланысын орнату рұқсатын бердіңіз. Бұл қолданба да желілік белсенділікті бақылай алады."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Бұл құр. басқаратын:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПрофиліңізді басқаратын:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nӘкімші желілік белсенділікті, соның ішінде, эл. хаб-ды, қолд-ды және қорғалған веб-сайттарды бақылай алады. Қосымша ақпарат алу үшін әкімшіге хаб-ңыз.\n\nСондай-ақ, VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") қызметіне қосылғансыз. VPN қызметін жеткізуші де желілік белсенділікті бақылай алады."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Қолмен бекітпесін ашқанша құрылғы бекітілген күйде қалады"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Хабарландыруларды тезірек алу"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Бекітпесін ашу алдында оларды көру"</string>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index f80b164..34a5175 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"គ្មានស៊ីមកាត។"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ការភ្ជាប់ប៊្លូធូស។"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"របៀបពេលជិះយន្តហោះ"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ការប្តូរបណ្តាញក្រុមហ៊ុនផ្តល់សេវា។"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"ថ្ម <xliff:g id="NUMBER">%d</xliff:g> ភាគរយ។"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"ការកំណត់ប្រព័ន្ធ។"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"ការជូនដំណឹង។"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ការត្រួតពិនិត្យបណ្ដាញ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"បិទ VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"ផ្ដាច់ VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចពិនិត្យឧបករណ៍ និងសកម្មភាពបណ្ដាញរបស់អ្នករួមមាន អ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។\n\nចំពោះព័ត៌មានបន្ថែម សូមទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"អ្នកបានផ្ដល់សិទ្ធិ \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ដើម្បីរៀបចំការភ្ជាប់ VPN ។\n\nកម្មវិធីនេះអាចពិនិត្យឧបករណ៍ និងសកម្មភាពបណ្ដាញរបស់អ្នករួមមាន អ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"អ្នកបានភ្ជាប់ទៅ VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\")។\n\nក្រុមហ៊ុនផ្ដល់សេវាកម្ម VPN របស់អ្នកអាចពិនិត្យឧបករណ៍ និងសកម្មភាពបណ្ដាញរបស់អ្នករួមមាន អ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n អ្នកគ្រប់គ្រងរបស់អ្នកមានសមត្ថភាពក្នុងការត្រួតពិនិត្យសកម្មភាពបណ្ដាញរបស់អ្នក រួមមានអ៊ីមែល, កម្មវិធី, និងតំបន់បណ្ដាញសុវត្ថិភាព។ សម្រាប់ព័ត៌មានបន្ថែមសូមទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។ \n\n អ្នកបានផ្ដល់សិទ្ធិ\"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ដើម្បីរៀបចំការតភ្ជាប់ VPN ។ កម្មវិធីនេះអាចតាមដានសកម្មភាពបណ្ដាញ។"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n អ្នកគ្រប់គ្រងរបស់អ្នកមានសមត្ថភាពក្នុងការត្រួតពិនិត្យសកម្មភាពបណ្ដាញរបស់អ្នករួមមានអ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញសុវត្ថិភាព។ សម្រាប់ព័ត៌មានបន្ថែមសូមទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។ \n\n អ្នកត្រូវបានតភ្ជាប់ទៅ VPN (\" <xliff:g id="APPLICATION">%2$s</xliff:g> \") ។ ក្រុមហ៊ុនផ្ដល់សេវា VPN របស់អ្នកអាចតាមដានសកម្មភាពរបស់អ្នក។"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ប្រវត្តិរូបនេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានឧបករណ៍ និងសកម្មភាពបណ្ដាញរបស់អ្នក រួមមានកម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។\n\nចំពោះព័ត៌មាន ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nប្រវត្តិរូបរបស់អ្នកត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានឧបករណ៍ និងសកម្មភាពបណ្ដាញរបស់អ្នក រួមមានអ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។\n\nចំពោះព័ត៌មានបន្ថែម ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ប្រវត្តិរូបនេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញរួមមាន អ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។ ចំពោះព័ត៌មានបន្ថែម ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។\n\nអ្នកបានផ្ដល់សិទ្ធិ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ឲ្យកំណត់ការភ្ជាប់ VPN ។ កម្មវិធីនេះអាចតាមដានសកម្មភាពបណ្ដាញផងដែរ។"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ប្រវត្តិរូបនេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញរបស់អ្នករួមមានអ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។ ចំពោះព័ត៌មានបន្ថែម ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។\n\nអ្នកត្រូវបានភ្ជាប់ទៅ VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") ។ ក្រុមហ៊ុនផ្ដល់សេវាកម្ម VPN របស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញរបស់អ្នកបានផងដែរ។"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nប្រវត្តិរូបរបស់អ្នកត្រូវបានគ្រប់គ្រង៖\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញ រួមមានអ៊ីមែល កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។ ចំពោះព័ត៌មានបន្ថែម ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។\n\nអ្នកបានផ្ដល់សិទ្ធិ \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ឲ្យកំណត់ការភ្ជាប់ VPN ។ កម្មវិធីនេះអាចតាមដានសកម្មភាពបណ្ដាញផងដែរ។"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ឧបករណ៍នេះត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nប្រវត្តិរូបរបស់អ្នកត្រូវបានគ្រប់គ្រងដោយ៖\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញរបស់អ្នក រួមមានអ៊ីមែល, កម្មវិធី និងតំបន់បណ្ដាញមានសុវត្ថិភាព។ ចំពោះព័ត៌មានបន្ថែម ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។\n\nអ្នកក៏បានភ្ជាប់ទៅ VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") ។ ក្រុមហ៊ុនផ្ដល់សេវាកម្ម VPN របស់អ្នកអាចតាមដានសកម្មភាពបណ្ដាញបានផងដែរ។"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"ឧបករណ៍នឹងចាក់សោរហូតដល់អ្នកដោះសោដោយដៃ"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"ទទួលបានការជូនដំណឹងកាន់តែលឿន"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ឃើញពួកវាមុនពេលដោះសោ"</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index 49741e8..fce6ac4 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"ಯಾವುದೇ ಸಿಮ್ ಇಲ್ಲ."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ಬ್ಲೂಟೂತ್ ಟೆಥರಿಂಗ್."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"ಏರೋಪ್ಲೇನ್ ಮೋಡ್"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ವಾಹಕ ನೆಟ್ವರ್ಕ್ ಬದಲಾಯಿಸುವಿಕೆ."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"ಬ್ಯಾಟರಿ <xliff:g id="NUMBER">%d</xliff:g> ಪ್ರತಿಶತ."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"ಸಿಸ್ಟಂ ಸೆಟ್ಟಿಂಗ್ಗಳು."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"ಅಧಿಸೂಚನೆಗಳು."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ನೆಟ್ವರ್ಕ್ ಪರಿವೀಕ್ಷಣೆ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN ಸಂಪರ್ಕಕಡಿತಗೊಳಿಸಿ"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ಈ ಸಾಧನವನ್ನು ಇವರು ನಿರ್ವಹಿಸಿದ್ದಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು.\n\nಇನ್ನಷ್ಟು ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"ನೀವು VPN ಸಂಪರ್ಕ ಹೊಂದಿಸಲು \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ಗೆ ಅನುಮತಿ ನೀಡಿರುವಿರಿ.\n\n ಈ ಅಪ್ಲಿಕೇಶನ್ ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"ನೀವು VPN ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವಿರಿ (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nನಿಮ್ಮ VPN ಸೇವೆ ಒದಗಿಸುವವರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ಇವರು ಈ ಸಾಧನವನ್ನು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೇ, ನೀವು VPN ಸಂಪರ್ಕ ಹೊಂದಿಸಲು \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ಗೆ ಅನುಮತಿ ನೀಡಿರುವಿರಿ. ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಸಹ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ಇವರು ಈ ಸಾಧನವನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೇ, ನೀವು VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವಿರಿ. ನಿಮ್ಮ VPN ಸೇವೆ ಒದಗಿಸುವವರು ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಸಹ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ಈ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ಸಾಧನ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು.\n\nಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿರಿ."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ಈ ಸಾಧನವನ್ನು ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ಸಾಧನ ಹಾಗೂ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು.\n\nಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ಇವರು ಈ ಪ್ರೊಫೈಲ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n.ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೆ, VPN ಗೆ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಸಲು ನೀವು \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ಗೆ ಅನುಮತಿಸಿರುವಿರಿ. ಈ ಅಪ್ಲಿಕೇಶನ್ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಸಹ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ಈ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೆ, ನೀವು VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") ಗೆ ಗೆ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿರುವಿರಿ. ನಿಮ್ಮ VPN ಸೇವೆ ಪೂರೈಕೆದಾರರು ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನೂ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ಈ ಸಾಧನವನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n.ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೆ, VPN ಗೆ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಸಲು ನೀವು \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ಗೆ ಅನುಮತಿಸಿರುವಿರಿ. ಈ ಅಪ್ಲಿಕೇಶನ್ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಸಹ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ಈ ಸಾಧನವನ್ನು ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಸುರಕ್ಷಿತ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.\n\nಅಲ್ಲದೆ, ನೀವು VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") ಗೆ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿರುವಿರಿ. ನಿಮ್ಮ VPN ಸೇವೆ ಪೂರೈಕೆದಾರರು ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನೂ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"ನೀವಾಗಿಯೇ ಅನ್ಲಾಕ್ ಮಾಡುವವರೆಗೆ ಸಾಧನವು ಲಾಕ್ ಆಗಿಯೇ ಇರುತ್ತದೆ"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"ವೇಗವಾಗಿ ಅಧಿಸೂಚನೆಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಿ"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ನೀವು ಅನ್ಲಾಕ್ ಮಾಡುವ ಮೊದಲೇ ಅವುಗಳನ್ನು ನೋಡಿ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 37d563b..f4ae826 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM이 없습니다."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"블루투스 테더링입니다."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"비행기 모드입니다."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"이동통신사 네트워크가 변경됩니다."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"배터리 <xliff:g id="NUMBER">%d</xliff:g>퍼센트"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"시스템 설정"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"알림"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"네트워크 모니터링"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN 사용 중지"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN 연결 해제"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"이 기기는 \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n에서 관리합니다. 관리자가 이메일, 앱 및 보안 웹사이트 등의 네트워크 활동을 모니터링할 수 있습니다.\n\n자세한 내용은 관리자에게 문의하세요."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"\'<xliff:g id="APPLICATION">%1$s</xliff:g>\'에 VPN 연결을 설정할 수 있는 권한을 부여했습니다.\n\n이 앱에서 내 기기와 이메일과 앱, 보안 웹사이트 등의 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN(\'<xliff:g id="APPLICATION">%1$s</xliff:g>\')에 연결되었습니다.\n\nVPN 서비스 제공업체에서 내 기기와 이메일, 앱, 보안 웹사이트 등의 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"이 기기는 \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>에서 관리합니다.\n\n관리자가 이메일, 앱, 보안 웹사이트 등의 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 \'<xliff:g id="APPLICATION">%2$s</xliff:g>\'에 VPN 연결을 설정할 수 있는 권한을 부여했습니다. 이 앱에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"이 기기는 \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>에서 관리합니다.\n\n관리자가 이메일, 앱, 보안 웹사이트 등의 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 VPN에도 연결되었습니다(\'<xliff:g id="APPLICATION">%2$s</xliff:g>\'). VPN 서비스 제공업체에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"프로필 관리자:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 네트워크 활동과 내 기기를 모니터링할 수 있습니다.\n\n자세한 정보는 관리자에게 문의하세요."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"기기 관리자:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n프로필 관리자:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 네트워크 활동과 내 기기를 모니터링할 수 있습니다.\n\n자세한 정보는 관리자에게 문의하세요."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"프로필 관리자:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 내 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 \'<xliff:g id="APPLICATION">%2$s</xliff:g>\'에 VPN 연결을 설정할 수 있는 권한을 부여했습니다. 이 앱에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"프로필 관리자:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 내 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 현재 VPN(\'<xliff:g id="APPLICATION">%2$s</xliff:g>\')에 연결되어 있습니다. VPN 서비스 제공업체에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"기기 관리자:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n프로필 관리자:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 내 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 \'<xliff:g id="APPLICATION">%3$s</xliff:g>\'에 VPN 연결을 설정할 수 있는 권한을 부여했습니다. 이 앱에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"기기 관리자:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n프로필 관리자:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n관리자는 이메일, 앱, 보안 웹사이트를 비롯한 내 네트워크 활동을 모니터링할 수 있습니다. 자세한 정보는 관리자에게 문의하세요.\n\n또한 현재 VPN(\'<xliff:g id="APPLICATION">%3$s</xliff:g>\')에 연결되어 있습니다. VPN 서비스 제공업체에서도 네트워크 활동을 모니터링할 수 있습니다."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"수동으로 잠금 해제할 때까지 기기가 잠금 상태로 유지됩니다."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"알림을 더욱 빠르게 받기"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"잠금 해제하기 전에 알림을 봅니다."</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index ea8547d..d570113 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -171,8 +171,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM карта жок."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth аркылуу интернет бөлүшүү."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Учак тартиби."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Оператор тармагы өзгөртүлүүдө."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Батарея <xliff:g id="NUMBER">%d</xliff:g> пайыз."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Система тууралоолору."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Эскертмелер."</string>
@@ -388,17 +387,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Тармакка көз салуу"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN\'ди өчүрүү"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN\'ди ажыратуу"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Бул түзмөк төмөнкү тарабынан башкарылат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторуңуз түзмөгүңүздү жана тармактагы аракетиңизди, анын ичинде email-дер, колдонмолор жана коопсуз вебсайттарды көзөмөлдөй алат.\n\nКөбүрөөк маалымат үчүн администраторуңузга кайрылыңыз."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"\"<xliff:g id="APPLICATION">%1$s</xliff:g>\" VPN туташуу орнотуусуна уруксат бердиңиз.\n\nБул колдонмо түзмөгүңүздү жана тармактагы аракетиңизди, анын ичинде email-дер, колдонмолор жана коопсуз вебсайттарды көзөмөлдөй алат."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Сиз VPN-ге туташкансыз (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nVPN кызмат камсыздоочуңуз түзмөгүңүздү жана тармактагы аракетиңизди, анын ичинде email-дер, колдонмолор жана коопсуз вебсайттарды көзөмөлдөй алат."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Бул түзмөк төмөнкүчө башкарылат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор электрондук почталар, колдонмолор жана коопсуз вебсайттар сыяктуу тармактгы аракеттрге көз салып турт. Көбүрөөк билүү үчн, администратрго кайрылңз.\n\nОшондой эле \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" VPN туташуусн орнотууга урукст бердиңз. Бул колдонмо тармактгы аракеттерңзге дагы көз салат."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Бул түзмөк төмөнкүчө башкарылат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор электрондук почта, колдонмолор жана коопсуз вебсайттар сыяктуу тармактагы аракеттериңизге көз салып турат. Көбүрөөк билүү үчүн, администраторго кайрылыңыз.\n\nОшондой эле VPN\'ге туташып турасыз. (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). VPN кызмат көрсөтүүчү тармактагы аракетиңизге көз салат."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Бул профилди төмөнкү башкарат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторңуз түзмөгүңүз жана тармактагы аракетиңизди, анын ичинде email-дер, колдонмолор жана коопсуз вебсайттарды, көзөмөлдөй алат.\n\nДагы маалымат үчүн, администраторуңузга кайрылыңыз."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Бул түзмөктү төмөнкү башкарат:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПрофилиңизди төмөнкү башкарат:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистраторуңуз түзмөгүңүз жана тармактагы аракетиңизди, анын ичинде email-дер, колдонмолор жана коопсуз вебсайттарды, көзөмөлдөй алат.\n\nДагы маалымат үчүн, администраторуңузга кайрылыңыз."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Бул профилди төмөнкү башкарат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдмин-ңуздун тармак ар-ңизди, анын ичинде email-дер, колд-лор жана коопсуз вебсайттарды, көзөмөлдөө мүмкүнчүлүгү бар. Дагы маалымат үчүн, админ-ңузга кайрылыңыз.\n\n\"<xliff:g id="APPLICATION">%2$s</xliff:g>\" VPN туташуусун орнотуусуна да уруксат бердиңиз. Бул колдонмо тармак аракетин да көзөмөлдөй алат."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Бул профилди төмөнкү башкарат:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдмин-ңуздун тармак ар-ңизди, анын ичинде email-дер, колд-лор жана коопсуз вебсайттарды, көзөмөлдөө мүмкүнчүлүгү бар. Дагы маалымат үчүн, админ-ңузга кайрылыңыз.\n\nСиз VPN-ге (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") да туташкансыз. VPN тейлөөчүңүз да тармак аракетин көзөмөлдөй алат."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Бул түзмөктү төмөнкү башк-т:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПрофилиңизди төмөнкү башк-т:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдмин-ңуздун тармак ар-ңизди, анын ичинде email-дер, колд-лор жана коопсуз вебс-ды, көз-дөө мүмк-гү бар. Дагы маалымат үчүн, админ-ңузга кайр-з.\n\n\"<xliff:g id="APPLICATION">%3$s</xliff:g>\" VPN туташуусун орнотуусуна да уруксат бердиңиз. Бул колдонмо тармак аракетин да көзөмөлдөй алат."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Түзмөктү тө-кү башк-т:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nПрофилди тө-кү башк-т:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдмин-ңуздун тармак ар-ңизди, анын ичинде email-дер, колд-лор жана коопсуз вебс-ды, көзөмөлдөө мүмкүнчүлүгү бар. Дагы маалымат үчүн, админ-ңузга кайрылыңыз.\n\nСиз VPN-ге (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") да туташкансыз. VPN тейлөөчүңүз да тармак аракетин көзөмөлдөй алат."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Түзмөктүн кулпусу кол менен ачылмайынча кулпуланган бойдон алат"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Эскертмелерди тезирээк алуу"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Аларды кулпудан чыгараардан мурун көрүңүз"</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index f018e08..c0ea000 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -362,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ການກວດສອບຕິດຕາມເຄືອຂ່າຍ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"ປິດການໃຊ້ VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"ຕັດການເຊື່ອມຕໍ່ VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ອຸປະກອນນີ້ຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານສາມາດເຝົ້າຕິດຕາມອຸປະກອນແລະການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ.\n\nສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"ທ່ານໃຫ້ສິດອະນຸຍາດກັບ \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ເພື່ອຕັ້ງຄ່າການເຊື່ອມຕໍ່ VPN.\n\nແອັບຯນີ້ຈະສາມາດເຝົ້າຕິດຕາມອຸປະກອນແລະການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"ທ່ານເຊື່ອມຕໍ່ຫາ VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") ແລ້ວ.\n\nຜູ່ໃຫ້ບໍລິການ VPN ຂອງທ່ານສາມາດເຝົ້າຕິດຕາມອຸປະກອນແລະການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ອຸປະກອນຂອງທ່ານຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານສາມາດເຝົ້າຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nອີກຢ່າງນຶ່ງ, ທ່ານມອບສິດອະນຸຍາດໃຫ້ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ເພື່ອຕັ້ງຄ່າການເຊື່ອມຕໍ່ VPN. ແອັບຯນີ້ສາມາດເຝົ້າຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ອຸປະກອນຂອງທ່ານຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານສາມາດເຝົ້າຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nນອກຈາກນັ້ນ, ທ່ານໄດ້ເຊື່ອມຕໍ່ຫາ VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). ຜູ່ໃຫ້ບໍລິການ VPN ຂອງທ່ານສາມາດເຝົ້າຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ເຊັ່ນກັນ."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ໂປຣໄຟລ໌ນີ້ແມ່ນຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. \n\nສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ອຸປະກອນນີ້ເບິ່ງແຍງໂດຍ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nໂປຣໄຟລ໌ຂອງທ່ານແມ່ນຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານສາມາດຕິດຕາມອຸປະກອນຂອງທ່ານ ແລະການເຄື່ອນໄຫວເຄືອຂ່າຍ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ.\n\nສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nນອກຈາກນັ້ນ, ທ່ານໄດ້ອະນຸຍາດໃຫ້ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ສາມາດຕັ້ງຄ່າການເຊື່ອມຕໍ່ VPN ໄດ້. ແອັບຯນີ້ສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ເຊັ່ນກັນ."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ໂປຣໄຟລ໌ນີ້ແມ່ນຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nນອກຈາກນັ້ນ, ທ່ານໄດ້ເຊື່ອມຕໍ່ຫາ VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). ຜູ່ໃຫ້ບໍລິການ VPN ຂອງທ່ານສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍໄດ້ເຊັ່ນກັນ."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ອຸປະກອນນີ້ແມ່ນຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nໂປຣໄຟລ໌ຂອງທ່ານແມ່ນຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nນອກຈາກນັ້ນ, ທ່ານໄດ້ອະນຸຍາດໃຫ້ \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ສາມາດຕັ້ງຄ່າການເຊື່ອມຕໍ່ VPN ໄດ້. ແອັບຯນີ້ສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານໄດ້ເຊັ່ນກັນ."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ອຸປະກອນນີ້ແມ່ນຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nໂປຣໄຟລ໌ຂອງທ່ານແມ່ນຖືກຈັດການໂດຍ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nຜູ່ເບິ່ງແຍງຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານໄດ້ ຮວມເຖິງ: ອີເມວ, ແອັບຯ ແລະເວັບໄຊທີ່ເຂົ້າລະຫັດ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ່ເບິ່ງແຍງລະບົບຂອງທ່ານ.\n\nນອກຈາກນັ້ນ, ທ່ານໄດ້ເຊື່ອມຕໍ່ຫາ VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). ຜູ່ໃຫ້ບໍລິການ VPN ຂອງທ່ານສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍໄດ້ເຊັ່ນກັນ."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Device will stay locked until you manually unlock"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"ຮັບເອົາການແຈ້ງເຕືອນໄວຂຶ້ນ"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ເບິ່ງພວກມັນກ່ອນທ່ານຈະປົດລັອກ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 234e178..59da01c 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nėra SIM kortelės."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"„Bluetooth“ įrenginio kaip modemo naudojimas."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lėktuvo režimas."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Keičiamas operatoriaus tinklas."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Akumuliatorius: <xliff:g id="NUMBER">%d</xliff:g> proc."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistemos nustatymai"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Pranešimai."</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Tinklo stebėjimas"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Išjungti VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Atjungti VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Šį įrenginį tvarko\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nJūsų administratorius gali stebėti įrenginio ir tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines.\n\nJei reikia daugiau informacijos, susisiekite su administratoriumi."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Suteikėte leidimą „<xliff:g id="APPLICATION">%1$s</xliff:g>“ užmegzti VPN ryšį.\n\nŠi programa gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Esate prisijungę prie VPN („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nVPN paslaugos teikėjas gali stebėti įrenginį ir tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Šį įrenginį tvarko:\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nAdministratorius gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Kad gautumėte daugiau informacijos, susisiekite su administratoriumi.\n\nSuteikėte leidimą „<xliff:g id="APPLICATION">%2$s</xliff:g>“ užmegzti VPN ryšį. Ši programa taip pat gali stebėti tinklo veiklą."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Šį įrenginį tvarko:\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nAdministratorius gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Kad gautumėte daugiau informacijos, susisiekite su administratoriumi.\n\nBe to, esate prisijungę prie VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>“). VPN paslaugos teikėjas taip pat gali stebėti tinklo veiklą."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Šį profilį tvarko:\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nAdministratorius gali stebėti įrenginio ir tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines.\n\nJei reikia daugiau informacijos, susisiekite su administratoriumi."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Šį įrenginį tvarko:\n„<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>“\nJūsų profilį tvarko:\n„<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>“\n\nAdministratorius gali stebėti įrenginio ir tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines.\n\nJei reikia daugiau informacijos, susisiekite su administratoriumi."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Šį profilį tvarko:\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nAdministratorius gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Jei reikia daugiau informacijos, susisiekite su administratoriumi.\n\nBe to, „<xliff:g id="APPLICATION">%2$s</xliff:g>“ suteikėte leidimą nustatyti VPN ryšį. Ši programa taip pat gali stebėti tinklo veiklą."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Šį profilį tvarko:\n„<xliff:g id="ORGANIZATION">%1$s</xliff:g>“\n\nAdministratorius gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Jei reikia daugiau informacijos, susisiekite su administratoriumi.\n\nBe to, esate prisijungę prie VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>“). VPN paslaugos teikėjas taip pat gali stebėti tinklo veiklą."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Šį įrenginį tvarko:\n„<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>“\nJūsų profilį tvarko:\n„<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>“\n\nAdmin. gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Jei reikia daugiau informacijos, susisiekite su administratoriumi.\n\nBe to, „<xliff:g id="APPLICATION">%3$s</xliff:g>“ suteikėte leidimą nustatyti VPN ryšį. Ši programa taip pat gali stebėti tinklo veiklą."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Šį įrenginį tvarko:\n„<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>“\nJūsų profilį tvarko:\n„<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>“\n\nAdmin. gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir saugias svetaines. Jei reikia daugiau informacijos, susisiekite su administratoriumi.\n\nBe to, esate prisijungę prie VPN („<xliff:g id="APPLICATION">%3$s</xliff:g>“). VPN paslaugos teikėjas taip pat gali stebėti tinklo veiklą."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Įrenginys liks užrakintas, kol neatrakinsite jo neautomatiniu būdu"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Greičiau gaukite pranešimus"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Peržiūrėti prieš atrakinant"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 498b3e4..7fa661c 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -147,8 +147,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nav SIM kartes."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth piesaiste."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lidmašīnas režīms."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Mobilo sakaru operatora tīkla mainīšana."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Akumulators: <xliff:g id="NUMBER">%d</xliff:g> procenti"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistēmas iestatījumi"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Paziņojumi"</string>
@@ -364,17 +363,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Tīkla pārraudzība"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Atspējot VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Atvienot VPN tīklu"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Šo ierīci pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes. \n\nLai iegūtu plašāku informāciju, sazinieties ar administratoru."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Jūs piešķīrāt lietotnei “<xliff:g id="APPLICATION">%1$s</xliff:g>” atļauju izveidot savienojumu ar VPN tīklu\n\nŠī lietotne var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Ir izveidots savienojums ar VPN tīklu (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nJūsu VPN pakalpojumu sniedzējs var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Šo ierīci pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt tīklā veiktās darbības, arī e-pastus, lietotnes un drošās vietnes. Lai uzzinātu vairāk, sazinieties ar administratoru.\n\nJūs arī piešķīrāt atļauju izveidot savienojumu ar VPN tīklu lietotnei “<xliff:g id="APPLICATION">%2$s</xliff:g>”. Šī lietotne arī var pārraudzīt jūsu tīklā veiktās darbības."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Šo ierīci pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu tīklā veiktās darbības, arī e-pastus, lietotnes un drošās vietnes. Lai uzzinātu vairāk, sazinieties ar administratoru.\n\nIr arī izveidots savienojums ar VPN tīklu (“<xliff:g id="APPLICATION">%2$s</xliff:g>”). Tīklā veiktās darbības var pārraudzīt arī jūsu VPN pakalpojumu sniedzējs."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Šo profilu pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes.\n\nLai iegūtu plašāku informāciju, sazinieties ar administratoru."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Šo ierīci pārvalda:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJūsu profilu pārvalda:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes.\n\nLai iegūtu plašāku informāciju, sazinieties ar administratoru."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Šo profilu pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes. Papildinformāciju jautājiet administratoram.\n\nJūs piešķīrāt lietotnei “<xliff:g id="APPLICATION">%2$s</xliff:g>” atļauju izveidot savienojumu ar VPN tīklu. Arī šī lietotne var pārraudzīt tīklā veiktās darbības."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Šo profilu pārvalda:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJūsu administrators var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes. Lai iegūtu plašāku informāciju, sazinieties ar administr.\n\nIr arī izveidots savienojums ar VPN tīklu (<xliff:g id="APPLICATION">%2$s</xliff:g>). Jūsu veiktās darbības var pārraudzīt arī VPN pakalpojumu sniedzējs."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Ierīci pārvalda:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJūsu profilu pārvalda:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nJūsu administr. var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pastu, liet. un dr. vietnes. Papildinform.: jautājiet administratoram.\n\nJūs piešķīrāt lietotnei “<xliff:g id="APPLICATION">%3$s</xliff:g>” atļauju izveidot savien. ar VPN tīklu. Arī šī lietotne var pārraudzīt tīklā veiktās darbības."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Ierīci pārvalda:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nJūsu profilu pārvalda:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministrators var pārraudzīt jūsu ierīcē un tīklā veiktās darbības, tostarp e-pastu, lietotnes un drošās vietnes. Papildinform.: jautājiet administratoram.\n\nIr arī izveidots savienojums ar VPN tīklu (<xliff:g id="APPLICATION">%3$s</xliff:g>). Jūsu veiktās darbības var pārraudzīt arī VPN pakalp. sniedz."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Ierīce būs bloķēta, līdz to manuāli atbloķēsiet."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Saņemiet paziņojumus ātrāk"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Skatiet tos pirms atbloķēšanas."</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index 9dafeab..3bf30d2 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Нема СИМ картичка."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Се поврзува со Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим на работа во авион."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Променување на мрежата на операторот."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Следење на мрежата"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Оневозможи ВПН"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Исклучи ВПН"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Со уредот управува:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nВашиот администратор може да ги следи уредот и мрежната активност, заедно со е-пораките, апликациите и безбедните веб-локации.\n\nЗа повеќе информации, контактирајте со администраторот."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Дозволивте „<xliff:g id="APPLICATION">%1$s</xliff:g>“ да постави поврзување ВПН.\n\nОваа апликација може да ги следи уредот и мрежната активност, заедно со е-пораките, апликациите и безбедните веб-локации."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Поврзани сте на ВПН („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nОператорот на услугата ВПН може да ги следи уредот и мрежната активност, заедно со е-пораките, апликациите и безбедните веб-локации."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Уредот е управуван од:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n}Администраторот е во состојба да ја следи вашата активност на мрежата, вклучувајќи ги е-пораките, апликациите и безбедните веб-локации.За повеќе информации, контактирајте со администраторот.\n\nДозволивте „<xliff:g id="APPLICATION">%2$s</xliff:g>“ да постави поврзување со ВПН.Оваа апликација може да ја следи вашата активност на мрежата исто така."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Уредот е управуван од:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторот е во состојба да ја следи вашата активност на мрежата, вклучувајќи ги е-пораките, апликациите и безбедните веб-локации.За повеќе информации, контактирајте со администраторот.\n\nПоврзани сте и на ВПН („<xliff:g id="APPLICATION">%2$s</xliff:g>“)Давателот на услуги на ВПН може да ја следи активноста на мрежата исто така."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Со овој профил управува:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторот може да ги следи вашиот уред и мрежната активност, вклучувајќи е-пошта, апликации и безбедни веб-локации.\n\nЗа повеќе информации, контактирајте со него."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Со овој уред управува:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nСо вашиот профил управува:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nВашиот администратор може да ги следи вашиот уред и мрежната активност, вклучувајќи ги е-поштата, апликациите и безбедните веб-локации.\n\nЗа повеќе информации, контактирајте со администраторот."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Со вашиот профил управува:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторот може да ја следи мрежната активност, вклучувајќи е-пошта, апликации и безбедни веб-локации. За повеќе информации, контактирајте со него.\n\n}Дадовте дозвола „<xliff:g id="APPLICATION">%2$s</xliff:g>}“ да постави ВПН-конекција. И оваа апликација може да ја следи мрежната активност."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Со овој профил управува:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистраторот може да ја следи мрежната активност, вклучувајќи е-пошта, апликации и безбедни веб-локации. За повеќе информации, контактирајте со него.\n\nИсто така, поврзани сте со ВПН („<xliff:g id="APPLICATION">%2$s</xliff:g>“). И операторот на ВПН-услуги може да ја следи мрежната активност."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Со овој уред управува:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nСо вашиот профил управува:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистраторот може да ја следи мрежната активност, вклучувајќи е-пошта, апликации и безбедни веб-локации. За повеќе информации, контактирајте со него.\n\nДадовте дозвола „<xliff:g id="APPLICATION">%3$s</xliff:g>“ да постави ВПН-конекција. И оваа апликација може да ја следи мрежната активност."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Со овој уред управува:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nСо вашиот профил управува:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистраторот може да ја следи мрежната активност, вклучувајќи е-пошта, апликации и безбедни веб-локации. За повеќе информации, контактирајте со него.\n\nИсто така, поврзани сте со ВПН („<xliff:g id="APPLICATION">%3$s</xliff:g>“). И операторот на ВПН-услуги може да ја следи мрежната активност."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Уредот ќе остане заклучен додека рачно не го отклучите"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Добивајте известувања побрзо"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Видете ги пред да отклучите"</string>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index 87f0e12..5478390 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"സിം ഇല്ല."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ബ്ലൂടൂത്ത് ടെതറിംഗ്."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"ഫ്ലൈറ്റ് മോഡ്."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"കാരിയർ നെറ്റ്വർക്ക് മാറ്റൽ."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"ബാറ്ററി <xliff:g id="NUMBER">%d</xliff:g> ശതമാനം."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"സിസ്റ്റം ക്രമീകരണങ്ങൾ."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"അറിയിപ്പുകൾ."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"നെറ്റ്വർക്ക് നിരീക്ഷിക്കൽ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN പ്രവർത്തനരഹിതമാക്കുക"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN വിച്ഛേദിക്കുക"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"നിങ്ങളുടെ ഉപകരണം നിയന്ത്രിക്കുന്നത് ഇതാണ്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nനിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർക്ക് ഇമെയിലുകളും അപ്ലിക്കേഷനുകളും വെബ്സൈറ്റുകൾ സുരക്ഷിതമാക്കലും ഉൾപ്പെടെയുള്ള നിങ്ങളുടെ നെറ്റ്വർക്ക് പ്രവർത്തനങ്ങൾ നിരീക്ഷിക്കാനാകും.\n\nകൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"VPN കണക്ഷൻ സജ്ജീകരിക്കാൻ നിങ്ങൾ \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" എന്നതിന് അനുമതി നൽകി.\n\n ഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, വെബ്സൈറ്റുകൾ സുരക്ഷിതമാക്കൽ എന്നിവ ഉൾപ്പെടെയുള്ള നിങ്ങളുടെ നെറ്റ്വർക്ക് പ്രവർത്തനങ്ങൾ ഈ അപ്ലിക്കേഷന് നിരീക്ഷിക്കാനാകും."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"നിങ്ങൾ VPN-ൽ (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") കണക്റ്റുചെയ്തിരിക്കുന്നു.\n\nഇമെയിലുകളും അപ്ലിക്കേഷനുകളും വെബ്സൈറ്റുകൾ സുരക്ഷിതമാക്കലും ഉൾപ്പെടെയുള്ള നെറ്റ്വർക്ക് പ്രവർത്തനങ്ങൾ നിരീക്ഷിക്കാൻ നിങ്ങളുടെ VPN സേവന ദാതാവിന് കഴിയും."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"നിങ്ങളുടെ ഉപകരണം നിയന്ത്രിക്കുന്നത് ഇതാണ്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nനിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ ഇമെയിലുകളും അപ്ലിക്കേഷനുകളും വെബ്സൈറ്റുകൾ സുരക്ഷിതമാക്കലും ഉൾപ്പെടെയുള്ള നിങ്ങളുടെ നെറ്റ്വർക്ക് പ്രവർത്തനങ്ങൾ നിരീക്ഷിക്കുന്നതിന് പ്രാപ്തമാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.\n\nഅതോടൊപ്പം, നിങ്ങൾ ഒരു VPN കണക്ഷൻ സജ്ജീകരിക്കാൻ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" എന്നതിന് അനുമതിയും നൽകി. ഈ അപ്ലിക്കേഷന് നെറ്റ്വർക്ക് പ്രവർത്തനവും നിരീക്ഷിക്കാനാകും."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"നിങ്ങളുടെ ഉപകരണം നിയന്ത്രിക്കുന്നത് ഇതാണ്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nനിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ ഇമെയിലുകളും അപ്ലിക്കേഷനുകളും വെബ്സൈറ്റുകൾ സുരക്ഷിതമാക്കലും ഉൾപ്പെടെയുള്ള നിങ്ങളുടെ നെറ്റ്വർക്ക് പ്രവർത്തനങ്ങൾ നിരീക്ഷിക്കുന്നതിന് പ്രാപ്തമാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.\n\nഅതോടൊപ്പം, നിങ്ങൾ ഒരു VPN-ലും (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") കണക്റ്റുചെയ്തിരിക്കുന്നു. നിങ്ങളുടെ VPN സേവന ദാതാവിന് നെറ്റ്വർക്ക് പ്രവർത്തനവും നിരീക്ഷിക്കാനാകും."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ഈ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ ഉപകരണവും നെറ്റ്വർക്ക് പ്രവർത്തനവും അഡ്മിനിസ്ട്രേറ്റർക്ക് നിരീക്ഷിക്കാനാകും.\n\nകൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ഈ ഉപകരണത്തെ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nനിങ്ങളുടെ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ ഉപകരണവും നെറ്റ്വർക്ക് പ്രവർത്തനവും അഡ്മിനിസ്ട്രേറ്റർക്ക് നിരീക്ഷിക്കാനാകും.\n\nകൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ഈ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാൻ നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ പ്രാപ്തനാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.\n\nഒരു VPN കണക്ഷൻ സജ്ജമാക്കാൻ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" അനുമതിയും നിങ്ങൾ നൽകി. നെറ്റ്വർക്കും പ്രവർത്തനവും നിരീക്ഷിക്കാൻ ഈ അപ്ലിക്കേഷനാകും."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ഈ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാൻ നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ പ്രാപ്തനാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.\n\nഒരു VPN-ലേക്കും (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") കണക്റ്റുചെയ്തിരിക്കുന്നു. നിങ്ങളുടെ VPN സേവന ദാതാവിന് നെറ്റ്വർക്ക് പ്രവർത്തനവും നിരീക്ഷിക്കാനാകും."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ഈ ഉപകരണത്തെ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nനിങ്ങളുടെ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാൻ നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ പ്രാപ്തനാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.\n\nഒരു VPN കണക്ഷൻ സജ്ജമാക്കാൻ \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" അനുമതിയും നിങ്ങൾ നൽകി. നെറ്റ്വർക്കും പ്രവർത്തനവും നിരീക്ഷിക്കാൻ ഈ അപ്ലിക്കേഷനാകും."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ഈ ഉപകരണത്തെ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nനിങ്ങളുടെ പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nഇമെയിലുകൾ, അപ്ലിക്കേഷനുകൾ, സുരക്ഷാ വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാൻ നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർ പ്രാപ്തനാണ്.\n\nഒരു VPN-ലേക്കും (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\")കണക്റ്റുചെയ്തിരിക്കുന്നു. നിങ്ങളുടെ VPN സേവന ദാതാവിന് നെറ്റ്വർക്ക് പ്രവർത്തനവും നിരീക്ഷിക്കാനാകും."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"നിങ്ങൾ സ്വമേധയാ അൺലോക്കുചെയ്യുന്നതുവരെ ഉപകരണം ലോക്കുചെയ്തതായി തുടരും"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"അറിയിപ്പുകൾ വേഗത്തിൽ സ്വീകരിക്കുക"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"അൺലോക്കുചെയ്യുന്നതിന് മുമ്പ് അവ കാണുക"</string>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index 8f3bcf6..65ba6b4 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -360,17 +360,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Сүлжээний хяналт"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN идэвхгүйжүүлэх"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN таслах"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n удирдаж байна.\nТаны админ таны төхөөрөмж болон имэйл, апп-ууд болон аюулгүй вебсайтууд зэрэг таны сүлжээний үйл ажиллагааг хянах боломжтой.\n\nДэлгэрэнгүй мэдээллийг админаас авна уу."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Та \"<xliff:g id="APPLICATION">%1$s</xliff:g>\"-д VPN холболт үүсгэх зөвшөөрөл өгсөн.\n\nЭнэ апп таны төхөөрөмж болон имэйл, апп-ууд болон аюулгүй вэбсайтууд зэрэг сүлжээний үйл ажиллагааг хянах боломжтой."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Та VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") холбогдсон байна.\n\nТаны VPN үйлчилгээ үзүүлэгч нь таны төхөөрөмж болон имэйл, апп-ууд болон аюулгүй вэбсайтууд зэрэг таны сүлжээний үйл ажиллагааг хянах боломжтой."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n удирдаж байна \n Танай админ имэйл, апп-ууд, аюулгүй вэбсайтууд зэргийг оруулан таны сүлжээний үйл ажиллагааг хянах боломжтой. Дэлгэрэнгүй мэдээллийг админаас авна уу.\n\nМөн та <xliff:g id="APPLICATION">%2$s</xliff:g>-д VPN холболт үүсгэх зөвшөөрөл өгсөн байна. Энэ апп мөн сүлжээний үйл ажиллагааг хянах боломжтой."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n удирдаж байна \nТанай админ имэйл, апп-ууд, аюулгүй вэбсайтууд зэргийг оруулан таны сүлжээний үйл ажиллагааг хянах боломжтой. Дэлгэрэнгүй мэдээллийг админаас авна уу.\n\nМөн та VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\")-д холбогдсон байна. VPN үйлчилгээ үзүүлэгч таны сүлжээний үйл ажиллагааг мөн хянах боломжтой."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Энэ профайлыг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\nудирдаж байна\nТаны админ таны төхөөрөмж, сүлжээний идэвхжилт, имэйл, апп-ууд болон аюулгүй вебсайтуудыг хянах боломжтой.\n\nДэлгэрэнгүй мэдээллийг админаасаа авна уу."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n удирддаг. Таны профайлыг \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n удирддаг\nТаны админ таны төхөөрөмж, сүлжээний идэвхжилт, имэйл, апп-ууд болон аюулгүй вебсайтуудыг хянах боломжтой.\n\nДэлгэрэнгүй мэдээллийг админаасаа авна уу."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Энэ профайлыг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\nудирдаж байна\nТаны админ сүлжээний идэвхжилт, имэйл, апп-ууд болон аюулгүй вебсайтуудыг хянах боломжтой. Дэлгэрэнгүй мэдээллийг админаасаа авна уу.\n\nМөн та \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"-д VPN холболт үүсгэх зөвшөөрөл өгсөн. Энэ апп сүлжээний идэвхжилтийг хянах боломжтой."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Энэ профайлыг \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\nудирдаж байна\nТаны админ таны сүлжээний үйл ажиллагаа, имэйл, апп-ууд, аюулгүй вебсайтуудыг хянах боломжтой. Дэлгэрэнгүй мэдээллийг админаасаа авна уу.\n\nМөн та VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\")-д холбогдсон байна. Таны VPN үйлчилгээ үзүүлэгч таны сүлжээний идэвхжилтийг хянах боломжтой."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n удирдаж байна. Таны профайлыг \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\nудирдаж байна\nТаны админ таны сүлжээний идэвхжилт, имэйл, апп-ууд, аюулгүй вэбсайтуудыг хянах боломжтой. Дэлгэрэнгүй мэдээллийг админаасаа авна уу.\n\nМөн та \"<xliff:g id="APPLICATION">%3$s</xliff:g>\"-д VPN холболт үүсгэх зөвшөөрөл өгсөн. Энэ апп нь таны сүлжээний идэвхжилтийг хянах боломжтой."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Энэ төхөөрөмжийг \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n удирддаг. Таны профайлыг \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n удирддаг\nТаны админ таны төхөөрөмж, сүлжээний идэвхжилт, имэйл, апп-ууд болон аюулгүй вебсайтуудыг хянах боломжтой.Дэлгэрэнгүй мэдээллийг админаасаа авна уу.\n\nМөн та VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\")-д холбогдсон байна. Таны VPN үйлчилгээ үзүүлэгч таны сүлжээний идэвхжилтийг хянах боломжтой."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Таныг гараар онгойлгох хүртэл төхөөрөмж түгжээтэй байх болно"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Мэдэгдлийг хурдан авах"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Түгжээг тайлахын өмнө үзнэ үү"</string>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index 2f4c28f..1dc2749c 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"सिम नाही."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ब टिथरिंग."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"विमान मोड."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"वाहक नेटवर्क बदलणे."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"बॅटरी <xliff:g id="NUMBER">%d</xliff:g> टक्के."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"सिस्टम सेटिंग्ज."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"सूचना."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"नेटवर्क परीक्षण"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN अक्षम करा"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN डिस्कनेक्ट करा"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"हे डिव्हाइस याद्वारे व्यवस्थापित केले जाते:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइट यासह, आपल्या डिव्हाइस आणि नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो.\n\nअधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"आपण VPN कनेक्शन सेट करण्यासाठी \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ला परवानगी दिली आहे.\n\nहा अॅप ईमेल, अॅप्स आणि सुरक्षित वेबसाइट यासह, आपल्या डिव्हाइस आणि नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"आपण VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") कनेक्ट केले आहे.\n\nआपला VPN सेवा प्रदाता ईमेल, अॅप्स आणि सुरक्षित वेबसाइट यासह, आपल्या डिव्हाइस आणि नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"हे डिव्हाइस याद्वारे व्यवस्थापित केले जाते:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइट, यासह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, आपण VPN कनेक्शन सेट करण्यासाठी \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ला परवानगी दिली आहे. हा अॅप नेटवर्क क्रियाकलापाचे देखील परीक्षण करू शकतो."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"हे डिव्हाइस याद्वारे व्यवस्थापित केले जाते:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइट यासह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, आपण एका VPN शी कनेक्ट केले आहे (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). आपला VPN सेवा प्रदाता नेटवर्क क्रियाकलापाचे देखील परीक्षण करू शकतो."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"हे प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या डिव्हाइसचे आणि नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो.\n\nअधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"हे डिव्हाइस याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nआपले प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या डिव्हाइसचे आणि नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो.\n\nअधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"हे प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, VPN कनेक्शन सेट करण्यासाठी आपण \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ला परवानगी दिली आहे. हा अॅप नेटवर्क क्रियाकलापाचे देखील परीक्षण करू शकतो."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"हे प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, आपण एका VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") शी कनेक्ट केलेले आहे. आपला VPN सेवा प्रदाता नेटवर्क क्रियाकलापाचे देखील परीक्षण करू शकतो."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"हे डिव्हाइस याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nआपले प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, VPN कनेक्शन सेट करण्यासाठी आपण \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ला परवानगी दिली आहे. हा अॅप नेटवर्क क्रियाकलापाचे परीक्षण देखील करू शकतो."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"हे डिव्हाइस याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nआपले प्रोफाईल याद्वारे व्यवस्थापित केले आहे:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nआपला प्रशासक ईमेल, अॅप्स आणि सुरक्षित वेबसाइटसह, आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करण्यास सक्षम आहे. अधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा.\n\nतसेच, आपण एका VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") शी कनेक्ट केलेले आहे. आपला VPN सेवा प्रदाता नेटवर्क क्रियाकलापाचे देखील परीक्षण करू शकतो."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"आपण व्यक्तिचलितपणे अनलॉक करेपर्यंत डिव्हाइस लॉक केलेले राहील"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"सूचना अधिक जलद मिळवा"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"आपण अनलॉक करण्यापूर्वी त्यांना पहा"</string>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index 8d7437c..2a5ae3e 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Tiada SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Penambatan Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mod pesawat"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Perubahan rangkaian pembawa."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Bateri <xliff:g id="NUMBER">%d</xliff:g> peratus."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Tetapan sistem."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Pemberitahuan."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Pemantauan rangkaian"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Lumpuhkan VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Putuskan sambungan VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Peranti ini diurus oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda boleh mengawasi aktiviti peranti dan rangkaian anda, termasuk e-mel, apl dan tapak web selamat.\n\nUntuk maklumat lanjut, hubungi pentadbir anda."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Anda memberi \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" kebenaran untuk menyediakan sambungan VPN.\n\nApl ini boleh memantau aktiviti peranti dan rangkaian anda, termasuk e-mel, apl dan tapak web yang selamat."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Anda disambungkan ke VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nPembekal perkhidmatan VPN anda boleh memantau aktiviti peranti dan rangkaian anda termasuk e-mel, apl dan tapak web selamat."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Peranti ini diuruskan oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda berkemampuan memantau aktiviti rangkaian anda termasuk e-mel, apl dan tapak web yang selamat. Untuk maklumat lanjut, hubungi pentadbir anda.\n\nAnda juga memberikan \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" kebenaran untuk menyediakan rangkaian VPN. Apl ini juga boleh memantau aktiviti rangkaian."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Peranti ini diuruskan oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda berkemampuan memantau aktiviti rangkaian anda termasuk e-mel, apl dan tapak web yang selamat. Untuk maklumat lanjut, hubungi pentadbir anda.\n\nAnda juga disambungkan ke VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Pembekal perkhidmatan VPN anda juga boleh memantau aktiviti rangkaian."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profil ini diurus oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda boleh mengawasi aktiviti peranti dan rangkaian anda, termasuk e-mel, apl dan tapak web selamat.\n\nUntuk mdptkn maklumat lanjut, hubungi pentadbir anda."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Peranti ini diurus oleh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil anda diurus oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nPentadbir anda boleh memantau peranti dan aktiviti rangkaian anda, termasuk e-mel, apl dan tapak web yg selamat.\n\nUtk mndapatkan mklumat lanjut, hubungi pentadbir anda."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profil ini diurus oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda berkemampuan memantau aktiviti rangkaian anda termasuk e-mel, apl dan tapak web yang selamat. Untuk mdptkn maklumat lanjut, hubungi pentadbir anda.\n\nAnda juga memberi \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"kebenaran untuk menyediakan rangkaian VPN. Apl ini juga boleh memantau aktiviti rangkaian."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profil ini diurus oleh:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nPentadbir anda berkemampuan memantau aktibiti rangkaian anda termasuk e-mel, apl dan tapak web yang selamat. Untuk mdptkn maklumat lanjut, hubungi pentadbir anda.\n\nAnda jg disambung ke VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Pmbekal pkhidmatn VPN anda juga boleh memantau aktiviti rangkaian."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Peranti ini diurus olh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil anda diurus olh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nPentadbir anda bkemampuan mmantau aktiviti rgkaian anda tmasuk e-mel, apl dan tapak web yg slmt. Untuk mdptkn maklumat lanjut, hubungi pentadbir anda.\n\nAnda jg mberi \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" kebenaran utk menyediakan smbungn VPN. Apl ini jg blh mmantau aktiviti rngkaian."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Peranti ini diurus olh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil anda diurus olh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nPentadbir anda blh mmantau pranti dn aktiviti rgkaian anda, tmasuk e-mel, apl dan tapak web yg slmt. Utk mdapatkan mklumat lanjut, hubungi pentadbir anda.\n\nAnda juga disambungkn ke VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Pmbekal perkhidmatan VPN anda jg blh memantau rangkaian aktiviti."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Peranti akan kekal terkunci sehingga anda membuka kunci secara manual"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Dapatkan pemberitahuan lebih cepat"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Lihat sebelum anda membuka kunci"</string>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index b45a8a3..c1f7c2b 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"ဆင်းကဒ်မရှိပါ။"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ဘလူးတုသ်မှတဆင့်ပြန်လည်ချိတ်ဆက်ခြင်း"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်။"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ဝန်ဆောင်မှုဌာန ကွန်ယက် ပြောင်းလဲနေစဉ်။"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"ဘတ္တရီ <xliff:g id="NUMBER">%d</xliff:g> ရာခိုင်နှုန်း။"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"စနစ်အပြင်အဆင်များ"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"အကြောင်းကြားချက်များ။"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ကွန်ရက်ကို စောင့်ကြပ်ခြင်း"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN ကို ပိတ်ထားရန်"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN ကို အဆက်ဖြတ်ရန်"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ဤစက်ပစ္စည်းကို စီမံခန့်ခွဲသူ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင့်အက်ဒ်မင်သည် သင့်စက်ပစ္စည်းနှင့် အီးမေးများ၊ app များ နှင့် လုံခြုံသည့်ဝက်ဘ်ဆိုက် အပါအဝင် ကွန်ရက် လှုပ်ှရားမှုများကို စောင့်ကြည့်နိုင်သည်။\n\nနောက်ထပ်အချက်အလက်များအတွက်၊ သင့်အက်ဒ်မင်ကို ဆက်သွယ်ပါ။"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"သင် \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ကို VPN စတင်သုံးခွင့်ပေးလိုက်သည်။ \n\n ဤ app သည် သင့်စက်ပစ္စည်းနှင့် အီးမေးများ၊ app များ နှင့် လုံခြုံသည့်ဝက်ဘ်ဆိုက် အပါအဝင် ကွန်ရက် လှုပ်ှရားမှုများကို စောင့်ကြည့်နိုင်သည်။"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") ကို သင်ချိတ်ဆက်မိ၏။\n\nသင့် VPN ဝန်ဆောင်မှုပေးသူသည် သင့်စက်ပစ္စည်းနှင့် အီးမေးများ၊ app များ နှင့် လုံခြုံသည့်ဝက်ဘ်ဆိုက် အပါအဝင် ကွန်ရက် လှုပ်ှရားမှုများကို စောင့်ကြည့်နိုင်သည်။"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ဒီကိရိယာကို စီမံကွပ်ကဲသူမှာ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင်၏ စီမံအုပ်ချုပ်သူက သင်၏ ကွန်ရက် လှုပ်ရှားမှုကို၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို၊ စောင့်ကြပ် နိုင်ပါသည်။ အချက်အလက်များ ပိုပြီး ရယူရန်၊ သင်၏ စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။\n\n ထို့အပြင် သင်သည် \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" အား VPN ချိတ်ဆက်မှု စဖွင့်လုပ်ကိုင်ရန် ခွင့်ပြုခဲ့သည်။ ဒီ appကပါ သင်၏ ကွန်ရက် လှုပ်ရှားမှုကို စောင့်ကြပ် နိုင်ပါသည်။"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ဒီကိရိယာကို စီမံကွပ်ကဲသူမှာ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင်၏ စီမံအုပ်ချုပ်သူက သင်၏ ကွန်ရက် လှုပ်ရှားမှုကို၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို၊ စောင့်ကြပ် နိုင်ပါသည်။ အချက်အလက်များ ပိုပြီး ရယူရန်၊ သင်၏ စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။\n\nထို့အပြင်၊ သင်သည် VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") သို့ ချိတ်ဆက်ထားသည်။ သင်၏ VPN ဝန်ဆောင်မှုကို စီမံပေးသူကပါ ကွန်ရက် လှုပ်ရှားမှုများကို စောင့်ကြပ်နိုင်သေးသည်။"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ဒီပရိုဖိုင်ကို စီမံကွပ်ကဲပေးသူ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင်၏ စီမံအုပ်ချုပ်သူသည် သင်၏ ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှုများကို၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို၊ စောင့်ကြပ်နိုင်သည်။ \n\n နောက်ထပ် သိလိုလျှင်၊ သင်၏ စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ဒီကိရိယာကို စီမံကွပ်ကဲပေးသူ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nသင့် ပရိုဖိုင်ကို စီမံကွပ်ကဲပေးသူ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nသင်၏ စီမံအုပ်ချုပ်သူသည် သင်၏ ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှုများကို၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို၊ စောင့်ကြပ်နိုင်သည်။\n\nနောက်ထပ် သိလိုလျှင်၊ သင်၏ စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ပရိုဖိုင်ကို စီမံပေးသူ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင့် စီမံအုပ်ချုပ်သူက သင့် ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှုကို၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်၊ စောင့်ကြပ်နိုင်သည်။ ထပ် သိလိုလျှင်၊ သင့် စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။\n\n သင်သည် \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" အား VPN ချိတ်ဆက်မှု ထူထောင်ခွင့် ပေးခဲ့သည်။ ဒီappကပါ ကွန်ရက် လှုပ်ရှားမှုကို စောင့်ကြပ်နိုင်သည်။"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ပရိုဖိုင်ကို စီမံပေးသူ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nသင့်စီမံအုပ်ချုပ်သူက သင့် ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှု၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို စောင့်ကြပ်နိုင်သည်။ ထပ် သိလိုလျှင်၊ သင့်စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။\n\nသင်သည် VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") သို့ပါ ချိတ်ထားသည်။ သင်၏ VPN စီမံပေးသူကပါ ကွန်ရက် လှုပ်ရှားမှုကို စောင့်ကြပ်နိုင်သည်။"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ကိရိယာကို စီမံပေးသူ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nသင့်ပရိုဖိုင်ကို စီမံပေးသူ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nသင့်စီမံအုပ်ချုပ်သူသည် သင့် ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှု၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို စောင့်ကြပ်နိုင်သည်။\n\nသင်သည် \"<xliff:g id="APPLICATION">%3$s</xliff:g>\"အား VPN ချိတ်ဆက်မှု ထူထောင်ခွင့် ပေးခဲ့သည်။ ဒီappကပါ ကွန်ရက် လှုပ်ရှားမှုကို စောင့်ကြပ်နိုင်သည်။"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ဒီကိရိယာ စီမံပေးသူ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nသင့် ပရိုဖိုင် စီမံပေးသူ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n စီမံအုပ်ချုပ်သူသည် သင့် ကိရိယာ နှင့် ကွန်ရက် လှုပ်ရှားမှု၊ အီးမေးလ်များ၊ appများ နှင့် လုံခြုံသည့် ဝက်ဘ်ဆိုက်များ အပါအဝင်ကို စောင့်ကြပ်နိုင်သည်။\n\nထပ် သိလိုလျှင်၊ သင့်စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။ သင်သည် VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") သို့ပါ ချိတ်ထားသည်။ သင်၏ VPN စီမံပေးသူကပါ ကွန်ရက် လှုပ်ရှားမှုကို စောင့်ကြပ်နိုင်သည်။"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"သင်က လက်ဖြင့် သော့မဖွင့်မချင်း ကိရိယာမှာ သော့ပိတ်လျက် ရှိနေမည်"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"အကြောင်းကြားချက်များ မြန်မြန်ရရန်"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"မဖွင့်ခင် ၎င်းတို့ကို ကြည့်ပါ"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 9dea7e1..bc93af0 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Uten SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-deling."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flymodus."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Bytting av operatørnettverk."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Batteri – <xliff:g id="NUMBER">%d</xliff:g> prosent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Systeminnstillinger."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Varsler."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Nettverksovervåking"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Deaktiver VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Koble fra VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke enheten og nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder.\n\nTa kontakt med administratoren for mer informasjon."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Du ga «<xliff:g id="APPLICATION">%1$s</xliff:g>» tillatelse til å konfigurere en VPN-tilkobling.\n\nDenne appen kan overvåke nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Enheten er koblet til et VPN-nettverk («<xliff:g id="APPLICATION">%1$s</xliff:g>»).\n\nVPN-tjenesteleverandøren din kan overvåke nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke nettverksaktiviteten din, inkludert e-poster, apper og sikre nettsteder. Ta kontakt med administratoren din for mer om dette.\n\nI tillegg ga du «<xliff:g id="APPLICATION">%2$s</xliff:g>» tillatelse til å konfigurere en VPN-tilkobling. Denne appen kan også overvåke nettverksaktiviteten din."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke nettverksaktiviteten din, inkludert e-poster, apper og sikre nettsteder. Ta kontakt med administratoren din for mer om dette.\n\nI tillegg er enheten koblet til et VPN-nettverk («<xliff:g id="APPLICATION">%2$s</xliff:g>»). VPN-tjenesteleverandøren kan også overvåke nettverksaktiviteten din."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Denne profilen administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke enheten og nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder.\n\nHvis du vil ha mer informasjon, kan du kontakte administratoren."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilen din administreres av:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoren din kan overvåke enheten og nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder.\n\nHvis du vil ha mer informasjon, kan du kontakte administratoren."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Denne profilen administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke enheten og nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder. Hvis du vil ha mer informasjon, kan du kontakte administratoren.\n\n Du har også gitt «<xliff:g id="APPLICATION">%2$s</xliff:g>» tillatelse til å konfigurere en VPN-tilkobling. Denne appen kan også overvåke nettverksaktiviteten."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Denne profilen administreres av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoren din kan overvåke nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder. Hvis du vil ha mer informasjon, kan du kontakte administratoren.\n\nDu er også koblet til et VPN («<xliff:g id="APPLICATION">%2$s</xliff:g>»). VPN-leverandøren din kan også overvåke nettverksaktiviteten."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilen din administreres av:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoren din kan overvåke nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder. Hvis du vil ha mer informasjon, kan du kontakte administratoren.\n\nDu har også gitt «<xliff:g id="APPLICATION">%3$s</xliff:g>» tillatelse til å konfigurere en VPN-tilkobling. Denne appen kan også overvåke nettverksaktiviteten."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Denne enheten administreres av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n Profilen din administreres av: \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoren din kan overvåke enheten og nettverksaktiviteten din, inkludert e-post, apper og sikre nettsteder. Hvis du vil ha mer informasjon, kan du kontakte administratoren.\n\nDu er også koblet til et VPN («<xliff:g id="APPLICATION">%3$s</xliff:g>»). VPN-leverandøren din kan også overvåke nettverksaktiviteten."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Enheten forblir låst til du låser den opp manuelt"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Motta varsler raskere"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Se dem før du låser opp"</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 7bae414..2df3333 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM छैन।"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ब्लुटुथ टेदर गर्दै।"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"हवाइजहाज मोड।"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"क्यारियर नेटवर्क परिवर्तन हुँदै।"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"ब्याट्रि <xliff:g id="NUMBER">%d</xliff:g> प्रतिशत"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"प्रणाली सेटिङहरू"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"सूचनाहरू।"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"सञ्जाल अनुगमन"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN असक्षम गर्नुहोस्"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"विच्छेद VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"यो उपकरण निम्न द्वारा व्यवस्थित छ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nतपाईंको प्रशासनले इमेल, अनुप्रयोग र सुरक्षित वेबसाइटहरू सहित आफ्नो उपकरण र सञ्जाल गतिविधि निगरानी गर्न सक्छन्।\n\nथप जानकारीको लागि, आफ्नो प्रशासक सँग सम्पर्क गर्नुहोस्।"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"तपाईंले एउटा VPN जडान स्थापित गर्न \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" अनुमति दिनुभयो।\n\nयो अनुप्रयोगले तपाईंको इमेल, अनुप्रयोगहरू, र सुरक्षित वेबसाइट सहित आफ्नो उपकरण र सञ्जाल गतिविधि निगरानी गर्न सक्छ।"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"तपाईं VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") मा जडित हुनुहुन्छ।\n\nतपाईंको VPN सेवा प्रदायकले इमेल, अनुप्रयोगहरू, र सुरक्षित वेबसाइट सहित आफ्नो उपकरण र सञ्जाल गतिविधि निगरानी गर्न सक्छन्।"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"यो उपकरण व्यवस्थित गरिएको छ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nतपाईंको प्रशासनले इमेल, अनुप्रयोग र सुरक्षित वेबसाइटहरू सहित आफ्नो सञ्जाल गतिविधि निगरानी गर्न सक्षम छ। थप जानकारीको लागि, आफ्नो प्रशासन सँग सम्पर्क गर्नुहोस्।\n\nसाथै, तपाईंले एउटा VPN जडान स्थापित गर्न \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" अनुमति दिनुभयो। यो अनुप्रयोगले सञ्जाल गतिविधि पनि निगरानी गर्न सक्छन्।"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"यो उपकरण व्यवस्थित गरिएको छ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nतपाईंको प्रशासनले इमेल, अनुप्रयोग र सुरक्षित वेबसाइटहरू सहित आफ्नो सञ्जाल गतिविधि निगरानी गर्न सक्षम छ। थप जानकारीको लागि, आफ्नो प्रशासन सँग सम्पर्क गर्नुहोस्।\n\nतपाईं VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") मा जडित हुनुहुन्छ। तपाईंको VPN सेवा प्रदायकले आफ्नो सञ्जाल गतिविधि पनि निगरानी गर्न सक्छन्।"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"यो प्रोफाइल व्यवस्थित गरिएकोछ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n तपाईँको प्रशासकले इमेल, अनुप्रयोग र सुरक्षित वेबसाइट सहित, तपाईँको उपकरण र सञ्जाल गतिविधि निगरानी गर्न सक्छ।\n\nथप जानकारीको लागि, आफ्नो प्रशासक संग सम्पर्क गर्नुहोस्।"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"यो उपकरण व्यवस्थित गरिएको छ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n तपाईँको प्रोफाइल व्यवस्थित गरिएको छ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n तपाईँको प्रशासकले इमेल, अनुप्रयोग र सुरक्षित वेबसाइट सहित, तपाईँको उपकरण र सञ्जाल गतिविधि निगरानी गर्न सक्छ।\n\n थप जानकारीको लागि, आफ्नो प्रशासक संग सम्पर्क गर्नुहोस्।"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"यो प्रोफाइल व्यवस्थित गरिएको छ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nतपाईँको प्रशासकले इमेल, अनुप्रयोग र सुरक्षित वेबसाइट सहित तपाईँको सञ्जाल गतिविधि निगरानी गर्न सक्षम छ। थप जानकारीको लागि, आफ्नो प्रशासक संग सम्पर्क गर्नुहोस्।\n\nसाथै, तपाईँले एउटा VPN जडान स्थापित गर्न \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" अनुमति दिनुभयो। यो अनुप्रयोगले सञ्जाल गतिविधि पनि निगरानी गर्न सक्छ।"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"यो प्रोफाइल व्यवस्थित गरिएकोछ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n तपाईँको प्रशासकले इमेल, अनुप्रयोग र सुरक्षित वेबसाइट सहित, तपाईँको सञ्जाल गतिविधि निगरानी गर्न सक्षम छ। थप जानकारीको लागि, आफ्नो प्रशासक संग सम्पर्क गर्नुहोस्।\n\nसाथै, तपाईँ एउटा VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") मा जडित हुनुहुन्छ। तपाईँको VPN सेवा प्रदायकले सञ्जाल गतिविधि पनि निगरानी गर्न सक्छ।"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"यस उपकरण र तपाईँको प्रोफाइल \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n र \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n ले व्यवस्थित गरिएको छ। तपाईँको प्रशासकले सञ्जाल गतिविधि निगरानी गर्न सक्षम छन् जस्तै इमेल, अनुप्रयोग र सुरक्षित वेबसाइट। थप जान्न प्रशासकलाई सम्पर्क गर्नुहोला।\n\nसाथै, तपाईँले VPN जडान स्थापित गर्न \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" अनुमति दिनुभयो। यो अनुप्रयोगले संजालको निगरानी पनि गर्न सक्छ।"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"यो उपकरणको व्यवस्थित \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n ले गरेको छ। तपाईँको प्रोफाइल \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n ले व्यवस्थित गरिएको छ। तपाईँको प्रशासकले सञ्जाल गतिविधि निगरानी गर्न सक्षम छन् जसमा इमेल, अनुप्रयोग र सुरक्षित वेबसाइट छ। थप जान्न प्रशासकलाई सम्पर्क गर्नुहोला।\n\nसाथै, तपाईँ VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") मा जडित हुनुहुन्छ। जुन सेवा प्रदायकले निगरानी गर्न सक्ने छन्।"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"तपाईँले नखोले सम्म उपकरण बन्द रहनेछ"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"छिटो सूचनाहरू प्राप्त गर्नुहोस्"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"तपाईँले अनलक गर्नअघि तिनीहरूलाई हेर्नुहोस्"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index d1e067f..e972e15 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Geen simkaart."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-tethering."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegtuigmodus."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Netwerk van provider wordt gewijzigd."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Accu: <xliff:g id="NUMBER">%d</xliff:g> procent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Systeeminstellingen."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Meldingen."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Netwerkcontrole"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN uitschakelen"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Verbinding met VPN verbreken"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw apparaat- en netwerkactiviteit bijhouden, waaronder e-mails, apps en beveiligde websites.\n\nNeem voor meer informatie contact op met uw beheerder."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"U heeft \'<xliff:g id="APPLICATION">%1$s</xliff:g>\' toestemming gegeven een VPN-verbinding in te stellen.\n\nDeze app kan uw apparaat- en netwerkactiviteit bijhouden, waaronder e-mails, apps en beveiligde websites."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"U heeft verbinding met een VPN (\'<xliff:g id="APPLICATION">%1$s</xliff:g>\').\n\nUw VPN-provider kan uw apparaat- en netwerkactiviteit bijhouden, waaronder e-mails, apps en beveiligde websites."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw netwerkactiviteit beheren, waaronder e-mails, apps en beveiligde websites. Neem voor meer informatie contact op met uw beheerder.\n\nDaarnaast heeft u \'<xliff:g id="APPLICATION">%2$s</xliff:g>\' toestemming gegeven een VPN-verbinding in te stellen. Deze app kan uw netwerkactiviteit ook controleren."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw netwerkactiviteit beheren, waaronder e-mails, apps en beveiligde websites. Neem voor meer informatie contact op met uw beheerder.\n\nDaarnaast bent u verbonden met een VPN (\'<xliff:g id="APPLICATION">%2$s</xliff:g>\'). Uw VPN-serviceprovider kan uw netwerkactiviteit ook controleren."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Dit profiel wordt beheer door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites.\n\nNeem contact op met uw beheerder voor meer informatie."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nUw profiel wordt beheerd door:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites.\n\nNeem contact op met uw beheerder voor meer informatie."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Dit profiel wordt beheerd door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites. Neem contact op met uw beheerder voor meer informatie.\n\nU heeft \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ook toestemming gegeven een VPN-verbinding in te stellen. Deze app kan ook netwerkactiviteit controleren."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Dit profiel wordt beheerd door:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites. Neem contact op met uw beheerder voor meer informatie.\n\nDaarnaast bent u verbonden met een VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Uw VPN-serviceprovider kan ook netwerkactiviteit controleren."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nUw profiel wordt beheerd door:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites. Neem contact op met uw beheerder voor meer informatie.\n\nU heeft \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ook toestemming gegeven een VPN-verbinding in te stellen. Deze app kan ook netwerkactiviteit controleren."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Dit apparaat wordt beheerd door:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nUw profiel wordt beheerd door:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUw beheerder kan uw apparaat en netwerkactiviteit controleren, inclusief e-mails, apps en veilige websites. Neem contact op met uw beheerder voor meer informatie.\n\nDaarnaast bent u verbonden met een VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Uw VPN-serviceprovider kan ook netwerkactiviteit controleren."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Het apparaat blijft vergrendeld totdat u het handmatig ontgrendelt"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Sneller meldingen ontvangen"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Weergeven voordat u ontgrendelt"</string>
diff --git a/packages/SystemUI/res/values-pa-rIN-land/strings.xml b/packages/SystemUI/res/values-pa-rIN-land/strings.xml
new file mode 100644
index 0000000..fef122a
--- /dev/null
+++ b/packages/SystemUI/res/values-pa-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, 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="toast_rotation_locked" msgid="7609673011431556092">"ਸਕ੍ਰੀਨ ਹੁਣ ਲੈਂਡਸਕੇਪ ਅਨੁਕੂਲਨ ਵਿੱਚ ਲੌਕ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..fee2593
--- /dev/null
+++ b/packages/SystemUI/res/values-pa-rIN/strings.xml
@@ -0,0 +1,401 @@
+<?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="app_label" msgid="7164937344850004466">"ਸਿਸਟਮ UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"ਹਟਾਓ"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"ਸੂਚੀ ਵਿੱਚੋਂ ਹਟਾਓ"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"ਐਪ ਜਾਣਕਾਰੀ"</string>
+ <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"ਤੁਹਾਡੀਆਂ ਹਾਲੀਆ ਸਕ੍ਰੀਨਾਂ ਇੱਥੇ ਪ੍ਰਗਟ ਹੋਣਗੀਆਂ"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"ਹਾਲੀਆ ਐਪਸ ਰੱਦ ਕਰੋ"</string>
+ <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759">
+ <item quantity="one">ਰੂਪ-ਰੇਖਾ ਵਿੱਚ %d ਸਕ੍ਰੀਨਾਂ</item>
+ <item quantity="other">ਰੂਪ-ਰੇਖਾ ਵਿੱਚ %d ਸਕ੍ਰੀਨਾਂ</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ਕੋਈ ਸੂਚਨਾਵਾਂ ਨਹੀਂ"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"ਜਾਰੀ"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"ਸੂਚਨਾਵਾਂ"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"ਬੈਟਰੀ ਘੱਟ ਹੈ"</string>
+ <string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> ਬਾਕੀ"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"<xliff:g id="PERCENTAGE">%s</xliff:g> ਬਾਕੀ। ਬੈਟਰੀ ਸੇਵਰ ਚਾਲੂ ਹੈ।"</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB ਚਾਰਜਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।\nਕੇਵਲ ਸਪਲਾਈ ਕੀਤਾ ਚਾਰਜਰ ਵਰਤੋ।"</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB ਚਾਰਜਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।"</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"ਕੇਵਲ ਸਪਲਾਈ ਕੀਤਾ ਚਾਰਜਰ ਵਰਤੋ।"</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="battery_saver_confirmation_title" msgid="5299585433050361634">"ਕੀ ਬੈਟਰੀ ਸੇਵਰ ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"ਚਾਲੂ ਕਰੋ"</string>
+ <string name="battery_saver_start_action" msgid="5576697451677486320">"ਬੈਟਰੀ ਸੇਵਰ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"ਆਟੋ-ਰੋਟੇਟ ਸਕ੍ਰੀਨ"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"ਮਿਊਟ ਕਰੋ"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"ਆਟੋ"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"ਸੂਚਨਾਵਾਂ"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ਟੀਥਰ ਕੀਤੀ"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ਇਨਪੁਟ ਵਿਧੀਆਂ ਸੈਟ ਅਪ ਕਰੋ"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ਫਿਜੀਕਲ ਕੀਬੋਰਡ"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"ਕੀ ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨੂੰ USB ਡਿਵਾਈਸ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"ਕੀ ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨੂੰ USB ਐਕਸੈਸਰੀ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"ਕੀ ਜਦੋਂ ਇਹ USB ਡਿਵਾਈਸ ਕਨੈਕਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ <xliff:g id="ACTIVITY">%1$s</xliff:g> ਨੂੰ ਖੋਲ੍ਹਂਣਾ ਹੈ?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"ਕੀ ਜਦੋਂ ਇਹ USB ਐਕਸੈਸਰੀ ਕਨੈਕਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ <xliff:g id="ACTIVITY">%1$s</xliff:g> ਨੂੰ ਖੋਲ੍ਹਣਾ ਹੈ?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ਕੋਈ ਇੰਸਟੌਲ ਕੀਤੇ ਐਪਸ ਇਸ USB ਐਕਸੈਸਰੀ ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰਦੇ। <xliff:g id="URL">%1$s</xliff:g> ਤੇ ਇਸ ਐਕਸੈਸਰੀ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB ਐਕਸੈਸਰੀ"</string>
+ <string name="label_view" msgid="6304565553218192990">"ਦੇਖੋ"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"ਇਸ USB ਡਿਵਾਈਸ ਲਈ ਬਾਇ ਡਿਫੌਲਟ ਵਰਤੋ"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"ਇਸ USB ਐਕਸਸੈਰੀ ਲਈ ਬਾਇ ਡਿਫੌਲਟ ਵਰਤੋ"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"ਕੀ USB ਡੀਬਗਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"ਕੰਪਿਊਟਰ ਦਾ RSA ਕੁੰਜੀ ਫਿੰਗਰਪ੍ਰਿੰਟ ਹੈ:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"ਹਮੇਸ਼ਾਂ ਇਸ ਕੰਪਿਊਟਰ ਤੋਂ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"ਸਕ੍ਰੀਨ ਭਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"ਸਕ੍ਰੀਨ ਭਰਨ ਲਈ ਸਟ੍ਰੈਚ ਕਰੋ"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"ਸਕ੍ਰੀਨਸ਼ੌਟ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"ਸਕ੍ਰੀਨਸ਼ੌਟ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"ਸਕ੍ਰੀਨਸ਼ੌਟ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"ਸਕ੍ਰੀਨਸ਼ੌਟ ਕੈਪਚਰ ਕੀਤਾ।"</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"ਆਪਣਾ ਸਕ੍ਰੀਨਸ਼ੌਟ ਦੇਖਣ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"ਸਕ੍ਰੀਨਸ਼ੌਟ ਕੈਪਚਰ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="screenshot_failed_text" msgid="1260203058661337274">"ਸੀਮਿਤ ਸਟੋਰੇਜ ਸਪੇਸ ਦੇ ਕਾਰਨ ਸਕ੍ਰੀਨਸ਼ੌਟ ਨਹੀਂ ਲੈ ਸਕਦਾ ਜਾਂ ਐਪ ਜਾਂ ਤੁਹਾਡੀ ਕੰਪਨੀ ਵੱਲੋਂ ਇਸਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।"</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ ਚੋਣਾਂ"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"ਇੱਕ ਮੀਡੀਆ ਪਲੇਅਰ (MTP) ਦੇ ਤੌਰ ਤੇ ਮਾਊਂਟ ਕਰੋ"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"ਇੱਕ ਕੈਮਰੇ (PTP) ਦੇ ਤੌਰ ਤੇ ਮਾਊਂਟ ਕਰੋ"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac ਲਈ Android ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ ਐਪ ਇੰਸਟੌਲ ਕਰੋ"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"ਪਿੱਛੇ"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"ਘਰ"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"ਮੀਨੂ"</string>
+ <string name="accessibility_recent" msgid="5208608566793607626">"ਰੂਪ-ਰੇਖਾ"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"ਖੋਜੋ"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"ਕੈਮਰਾ"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ਫੋਨ"</string>
+ <string name="accessibility_unlock_button" msgid="128158454631118828">"ਅਨਲੌਕ ਕਰੋ"</string>
+ <string name="unlock_label" msgid="8779712358041029439">"ਅਨਲੌਕ ਕਰੋ"</string>
+ <string name="phone_label" msgid="2320074140205331708">"ਫੋਨ ਖੋਲ੍ਹੋ"</string>
+ <string name="camera_label" msgid="7261107956054836961">"ਕੈਮਰਾ ਖੋਲ੍ਹੋ"</string>
+ <string name="recents_caption_resize" msgid="3517056471774958200">"ਨਵਾਂ ਕੰਮ ਲੇਆਉਟ ਚੁਣੋ"</string>
+ <string name="cancel" msgid="6442560571259935130">"ਰੱਦ ਕਰੋ"</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ਅਨੁਕੂਲਤਾ ਜ਼ੂਮ ਬਟਨ।"</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ਵੱਡੀ ਸਕ੍ਰੀਨ ਤੇ ਛੋਟਾ ਜ਼ੂਮ ਕਰੋ।"</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ਕਨੈਕਟ ਕੀਤੀ।"</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth ਡਿਸਕਨੈਕਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"ਕੋਈ ਬੈਟਰੀ ਨਹੀਂ।"</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"ਬੈਟਰੀ ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"ਬੈਟਰੀ ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"ਬੈਟਰੀ ਤਿੰਨ ਬਾਰਸ।"</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"ਬੈਟਰੀ ਪੂਰੀ।"</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"ਕੋਈ ਫੋਨ ਨਹੀਂ।"</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"ਫੋਨ ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"ਫੋਨ ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"ਫੋਨ ਤਿੰਨ ਬਾਰਸ।"</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"ਫੋਨ ਸਿਗਨਲ ਪੂਰਾ।"</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"ਕੋਈ ਡਾਟਾ ਨਹੀਂ।"</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"ਡਾਟਾ ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"ਡਾਟਾ ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"ਡਾਟਾ ਤਿੰਨ ਬਾਰ।"</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"ਡਾਟਾ ਸਿਗਨਲ ਪੂਰਾ।"</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi ਬੰਦ।"</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi ਡਿਸਕਨੈਕਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi ਤਿੰਨ ਬਾਰਸ।"</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi ਸਿਗਨਲ ਪੂਰਾ।"</string>
+ <string name="accessibility_wifi_name" msgid="7202151365171148501">"<xliff:g id="WIFI">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_bluetooth_name" msgid="8441517146585531676">"<xliff:g id="BLUETOOTH">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"ਕੋਈ WiMAX ਨਹੀਂ।"</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX ਤਿੰਨ ਬਾਰਸ।"</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX ਸਿਗਨਲ ਪੂਰਾ।"</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"ਕੋਈ ਸਿਗਨਲ ਨਹੀਂ।"</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ।"</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"ਸਿਫ਼ਰ ਬਾਰਸ।"</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"ਇੱਕ ਬਾਰ।"</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"ਦੋ ਬਾਰਸ।"</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"ਤਿੰਨ ਬਾਰਸ।"</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"ਸਿਗਨਲ ਪੂਰਾ।"</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"ਚਾਲੂ।"</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"ਬੰਦ।"</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"ਕਨੈਕਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ।"</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>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ਰੋਮਿੰਗ"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"ਕਿਨਾਰਾ"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"ਕੋਈ SIM ਨਹੀਂ।"</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth ਟੀਥਰਿੰਗ।"</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"ਏਅਰਪਲੇਨ ਮੋਡ।"</string>
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ਕੈਰੀਅਰ ਨੈੱਟਵਰਕ ਪਰਿਵਰਤਨ।"</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"ਬੈਟਰੀ <xliff:g id="NUMBER">%d</xliff:g> ਪ੍ਰਤੀਸ਼ਤ ਹੈ।"</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ।"</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"ਸੂਚਨਾਵਾਂ।"</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"ਸੂਚਨਾ ਹਟਾਓ।"</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS ਸਮਰਥਿਤ।"</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS ਪ੍ਰਾਪਤ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"ਟੈਲੀ ਟਾਈਪਰਾਈਟਰ ਸਮਰਥਿਤ।"</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"ਰਿੰਗਰ ਵਾਈਬ੍ਰੇਟ।"</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"ਰਿੰਗਰ ਸਾਈਲੈਂਟ।"</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> ਨੂੰ ਰੱਦ ਕਰੋ।"</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> ਰੱਦ ਕੀਤਾ।"</string>
+ <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"ਸਾਰੀਆਂ ਹਾਲੀਆ ਐਪਲੀਕੇਸ਼ਨਾਂ ਰੱਦ ਕੀਤੀਆਂ।"</string>
+ <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"<xliff:g id="APP">%s</xliff:g> ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"ਸੂਚਨਾ ਰੱਦ ਕੀਤੀ।"</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"ਸੂਚਨਾ ਸ਼ੇਡ।"</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ।"</string>
+ <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"ਲੌਕ ਸਕ੍ਰੀਨ।"</string>
+ <string name="accessibility_desc_settings" msgid="3417884241751434521">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"ਰੂਪ-ਰੇਖਾ।"</string>
+ <string name="accessibility_desc_confirm" msgid="3446792278337969766">"ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ਉਪਭੋਗਤਾ <xliff:g id="USER">%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 ਬੰਦ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi ਚਾਲੂ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"ਮੋਬਾਈਲ <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">"ਬੈਟਰੀ <xliff:g id="STATE">%s</xliff:g>।"</string>
+ <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ।"</string>
+ <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"ਏਅਰਪਲੇਨ ਮੋਡ ਚਾਲੂ।"</string>
+ <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਹੈ।"</string>
+ <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"ਏਅਰਪਲੇਨ ਮੋਡ ਚਾਲੂ ਹੋਇਆ"</string>
+ <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਚਾਲੂ, ਕੇਵਲ ਤਰਜੀਹੀ।"</string>
+ <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਚਾਲੂ, ਕੋਈ ਰੁਕਾਵਟਾਂ ਨਹੀਂ।"</string>
+ <string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਚਾਲੂ, ਕੇਵਲ ਅਲਾਰਮ।"</string>
+ <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਬੰਦ।"</string>
+ <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਬੰਦ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਚਾਲੂ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth ਬੰਦ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ਚਾਲੂ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_connected" msgid="4306637793614573659">"Bluetooth ਕਨੈਕਟ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_off" msgid="2730003763480934529">"Bluetooth ਬੰਦ ਹੈ।"</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_on" msgid="8722351798763206577">"Bluetooth ਚਾਲੂ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_location_off" msgid="5119080556976115520">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਰਿਪੋਰਟਿੰਗ ਬੰਦ।"</string>
+ <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਰਿਪੋਰਟਿੰਗ ਚਾਲੂ।"</string>
+ <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਰਿਪੋਰਟਿੰਗ ਬੰਦ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਰਿਪੋਰਟਿੰਗ ਚਾਲੂ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"ਅਲਾਰਮ <xliff:g id="TIME">%s</xliff:g> ਲਈ ਸੈਟ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"ਪੈਨਲ ਬੰਦ ਕਰੋ।"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"ਹੋਰ ਸਮਾਂ।"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"ਘੱਟ ਸਮਾਂ।"</string>
+ <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"ਫਲੈਸ਼ਲਾਈਟ ਬੰਦ।"</string>
+ <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"ਫਲੈਸ਼ਲਾਈਟ ਚਾਲੂ।"</string>
+ <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"ਫਲੈਸ਼ਲਾਈਟ ਬੰਦ ਕੀਤਾ।"</string>
+ <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"ਫਲੈਸ਼ਲਾਈਟ ਚਾਲੂ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="4406577213290173911">"ਰੰਗ ਦੀ ਉਲਟੀ ਤਰਤੀਬ ਬੰਦ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="6897462320184911126">"ਰੰਗ ਦੀ ਉਲਟੀ ਤਰਤੀਬ ਚਾਲੂ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_hotspot_changed_off" msgid="5004708003447561394">"ਮੋਬਾਈਲ ਹੌਟਸਪੌਟ ਬੰਦ ਕੀਤੀ।"</string>
+ <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2890951609226476206">"ਮੋਬਾਈਲ ਹੌਟਸਪੌਟ ਚਾਲੂ ਕੀਤੀ।"</string>
+ <string name="accessibility_casting_turned_off" msgid="1430668982271976172">"ਸਕ੍ਰੀਨ ਜੋੜਨਾ ਬੰਦ ਹੋਇਆ।"</string>
+ <string name="accessibility_brightness" msgid="8003681285547803095">"ਡਿਸਪਲੇ ਚਮਕ"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5281770593459841889">"2G-3G ਡਾਟਾ ਰੁਕ ਗਿਆ ਹੈ"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="1601769736881078016">"4G ਡਾਟਾ ਰੁਕ ਗਿਆ ਹੈ"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="4651001290947318931">"ਸੈਲਿਊਲਰ ਡਾਟਾ ਰੁਕ ਗਿਆ ਹੈ"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="3932437232199671967">"ਡਾਟਾ ਰੁਕ ਗਿਆ ਹੈ"</string>
+ <string name="data_usage_disabled_dialog" msgid="8453242888903772524">"ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਸੈਟ ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ ਸੀ, ਡਿਵਾਈਸ ਨੇ ਇਸ ਬਾਕੀ ਚੱਕਰ ਲਈ ਡਾਟਾ ਵਰਤੋਂ ਰੋਕ ਦਿੱਤੀ ਹੈ।\n\nਇਸਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਨਾਲ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਖ਼ਰਚੇ ਪਾਏ ਜਾ ਸਕਦੇ ਹਨ।"</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="1412395410306390593">"ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ"</string>
+ <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="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>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"ਸਕ੍ਰੀਨ ਆਟੋਮੈਟਿਕਲੀ ਰੋਟੇਟ ਕਰੇਗੀ।"</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"ਸਕ੍ਰੀਨ ਲੈਂਡਸਕੇਪ ਅਨੁਕੂਲਨ ਵਿੱਚ ਲੌਕ ਕੀਤੀ ਹੈ।"</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"ਸਕ੍ਰੀਨ ਤਸਵੀਰ ਅਨੁਕੂਲਨ ਵਿੱਚ ਲੌਕ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"ਸਕ੍ਰੀਨ ਹੁਣ ਆਟੋਮੈਟਿਕਲੀ ਰੋਟੇਟ ਕਰੇਗੀ।"</string>
+ <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"ਸਕ੍ਰੀਨ ਹੁਣ ਲੈਂਡਸਕੇਪ ਅਨੁਕੂਲਨ ਵਿੱਚ ਲੌਕ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"ਸਕ੍ਰੀਨ ਹੁਣ ਤਸਵੀਰ ਅਨੁਕੂਲਨ ਵਿੱਚ ਲੌਕ ਕੀਤੀ ਗਈ ਹੈ।"</string>
+ <string name="dessert_case" msgid="1295161776223959221">"ਡੈਜ਼ਰਟ ਕੇਸ"</string>
+ <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_alarms_label" msgid="2559229444312445858">"ਕੇਵਲ ਅਲਾਰਮ"</string>
+ <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ਕੋਈ ਰੁਕਾਵਟਾਂ ਨਹੀਂ"</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> ਡਿਵਾਈਸਾਂ)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth ਬੰਦ"</string>
+ <string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"ਕੋਈ ਪੇਅਰ ਕੀਤੀਆਂ ਡਿਵਾਈਸਾਂ ਉਪਲਬਧ ਨਹੀਂ"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"ਚਮਕ"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"ਆਟੋ-ਰੋਟੇਟ"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"ਰੋਟੇਸ਼ਨ ਲੌਕ ਕੀਤੀ"</string>
+ <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_media_device_label" msgid="1302906836372603762">"ਮੀਡੀਆ ਡਿਵਾਈਸ"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"ਕੇਵਲ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"ਸਮਾਂ"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"ਮੈਂ"</string>
+ <string name="quick_settings_user_title" msgid="4467690427642392403">"ਉਪਭੋਗਤਾ"</string>
+ <string name="quick_settings_user_new_user" msgid="9030521362023479778">"ਨਵਾਂ ਉਪਭੋਗਤਾ"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ਕੋਈ ਨੈਟਵਰਕ ਨਹੀਂ"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ਬੰਦ"</string>
+ <string name="quick_settings_wifi_detail_empty_text" msgid="2831702993995222755">"ਕੋਈ ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਨੈਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ"</string>
+ <string name="quick_settings_cast_title" msgid="7709016546426454729">"ਜੋੜੋ"</string>
+ <string name="quick_settings_casting" msgid="6601710681033353316">"ਕਾਸਟਿੰਗ"</string>
+ <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ਬਿਨਾਂ ਨਾਮ ਦਿੱਤੀ ਡਿਵਾਈਸ"</string>
+ <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ਜੋੜਨ ਲਈ ਤਿਆਰ"</string>
+ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"ਕੋਈ ਡਿਵਾਈਸਾਂ ਉਪਲਬਧ ਨਹੀਂ"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ਚਮਕ"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"ਆਟੋ"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"ਰੰਗ ਉਲਟੋ"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"ਰੰਗ ਸੰਸ਼ੋਧਨ ਮੋਡ"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"ਹੋ ਗਿਆ"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="quick_settings_connecting" msgid="47623027419264404">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"ਟੀਥਰਿੰਗ"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ਹੌਟਸਪੌਟ"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"ਸੂਚਨਾਵਾਂ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ਫਲੈਸ਼ਲਾਈਟ"</string>
+ <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"ਸੈਲਿਊਲਰ ਡਾਟਾ"</string>
+ <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"ਡਾਟਾ ਵਰਤੋਂ"</string>
+ <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"ਬਾਕੀ ਡਾਟਾ"</string>
+ <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"ਸੀਮਾ ਤੋਂ ਵੱਧ"</string>
+ <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"<xliff:g id="DATA_USED">%s</xliff:g> ਵਰਤਿਆ"</string>
+ <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਸੀਮਾ"</string>
+ <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਚਿਤਾਵਨੀ"</string>
+ <string name="recents_empty_message" msgid="8682129509540827999">"ਤੁਹਾਡੀਆਂ ਹਾਲੀਆ ਸਕ੍ਰੀਨਾਂ ਇੱਥੇ ਪ੍ਰਗਟ ਹੋਣਗੀਆਂ"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ਐਪਲੀਕੇਸ਼ਨ ਜਾਣਕਾਰੀ"</string>
+ <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ਸਕ੍ਰੀਨ ਪਿਨਿੰਗ"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"ਖੋਜੋ"</string>
+ <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
+ <string name="recents_dismiss_all_message" msgid="8495275386693095768">"ਸਾਰੇ ਐਪਲੀਕੇਸ਼ਨ ਰੱਦ ਕਰੋ"</string>
+ <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ਹੌਰੀਜ਼ੌਂਟਲ ਸਪਲਿਟ"</string>
+ <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"ਵਰਟੀਕਲ ਸਪਲਿਟ"</string>
+ <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"ਕਸਟਮ ਸਪਲਿਟ"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ਚਾਰਜ ਕੀਤਾ"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"ਚਾਰਜ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ਪੂਰਾ ਹੋਣ ਤੱਕ"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"ਨੈਟਵਰਕ ਦੀ ਨਿਗਰਾਨੀ\nਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"ਖੋਜੋ"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਉੱਪਰ ਸਲਾਈਡ ਕਰੋ।"</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਤੱਕ ਖੱਬੇ ਪਾਸੇ ਸਲਾਈਡ ਕਰੋ।"</string>
+ <string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"ਕੋਈ ਰੁਕਾਵਟਾਂ ਨਹੀਂ। ਅਲਾਰਮ ਵੀ ਨਹੀਂ।"</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਦੁਆਰਾ ਨਿਰਦਿਸ਼ਟ ਅਲਾਰਮ, ਰਿਮਾਈਂਡਰ, ਇਵੈਂਟਸ, ਅਤੇ ਕਾਲਰਸ ਤੋਂ ਇਲਾਵਾ, ਧੁਨੀ ਅਤੇ ਵਾਇਬ੍ਰੇਸ਼ਨ ਤੋਂ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ."</string>
+ <string name="zen_priority_customize_button" msgid="7948043278226955063">"ਅਨੁਕੂਲਿਤ ਕਰੋ"</string>
+ <string name="zen_no_interruptions" msgid="7970973750143632592">"ਕੋਈ ਰੁਕਾਵਟਾਂ ਨਹੀਂ"</string>
+ <string name="zen_important_interruptions" msgid="3477041776609757628">"ਕੇਵਲ ਤਰਜੀਹ ਰੁਕਾਵਟਾਂ"</string>
+ <string name="zen_alarms" msgid="5055668280767657759">"ਕੇਵਲ ਅਲਾਰਮ"</string>
+ <string name="zen_alarm_information_time" msgid="5235772206174372272">"ਤੁਹਾਡਾ ਅਗਲਾ ਅਲਾਰਮ <xliff:g id="ALARM_TIME">%s</xliff:g> ਤੇ ਹੈ"</string>
+ <string name="zen_alarm_information_day_time" msgid="8422733576255047893">"ਤੁਹਾਡਾ ਅਗਲਾ ਅਲਾਰਮ ਹੈ <xliff:g id="ALARM_DAY_AND_TIME">%s</xliff:g>"</string>
+ <string name="zen_alarm_warning" msgid="6873910860111498041">"ਤੁਸੀਂ <xliff:g id="ALARM_TIME">%s</xliff:g> ਤੇ ਅਲਾਰਮ ਨਹੀਂ ਸੁਣੋਗੇ"</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">"ਹੇਠਾਂ ਘੱਟ ਲਾਜ਼ਮੀ ਸੂਚਨਾਵਾਂ"</string>
+ <string name="notification_tap_again" msgid="8524949573675922138">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਛੋਹਵੋ"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਉੱਪਰ ਸਵਾਈਪ ਕਰੋ।"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ਫੋਨ ਲਈ ਸੱਜੇ ਪਾਸੇ ਸਵਾਈਪ ਕਰੋ"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"ਕੈਮਰੇ ਲਈ ਖੱਬੇ ਪਾਸੇ ਸਵਾਈਪ ਕਰੋ"</string>
+ <string name="interruption_level_none" msgid="8284541443482072628">"ਕੋਈ ਰੁਕਾਵਟਾਂ ਨਹੀਂ"</string>
+ <string name="interruption_level_priority" msgid="6426766465363855505">"ਕੇਵਲ ਤਰਜੀਹੀ"</string>
+ <string name="interruption_level_alarms" msgid="5226306993448328896">"ਕੇਵਲ ਅਲਾਰਮ"</string>
+ <string name="interruption_level_all" msgid="1330581184930945764">"ਸਭ"</string>
+ <string name="interruption_level_none_twoline" msgid="3942121050170227056">"ਕੋਈ\nਰੁਕਾਵਟਾਂ ਨਹੀਂ"</string>
+ <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ਕੇਵਲ\nਤਰਜੀਹੀ"</string>
+ <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ਕੇਵਲ\nਅਲਾਰਮ"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ਚਾਰਜਿੰਗ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ਪੂਰਾ ਹੋਣ ਤੱਕ)"</string>
+ <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"ਉਪਭੋਗਤਾ ਸਵਿਚ ਕਰੋ"</string>
+ <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"ਉਪਭੋਗਤਾ, ਵਰਤਮਾਨ ਉਪਭੋਗਤਾ ਸਵਿਚ ਕਰੋ<xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
+ <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"ਪ੍ਰੋਫਾਈਲ ਦਿਖਾਓ"</string>
+ <string name="user_add_user" msgid="5110251524486079492">"ਉਪਭੋਗਤਾ ਜੋੜੋ"</string>
+ <string name="user_new_user_name" msgid="426540612051178753">"ਨਵਾਂ ਉਪਭੋਗਤਾ"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"ਮਹਿਮਾਨ"</string>
+ <string name="guest_new_guest" msgid="600537543078847803">"ਮਹਿਮਾਨ ਜੋੜੋ"</string>
+ <string name="guest_exit_guest" msgid="7187359342030096885">"ਮਹਿਮਾਨ ਹਟਾਓ"</string>
+ <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"ਕੀ ਮਹਿਮਾਨ ਹਟਾਉਣਾ ਹੈ?"</string>
+ <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"ਇਸ ਸੈਸ਼ਨ ਵਿੱਚ ਸਾਰੇ ਐਪਸ ਅਤੇ ਡਾਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਏਗਾ।"</string>
+ <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"ਹਟਾਓ"</string>
+ <string name="guest_wipe_session_title" msgid="6419439912885956132">"ਮਹਿਮਾਨ, ਫਿਰ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ!"</string>
+ <string name="guest_wipe_session_message" msgid="8476238178270112811">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਸੈਸ਼ਨ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"ਸ਼ੁਰੂ ਕਰੋ"</string>
+ <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"ਹਾਂ, ਜਾਰੀ ਰੱਖੋ"</string>
+ <string name="guest_notification_title" msgid="1585278533840603063">"ਮਹਿਮਾਨ ਉਪਭੋਗਤਾ"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"ਐਪਸ ਅਤੇ ਡੇਟਾ ਨੂੰ ਮਿਟਾਉਣ ਲਈ ਮਹਿਮਾਨ ਨੂੰ ਹਟਾਓ"</string>
+ <string name="guest_notification_remove_action" msgid="8820670703892101990">"ਮਹਿਮਾਨ ਨੂੰ ਹਟਾਓ"</string>
+ <string name="user_add_user_title" msgid="4553596395824132638">"ਕੀ ਨਵਾਂ ਉਪਭੋਗਤਾ ਜੋੜਨਾ ਹੈ?"</string>
+ <string name="user_add_user_message_short" msgid="2161624834066214559">"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਉਪਭੋਗਤਾ ਜੋੜਦੇ ਹੋ, ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਆਪਣਾ ਸਪੇਸ ਸੈਟ ਅਪ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।\n\nਕੋਈ ਵੀ ਉਪਭੋਗਤਾ ਹੋਰ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਐਪਸ ਨੂੰ ਅਪਡੇਟ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"ਬੈਟਰੀ ਸੇਵਰ ਚਾਲੂ ਹੈ"</string>
+ <string name="battery_saver_notification_text" msgid="820318788126672692">"ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਪਿਛੋਕੜ ਡਾਟਾ ਘੱਟ ਕਰਦਾ ਹੈ"</string>
+ <string name="battery_saver_notification_action_text" msgid="109158658238110382">"ਬੈਟਰੀ ਸੇਵਰ ਬੰਦ ਕਰੋ"</string>
+ <string name="notification_hidden_text" msgid="1135169301897151909">"ਸਮੱਗਰੀਆਂ ਲੁਕਾਈਆਂ ਗਈਆਂ"</string>
+ <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ਉਹ ਸਭ ਕੁਝ ਕੈਪਚਰ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ, ਜੋ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਤੇ ਡਿਸਪਲੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
+ <string name="media_projection_remember_text" msgid="3103510882172746752">"ਦੁਬਾਰਾ ਨਾ ਦਿਖਾਓ"</string>
+ <string name="clear_all_notifications_text" msgid="814192889771462828">"ਸਾਰੇ ਹਟਾਓ"</string>
+ <string name="media_projection_action_text" msgid="8470872969457985954">"ਹੁਣ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="empty_shade_text" msgid="708135716272867002">"ਕੋਈ ਸੂਚਨਾਵਾਂ ਨਹੀਂ"</string>
+ <string name="device_owned_footer" msgid="3802752663326030053">"ਡਿਵਾਈਸ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+ <string name="profile_owned_footer" msgid="8021888108553696069">"ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+ <string name="vpn_footer" msgid="2388611096129106812">"ਨੈਟਵਰਕ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+ <string name="monitoring_title_device_owned" msgid="7121079311903859610">"ਡਿਵਾਈਸ ਦਾ ਨਿਰੀਖਣ ਕਰਨਾ"</string>
+ <string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਿਰੀਖਣ ਕਰਨਾ"</string>
+ <string name="monitoring_title" msgid="169206259253048106">"ਨੈਟਵਰਕ ਨਿਰੀਖਣ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="disable_vpn" msgid="4435534311510272506">"VPN ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+ <string name="disconnect_vpn" msgid="1324915059568548655">"VPN ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
+ <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"ਡਿਵਾਈਸ ਲੌਕ ਰਹੇਗੀ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਮੈਨੂਅਲੀ ਅਨਲੌਕ ਨਹੀਂ ਕਰਦੇ"</string>
+ <string name="hidden_notifications_title" msgid="7139628534207443290">"ਤੇਜ਼ੀ ਨਾਲ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="hidden_notifications_text" msgid="2326409389088668981">"ਅਨਲੌਕ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਦੇਖੋ"</string>
+ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
+ <string name="hidden_notifications_setup" msgid="41079514801976810">"ਸੈਟ ਅਪ"</string>
+ <string name="notification_expand_button_text" msgid="1037425494153780718">"ਸਭ ਦੇਖੋ"</string>
+ <string name="notification_collapse_button_text" msgid="6883253262134328057">"ਸਾਰੇ ਲੁਕਾਓ"</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="screen_pinning_title" msgid="3273740381976175811">"ਸਕ੍ਰੀਨ ਪਿੰਨ ਕੀਤੀ"</string>
+ <string name="screen_pinning_description" msgid="1346522416878235405">"ਇਹ ਇਸਨੂੰ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਅਨਪਿਨ ਨਹੀਂ ਕਰਦੇ। ਅਨਪਿਨ ਕਰਨ ਲਈ ਪਿੱਛੇ ਅਤੇ ਰੂਪ-ਰੇਖਾ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਛੋਹਵੋ ਅਤੇ ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="screen_pinning_description_accessible" msgid="8518446209564202557">"ਇਹ ਇਸਨੂੰ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਅਨਪਿਨ ਨਹੀਂ ਕਰਦੇ। ਅਨਪਿਨ ਕਰਨ ਲਈ ਰੂਪ-ਰੇਖਾ ਨੂੰ ਛੋਹਵੋ ਅਤੇ ਹੋਲਡ ਕਰੋ।"</string>
+ <string name="screen_pinning_positive" msgid="3783985798366751226">"ਸਮਝ ਗਿਆ"</string>
+ <string name="screen_pinning_negative" msgid="3741602308343880268">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
+ <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"ਕੀ <xliff:g id="TILE_LABEL">%1$s</xliff:g> ਨੂੰ ਲੁਕਾਉਣਾ ਹੈ?"</string>
+ <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"ਇਹ ਅਗਲੀ ਵਾਰ ਮੁੜ ਪ੍ਰਗਟ ਹੋਵੇਗਾ ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚਾਲੂ ਕਰਦੇ ਹੋ।"</string>
+ <string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"ਲੁਕਾਓ"</string>
+ <string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੋਲਯੂਮ ਡਾਇਲੌਗ ਬਣਨਾ ਚਾਹੁੰਦਾ ਹੈ।"</string>
+ <string name="volumeui_prompt_allow" msgid="7954396902482228786">"ਆਗਿਆ ਦਿਓ"</string>
+ <string name="volumeui_prompt_deny" msgid="5720663643411696731">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੋਲਯੂਮ ਡਾਇਲੌਗ ਹੈ"</string>
+ <string name="volumeui_notification_text" msgid="1826889705095768656">"ਅਸਲੀ ਨੂੰ ਰੀਸਟੋਰ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
+ <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"ਤੁਸੀਂ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਹੋ"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index da38dc4..91bce05 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Brak karty SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Powiązanie Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Tryb samolotowy."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Zmiana sieci operatora."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Bateria: <xliff:g id="NUMBER">%d</xliff:g> procent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Ustawienia systemu."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Powiadomienia."</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Monitorowanie sieci"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Wyłącz VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Rozłącz z VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Urządzeniem zarządza:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator może monitorować Twoją aktywność na urządzeniu i w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nSkontaktuj się z nim, by dowiedzieć się więcej."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Aplikacji „<xliff:g id="APPLICATION">%1$s</xliff:g>” nadałeś uprawnienie do konfigurowania połączenia VPN.\n\nMoże ona monitorować Twoją aktywność na urządzeniu i w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Łączysz się z siecią VPN („<xliff:g id="APPLICATION">%1$s</xliff:g>”).\n\nDostawca usługi VPN może monitorować Twoją aktywność na urządzeniu i w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Urządzeniem zarządza:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator ma możliwość monitorowania Twojej aktywności w sieci, w tym e-maili, aplikacji i bezpiecznych witryn. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nDałeś też aplikacji „<xliff:g id="APPLICATION">%2$s</xliff:g>” uprawnienia do skonfigurowania połączenia VPN. Ona również może monitorować aktywność sieciową."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Urządzeniem zarządza:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator ma możliwość monitorowania Twojej aktywności w sieci, w tym e-maili, aplikacji i bezpiecznych witryn. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nŁączysz się też z siecią VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>”). Dostawca usługi VPN również może monitorować aktywność sieciową."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Ten profil jest zarządzany przez:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTwój administrator może monitorować Twoje urządzenie i aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nAby dowiedzieć się więcej, skontaktuj się z administratorem."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"To urządzenie jest zarządzane przez:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nTwój profil jest zarządzany przez:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nTwój administrator może monitorować Twoje urządzenie i aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nAby dowiedzieć się więcej, skontaktuj się z administratorem."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Ten profil jest zarządzany przez:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTwój administrator może monitorować aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nPozwalasz też aplikacji „<xliff:g id="APPLICATION">%2$s</xliff:g>” na nawiązanie połączenia VPN. Ona również może monitorować aktywność w sieci."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profil jest zarządzany przez:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nTwój administrator może monitorować aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nUżywasz też połączenia VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Twój operator VPN również może monitorować aktywność w sieci."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Urządzenie jest zarządzane przez:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil jest zarządzany przez:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nTwój administrator może monitorować aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nPozwalasz też aplikacji „<xliff:g id="APPLICATION">%3$s</xliff:g>” na nawiązanie połączenia VPN. Ona również może monitorować aktywność w sieci."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Urządzenie jest zarządzane przez:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil jest zarządzany przez:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nTwój administrator może monitorować aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony. Skontaktuj się z nim, by dowiedzieć się więcej.\n\nUżywasz też połączenia VPN („<xliff:g id="APPLICATION">%3$s</xliff:g>”). Twój operator VPN również może monitorować aktywność w sieci."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Urządzenie pozostanie zablokowane, aż odblokujesz je ręcznie"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Szybszy dostęp do powiadomień"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Zobacz powiadomienia, jeszcze zanim odblokujesz ekran"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index f5c444d..02b65f3 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sem SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ligação Bluetooth via telemóvel."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avião"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Rede do operador em mudança."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Bateria a <xliff:g id="NUMBER">%d</xliff:g> por cento."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Definições do sistema"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Notificações."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Monitorização da rede"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Desativar a VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desligar VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Este dispositivo é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorizar a atividade do dispositivo e da rede, incluindo emails, aplicações e Websites seguros.\n\nPara mais informações, contacte o administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Concedeu autorização a \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" para configurar uma ligação VPN.\n\nEsta aplicação pode monitorizar a atividade do dispositivo e da rede, incluindo emails, aplicações e Websites seguros."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Está ligado a uma VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nO fornecedor de serviços VPN pode monitorizar a atividade do dispositivo e da rede, incluindo emails, aplicações e Websites seguros."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Este dispositivo é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\no admin. pode monitorizar a atividade da rede, incluindo emails, aplicações e Websites seguros. Para mais informações, contacte o administrador.\n\nAlém disso, deu permissão a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" para configurar uma ligação VPN. Esta aplicação pode também monitorizar a atividade da rede."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Este dispositivo é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\no administrador pode monitorizar a atividade da rede, incluindo emails, aplicações e Websites seguros. Para mais informações, contacte o administrador.\n\nAlém disso, está ligado a uma VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). O fornecedor de serviços VPN pode também monitorizar a atividade da rede."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Este perfil é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO seu administrador pode monitorizar o seu dispositivo e a atividade de rede, incluindo emails, aplicações e Websites seguros.\n\nPara obter mais informações, contacte o seu administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Este dispositivo é gerido por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO seu perfil é gerido por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO seu administrador pode monitorizar o seu dispositivo e a atividade de rede, incluindo emails, aplicações e Websites seguros.\n\nPara obter mais informações, contacte o seu administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Este perfil é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO seu admin. pode monitorizar a sua atividade de rede, incluindo emails, aplic. e Websites seguros. Para obter mais informações, contacte o seu admin.\n\nPara além disso, deu autorização a \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" para configurar uma ligação VPN. Esta aplic. também pode monitorizar a ativ. de rede."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Este perfil é gerido por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO seu admin. pode monitorizar a sua atividade de rede, incluindo emails, aplicações e Websites seguros. Para obter mais informações, contacte o seu admin.\n\nPara além disso, está ligado a uma VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). O seu fornecedor de serviço VPN também pode monitorizar a ativ. de rede."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Este disp. é gerido por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO seu perfil é gerido por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO seu admin. pode monitorizar a sua ativ. de rede, incluindo emails, aplicações e Websites seguros. Para obter mais informações, contacte o seu admin.\n\nPara além disso, deu autorização a \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" para configurar uma ligação VPN. Esta aplicação também pode monitorizar a ativ. de rede."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Este dispositivo é gerido por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nO seu perfil é gerido por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO seu admin. pode monitorizar a sua ativ. de rede, incluindo emails, aplic. e Websites seguros. Para obter mais informações, contacte o seu admin.\n\nPara além disso, está ligado a uma VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). O seu forn. de serviço VPN também pode monitorizar a ativ. de rede."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"O dispositivo permanecerá bloqueado até ser desbloqueado manualmente"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Receber notificações mais rapidamente"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ver antes de desbloquear"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 536c608..5b3bcd9 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sem SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Tethering Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avião."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Alteração de rede de operadora."</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Monitoramento de rede"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Desativar VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Desconectar VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar seu dispositivo e a atividade na rede, incluindo e-mails, apps e websites seguros.\n\nPara mais informações, entre em contato com o administrador."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Você autorizou \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" a configurar uma conexão VPN.\n\nEste app pode monitorar seu dispositivo e a atividade na rede, incluindo e-mails, apps e websites seguros."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Você está conectado a uma VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nO provedor de serviços de VPN pode monitorar seu dispositivo e a atividade na rede, incluindo e-mails, apps e websites seguros."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, incluindo e-mails, apps e websites seguros. Para mais informações, entre em contato com o administrador.\n\nAlém disso, você autorizou \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" a configurar uma conexão VPN. Esse app também pode monitorar a atividade na rede."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, incluindo e-mails, apps e websites seguros. Para mais informações, entre em contato com o administrador.\n\nAlém disso, você está conectado a uma VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). O provedor de serviços de VPN também pode monitorar a atividade na rede."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Este perfil é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar seu dispositivo e a atividade na rede, incluindo e-mails, apps e sites seguros.\n\nPara mais informações, entre em contato com o administrador."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSeu perfil é gerenciado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO administrador pode monitorar sua atividade no dispositivo e na rede, incluindo e-mails, apps e sites seguros.\n\nPara mais informações, contate o administrador."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Este perfil é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, incluindo e-mails, apps e sites seguros. Para mais informações, entre em contato com o administrador.\n\nVocê autorizou \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" a fazer conexões VPN e este app também pode monitorar atividades de rede."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Este perfil é gerenciado por:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, incluindo e-mails, apps e sites seguros. Para mais informações, contate o administrador.\n\nVocê está conectado a uma VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") e o provedor de serviços de VPN também pode monitorar atividades de rede."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSeu perfil é gerenciado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, como e-mails, apps e sites seguros. Para mais informações, contate o administrador.\n\nVocê autorizou \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" a fazer conexões VPN e o provedor de serviços de VPN também pode monitorar atividades de rede."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Este dispositivo é gerenciado por:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nSeu perfil é gerenciado por:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nO administrador pode monitorar sua atividade na rede, como e-mails, apps e sites seguros. Para mais informações, contate o administrador.\n\nVocê está conectado a uma VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") e o provedor de serviços de VPN também pode monitorar atividades de rede."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"O dispositivo permanecerá bloqueado até que você o desbloqueie manualmente"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Receba notificações mais rápido"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Veja-as antes de desbloquear"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 62bfd5a..22c6d28 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -147,8 +147,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Niciun card SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conectarea ca modem prin Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mod Avion."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Se schimbă rețeaua operatorului."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterie: <xliff:g id="NUMBER">%d</xliff:g> procente."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Setări de sistem."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Notificări."</string>
@@ -364,17 +363,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Monitorizarea rețelei"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Dezactivați conexiunea prin VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Deconectați rețeaua VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Acest dispozitiv este administrat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul vă poate monitoriza activitatea pe dispozitiv și în rețea, inclusiv e-mailurile, aplicațiile și site-urile securizate.\n\nPentru mai multe informații, contactați administratorul."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Ați acordat aplicației „<xliff:g id="APPLICATION">%1$s</xliff:g>” permisiunea de a configura o conexiune VPN.\n\nAceastă aplicație vă poate monitoriza activitatea pe dispozitiv și în rețea, inclusiv email-urile, aplicațiile și site-urile securizate."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Sunteți conectat(ă) la o rețea VPN („<xliff:g id="APPLICATION">%1$s</xliff:g>”).\n\nFurnizorul de servicii VPN vă poate monitoriza activitatea pe dispozitiv și în rețea, inclusiv email-urile, aplicațiile și site-urile securizate."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Dispozitiv administrat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul vă poate monitoriza activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile securizate. Pentru detalii, contactați administratorul.\n\nAți permis aplicației „<xliff:g id="APPLICATION">%2$s</xliff:g>” să configureze o conexiune VPN. Aplicația vă poate monitoriza activitatea în rețea."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Dispozitiv administrat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul vă poate monitoriza activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile securizate. Pentru detalii, contactați administratorul.\n\nSunteți conectat(ă) la o rețea VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>”). Furnizorul de servicii VPN vă poate monitoriza activitatea în rețea."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profilul este gestionat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul poate monitoriza dispozitivul și activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile securizate.\n\nPentru mai multe informații, contactați administratorul."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Dispozitivul este gestionat de:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilul este gestionat de:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratorul poate monitoriza dispozitivul și activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile securizate.\n\nPentru mai multe informații, contactați administratorul."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Profilul este gestionat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul poate monitoriza activitatea în rețea (e-mailurile, aplicațiile și site-urile securizate). Pentru mai multe informații, contactați admin.\n\nÎn plus, ați permis aplicației „<xliff:g id="APPLICATION">%2$s</xliff:g>” să configureze o conexiune VPN. Și aceasta poate monitoriza activitatea în rețea."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Profilul este gestionat de:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratorul poate monitoriza activitatea în rețea (e-mailurile, aplicațiile și site-urile securizate). Pentru mai multe informații, contactați administratorul.\n\nSunteți conectat(ă) și la VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>”). Și furnizorul de servicii VPN poate monitoriza activitatea în rețea."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Disp. este gestionat de:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilul este gestionat de:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdm. poate monitoriza activitatea în rețea (e-mailurile, aplicațiile și site-urile securizate). Pt. mai multe informații, contactați adm.\n\nÎn plus, ați permis aplicației „<xliff:g id="APPLICATION">%3$s</xliff:g>” să config. o conexiune VPN. Și aceasta poate monitoriza activitatea în rețea."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Dispozitivul este gestionat de:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilul este gestionat de:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdm. poate monitoriza activitatea în rețea (e-mailurile, aplicațiile și site-urile securizate). Pt. mai multe informații, contactați adm.\n\nSunteți conectat(ă) și la VPN („<xliff:g id="APPLICATION">%3$s</xliff:g>”). Și furnizorul de servicii VPN poate monitoriza activitatea în rețea."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Dispozitivul va rămâne blocat până când îl deblocați manual"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Obțineți notificări mai rapid"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Doresc să se afișeze înainte de deblocare"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index b26db33..912e6dd 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM-карта отсутствует."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-модем"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим полета."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Сменить сеть"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -367,17 +366,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Отслеживание сетей"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Отключить VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Отключить VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Этим устройством управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и защищенными веб-сайтами.\n\nЗа дополнительной информацией обратитесь к администратору."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Вы разрешили приложению \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" подключаться к сети VPN.\n\nЭто приложение может отслеживать использование устройства и ваши действия в Интернете, включая работу с электронной почтой, приложениями и защищенными веб-сайтами."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Устройство подключено к сети VPN (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nПоставщик услуг VPN может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и защищенными веб-сайтами."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Этим устройством управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать вашу работу с электронной почтой, приложениями и защищенными веб-сайтами. Обратитесь к нему за дополнительной информацией.\n\nВаши действия в сети также доступны приложению \"<xliff:g id="APPLICATION">%2$s</xliff:g>\", которому вы разрешили подключаться к сети VPN."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Этим устройством управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать вашу работу с электронной почтой, приложениями и защищенными веб-сайтами. Обратитесь к нему за дополнительной информацией.\n\nУстройство подключено к сети VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Ваши действия также доступны поставщику услуг VPN."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Этим профилем управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и защищенными веб-сайтами.\n\nЗа дополнительной информацией обращайтесь к администратору."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Устройством управляет организация:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилем управляет организация:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и защищенными веб-сайтами.\n\nЗа дополнительной информацией обращайтесь к администратору."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Этим профилем управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать ваши действия в Интернете, включая работу с эл. почтой, приложениями и защищенными веб-сайтами. Обратитесь к нему за дополнительной информацией.\n\nВы разрешили приложению \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" подключаться к VPN, и ему также доступны эти сведения."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Этим профилем управляет организация:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор может отслеживать ваши действия в Сети, включая работу с эл. почтой, приложениями и защищенными веб-сайтами Обратитесь к нему за дополнительной информацией.\n\nУстройство подключено к сети VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Поставщику услуг VPN также видны ваши действия в Сети."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Устройством управляет организация:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилем управляет организация:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор может отслеживать вашу работу с эл. почтой, приложениями и защищенными веб-сайтами. Обратитесь к нему за дополнительной информацией.\n\nВы разрешили приложению \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" подключаться к VPN, и ему также доступны эти сведения."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Устройством управляет организация:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилем управляет организация:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор может отслеживать вашу работу с почтой, приложениями и защищенными веб-сайтами. Обратитесь к нему за дополнительной информацией.\n\nУстройство подключено к сети VPN (<xliff:g id="APPLICATION">%3$s</xliff:g>). Поставщику услуг VPN видны ваши действия в Сети."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Устройство необходимо будет разблокировать вручную"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Быстрый доступ к уведомлениям"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Просматривайте уведомления на заблокированном экране."</string>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index 410fcda..d33c66f 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM නැත."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"බ්ලූටූත් ටෙදරින්."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"අහස්යානා ආකාරය."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"වාහක ජාලය වෙනස් වේ."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"බැටරි ප්රතිශතය <xliff:g id="NUMBER">%d</xliff:g>"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"පද්ධති සැකසීම්."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"දැනුම්දීම්."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"ජාල නිරීක්ෂණය"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN අබල කරන්න."</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN විසන්ධි කරන්න"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"මෙම උපාංගය කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-මේල්, යෙදුම්, සහ ආරක්ෂාකාරී වෙබ් අඩවි ඇතුළු, ඔබගේ ජාල ක්රියාකාරකම නිරීක්ෂණය කිරීමට ඔබගේ පරිපාලකට හැක.\n\nවැඩිදුර විස්තර සඳහා, ඔබගේ පරිපාලක අමතන්න."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"VPN සම්බන්ධතාව සකස් කරගැනීමට \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" අවසර ඔබ දෙන ලදි.\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට මෙම යෙදුමට හැකිය."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") වෙත ඔබ සම්බන්ධ වී තිබේ.\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ VPN සේවාවේ සපයන්නාට ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැක."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"මෙම උපාංගය පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට ඔබගේ පාලකයාට හැකියාව තිබේ. වැඩිපුර තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කර ගන්න.\n\nතවද, VPN සම්බන්ධතාව සකස් කරගැනීමට \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" අවසර ඔබ දෙන ලදි. මෙම යෙදුම ජාල ක්රියාකාරකම් නිරීක්ෂණය කරයි."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"මෙම උපාංගය පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට ඔබගේ පාලකයාට හැකියාව තිබේ. වැඩිපුර තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කර ගන්න.\n\nතවද, VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") වෙත ඔබ සම්බන්ධ වී තිබේ. තවද ඔබගේ VPN සේවාවේ සපයන්නාට ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැක."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"මෙම පැතිකඩ කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-මේල්, යෙදුම්, සහ ආරක්ෂාකාරී වෙබ් අඩවි ඇතුළු, ඔබගේ ජාල ක්රියාකාරකම නිරීක්ෂණය කිරීමට ඔබගේ පරිපාලකට හැක.\n\nවැඩිදුර විස්තර සඳහා, ඔබගේ පරිපාලක අමතන්න."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"මෙම උපාංගය කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nමෙම පැතිකඩ කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nඊ-මේල්, යෙදුම්, සහ ආරක්ෂාකාරී වෙබ් අඩවි ඇතුළු, ඔබගේ ජාල ක්රියාකාරකම නිරීක්ෂණය කිරීමට ඔබගේ පරිපාලකට හැක.\n\nවැඩිදුර විස්තර සඳහා, ඔබගේ පරිපාලක අමතන්න."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"මෙම පැතිකඩ පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට ඔබගේ පාලකයාට හැකියාව තිබේ. වැඩිපුර තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කර ගන්න.\n\nතවද, VPN සම්බන්ධතාව සකස් කරගැනීමට \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" අවසර ඔබ දෙන ලදි. මෙම යෙදුම ජාල ක්රියාකාරකම් නිරීක්ෂණය කරයි."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"මෙම පැතිකඩ පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට ඔබගේ පාලකයාට හැකියාව තිබේ. වැඩිපුර තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කර ගන්න.\n\nතවද, VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") වෙත ඔබ සම්බන්ධ වී තිබේ. තවද ඔබගේ VPN සේවාවේ සපයන්නාට ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැක."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"මෙම උපාංගය පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nමෙම පැතිකඩ පාලනය කරන්නේ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nඊ-තැපැල්, යෙදුම්, සහ අරක්ෂිත වෙබ් අඩවි ඇතුළුව ඔබගේ ජාලයේ ක්රියාකාරකම් නිරීක්ෂණය කිරීමට ඔබගේ පාලකයාට හැකියාව තිබේ. වැඩිපුර තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කර ගන්න.\n\nතවද, VPN සම්බන්ධතාව සකස් කරගැනීමට \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" අවසර ඔබ දෙන ලදි. මෙම යෙදුම ජාල ක්රියාකාරකම් නිරීක්ෂණය කරයි."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"මෙම උපාංගය කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nමෙම පැතිකඩ කළමනාකරණය කරනු ලබන්නේ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nඊ-මේල්, යෙදුම්, සහ ආරක්ෂාකාරී වෙබ් අඩවි ඇතුළු, ඔබගේ ජාල ක්රියාකාරකම නිරීක්ෂණය කිරීමට ඔබගේ පරිපාලකට හැක. වැඩිදුර විස්තර සඳහා, ඔබගේ පරිපාලක අමතන්න.\n\nතවද,VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") වෙත ඔබ සම්බන්ධ වී තිබේ. තවද ඔබගේ VPN සේවාවේ සපයන්නාට ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැක."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"ඔබ අතින් අගුළු අරින තුරු උපකරණය අගුළු වැටි තිබේ"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"දැනුම්දීම් ඉක්මනින් ලබාගන්න"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ඔබ අඟුළු හැරීමට කලින් ඒවා බලන්න"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 93ef222..75e4833 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Žiadna karta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Pripojenie cez Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Režim v lietadle."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Zmena siete operátora"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -367,17 +366,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Sledovanie siete"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Deaktivovať VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Odpojiť sieť VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vaše zariadenie a aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok.\n\nĎalšie informácie získate od svojho správcu."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g> ste povolili nastaviť pripojenie VPN.\n\nTáto aplikácia môže sledovať vaše zariadenie a aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Ste pripojený/-á k sieti VPN (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nPoskytovateľ služby VPN môže sledovať vaše zariadenie a aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane e-mailov, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste aplikácii <xliff:g id="APPLICATION">%2$s</xliff:g> povolili nastaviť pripojenie VPN. Táto aplikácia môže tiež sledovať vašu aktivitu v sieti."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane e-mailov, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste pripojený/-á aj k sieti VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Poskytovateľ služby VPN môže tiež sledovať vašu aktivitu v sieti."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Tento profil spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vaše zariadenie a aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok.\n\nĎalšie informácie získate od svojho správcu."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizácia:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nSprávca môže sledovať vaše zariadenie a aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok.\n\nĎalšie informácie získate od svojho správcu."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Tento profil spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste aplikácii <xliff:g id="APPLICATION">%2$s</xliff:g> povolili možnosť nastaviť pripojenie VPN. Táto aplikácia tiež môže sledovať vašu aktivitu v sieti."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Tento profil spravuje organizácia:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste pripojený/-á k sieti VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Poskytovateľ služby VPN môže tiež sledovať vašu aktivitu v sieti."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizácia:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste aplikácii <xliff:g id="APPLICATION">%3$s</xliff:g> povolili možnosť nastaviť pripojenie VPN. Táto aplikácia tiež môže sledovať vašu aktivitu v sieti."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Toto zariadenie spravuje organizácia:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVáš profil spravuje organizácia:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nSprávca môže sledovať vašu aktivitu v sieti vrátane správ, aplikácií a zabezpečených webových stránok. Ďalšie informácie získate od svojho správcu.\n\nZároveň ste pripojený/-á k sieti VPN (<xliff:g id="APPLICATION">%3$s</xliff:g>). Poskytovateľ služby VPN môže tiež sledovať vašu aktivitu v sieti."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Zariadenie zostane uzamknuté, dokým ho ručne neodomknete."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Získavať upozornenia rýchlejšie"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Zobraziť pred odomknutím"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 18d3098..58a6962 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ni kartice SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internet prek Bluetootha."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Način za letalo."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Spreminjanje omrežja operaterja."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterija <xliff:g id="NUMBER">%d</xliff:g> odstotkov."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistemske nastavitve."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Obvestila."</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Nadzor omrežja"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Onemogoči VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Prekini povezavo z VPN-jem"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"To napravo upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSkrbnik lahko nadzira vašo napravo in dejavnost v omrežju, vključno z e-pošto, aplikacijami in varnimi spletnimi mesti.\n\nČe želite več informacij, se obrnite na skrbnika."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Aplikaciji »<xliff:g id="APPLICATION">%1$s</xliff:g>« ste dovolili vzpostavitev povezave z omrežjem VPN.\n\nTa aplikacija lahko nadzira vašo napravo in dejavnost v omrežju, vključno z e-pošto, aplikacijami in varnimi spletnimi mesti."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Povezani ste v omrežje VPN (»<xliff:g id="APPLICATION">%1$s</xliff:g>«).\n\nPonudnik omrežja VPN lahko nadzira vašo napravo in dejavnost v omrežju, vključno z e-pošto, aplikacijami in varnimi spletnimi mesti."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"To napravo upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSkrbnik lahko nadzira vašo dejavnost v omrežju, vključno z e-pošto, aplikacijami in varnimi spletnimi mesti. Če želite več informacij, se obrnite na skrbnika.\n\nPoleg tega ste aplikaciji »<xliff:g id="APPLICATION">%2$s</xliff:g>« dovolili vzpostavitev povezave z omrežjem VPN. Vašo dejavnost v omrežju lahko nadzoruje tudi ta aplikacija."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"To napravo upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nSkrbnik lahko nadzira vašo dejavnost v omrežju, vključno z e-pošto, aplikacijami in varnimi spletnimi mesti. Če želite več informacij, se obrnite na skrbnika.\n\nPoleg tega ste povezani v omrežje VPN (»<xliff:g id="APPLICATION">%2$s</xliff:g>«). Vašo dejavnost v omrežju lahko nadzira tudi ponudnik omrežja VPN."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Ta profil upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo napravo in omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti.\n\nZa več informacij se obrnite na skrbnika."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"To napravo upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVaš profil upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo napravo in omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti.\n\nZa več informacij se obrnite na skrbnika."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Ta profil upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti. Za več informacij se obrnite na skrbnika.\n\nAplikaciji »<xliff:g id="APPLICATION">%2$s</xliff:g>« ste dovolili vzpostavitev povezave VPN. Tudi ta aplikacija lahko nadzira omrežno dejavnost."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Ta profil upravlja:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti. Za več informacij se obrnite na skrbnika.\n\nPovezani ste tudi v VPN (»<xliff:g id="APPLICATION">%2$s</xliff:g>«). Tudi ponudnik storitve VPN lahko nadzira omrežno dejavnost."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"To napravo upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVaš profil upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti. Za več informacij se obrnite na skrbnika.\n\n. Aplikaciji »<xliff:g id="APPLICATION">%3$s</xliff:g>« ste dovolili vzpostavitev povezave VPN. Tudi ta aplikacija lahko nadzira omrežno dejavnost."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"To napravo upravlja:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nVaš profil upravlja:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nVaš skrbnik lahko nadzira vašo omrežno dejavnost, vključno z e-poštnimi sporočili, aplikacijami in varnimi spletnimi mesti. Za več informacij se obrnite na skrbnika.\n\nPovezani ste tudi v VPN (»<xliff:g id="APPLICATION">%3$s</xliff:g>«). Tudi ponudnik storitve VPN lahko nadzira omrežno dejavnost."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Naprava bo ostala zaklenjena, dokler je ročno ne odklenete."</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Hitrejše prejemanje obvestil"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Oglejte si jih pred odklepanjem"</string>
diff --git a/packages/SystemUI/res/values-sq-rAL-land/strings.xml b/packages/SystemUI/res/values-sq-rAL-land/strings.xml
new file mode 100644
index 0000000..146c6ad
--- /dev/null
+++ b/packages/SystemUI/res/values-sq-rAL-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, 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="toast_rotation_locked" msgid="7609673011431556092">"Ekrani është kyçur tani në orientimin horizontal."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..e70254c
--- /dev/null
+++ b/packages/SystemUI/res/values-sq-rAL/strings.xml
@@ -0,0 +1,401 @@
+<?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="app_label" msgid="7164937344850004466">"Ndërfaqja e përdoruesit të sistemit"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Pastro"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Hiq nga lista"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Informacioni i aplikacionit"</string>
+ <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"Ekranet e tua më të fundit shfaqen këtu"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Largo aplikacionet më të fundit"</string>
+ <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759">
+ <item quantity="other">%d ekrane te \"Përmbledhja\"</item>
+ <item quantity="one">1 ekran te \"Përmbledhja\"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Asnjë njoftim"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Në vazhdim"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Njoftimet"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"Niveli i baterisë është i ulët"</string>
+ <string name="battery_low_percent_format" msgid="2900940511201380775">"Ka mbetur edhe <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"Ka mbetur edhe <xliff:g id="PERCENTAGE">%s</xliff:g>. Kursimi i baterisë është i aktivizuar."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"Ngarkuesi USB nuk mbështetet.\nPërdor vetëm ngarkuesin e dhënë."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"Ngarkimi i USB-së nuk mbështetet."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"Përdor vetëm ngarkuesin e dhënë."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"Cilësimet"</string>
+ <string name="battery_saver_confirmation_title" msgid="5299585433050361634">"Të aktivizohet kursimi i baterisë?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"Ndiz"</string>
+ <string name="battery_saver_start_action" msgid="5576697451677486320">"Aktivizo kursimin e baterisë"</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Cilësimet"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Ekran me rrotullim automatik"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"NË HESHTJE"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"Njoftimet"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"\"Bluetooth-i\" është i lidhur"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfiguro metodat e hyrjes"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Tastierë fizike"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Lejo aplikacionin <xliff:g id="APPLICATION">%1$s</xliff:g> të hyjë në pajisjen \"USB\"?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Lejo aplikacionin <xliff:g id="APPLICATION">%1$s</xliff:g> të hyjë në cilësimet e qasjes së USB-së?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Të hapet <xliff:g id="ACTIVITY">%1$s</xliff:g> kur pajisja USB të jetë lidhur?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Të hapet <xliff:g id="ACTIVITY">%1$s</xliff:g> kur ndihmësi i USB-së të jetë lidhur?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Asnjë aplikacion i instaluar nuk punon me këtë ndihmës USB-je. Mëso më shumë rreth këtij ndihmësi në <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"Qasja në USB"</string>
+ <string name="label_view" msgid="6304565553218192990">"Pamje"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"Përdor cilësimet e paracaktuara për këtë pajisje USB-je."</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"Përdor cilësimet e paracaktuara për këtë ndihmës të USB-së."</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"Të lejohet korrigjimi i USB-së?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"Shenja e gishtit të tastit \"RSA\" së kompjuterit është:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"Lejo gjithmonë nga ky kompjuter"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"Zmadho për të mbushur ekranin"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"Shtrije për të mbushur ekranin"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Po ruan pamjen e ekranit..."</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"Po ruan pamjen e ekranit…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"Pamja e ekranit po ruhet."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"Pamja e ekranit u kap."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"Prek për të parë pamjen e ekranit tënd."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"Nuk mundi të kapte pamjen e ekranit."</string>
+ <string name="screenshot_failed_text" msgid="1260203058661337274">"Nuk pranon pamje ekrani për shkak të hapësirës së kufizuar ruajtëse, ose një gjë e tillë nuk lejohet nga aplikacioni apo organizata jote."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"Opsionet e transferimit të dosjeve të USB-së"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"Lidh si një lexues \"media\" (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"Montoje si kamerë (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalo apl. \"Transferimi i skedarëve\" për \"Mac\""</string>
+ <string name="accessibility_back" msgid="567011538994429120">"Prapa"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"Faqja bazë"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"Menyja"</string>
+ <string name="accessibility_recent" msgid="5208608566793607626">"Përmbledhje"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"Kërko"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefoni"</string>
+ <string name="accessibility_unlock_button" msgid="128158454631118828">"Shkyç"</string>
+ <string name="unlock_label" msgid="8779712358041029439">"shkyç"</string>
+ <string name="phone_label" msgid="2320074140205331708">"hap telefonin"</string>
+ <string name="camera_label" msgid="7261107956054836961">"hap kamerën"</string>
+ <string name="recents_caption_resize" msgid="3517056471774958200">"Zgjidh strukturën e re të detyrës"</string>
+ <string name="cancel" msgid="6442560571259935130">"Anulo"</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Butoni i zmadhimit të pajtueshmërisë."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zmadho nga një ekran i vogël në të madh."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Pajisja është lidhur me \"bluetooth\"."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"\"Bluetooth-i\" është i shkëputur"</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"Nuk ka bateri."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"Bateria ka edhe një vijë."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Bateria ka edhe dy vija."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Bateria ka edhe tre vija."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"Bateria u mbush."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"Nuk ka telefon."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Telefoni ka edhe një vijë."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Telefoni ka dy vija."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Telefoni ka tre vija."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Sinjali i telefonit është i plotë."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"Nuk ka të dhëna."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Sinjali është vetëm një vijë."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Të dhënat kanë dy vija."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Sinjali është me tre vija."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Sinjali i të dhënave është i plotë."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wi-Fi është i çaktivizuar."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wi-Fi është i shkëputur."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wi-Fi ka një vijë."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wi-Fi ka dy vija."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wi-Fi ka tre vija."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wi-Fi ka sinjal të plotë."</string>
+ <string name="accessibility_wifi_name" msgid="7202151365171148501">"Lidhur me <xliff:g id="WIFI">%s</xliff:g>."</string>
+ <string name="accessibility_bluetooth_name" msgid="8441517146585531676">"Lidhur me <xliff:g id="BLUETOOTH">%s</xliff:g>"</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"Nuk ka WiMAX."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ka një vijë"</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX ka dy vija."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX ka tre vija."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX ka sinjal të plotë."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"Nuk ka sinjal."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"Nuk është i lidhur."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"Zero vija."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"Një vijë."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"Dy vija."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"Tre vija."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"Sinjali është i plotë."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"Aktivizuar."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"Çaktivizuar."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"I lidhur."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"Po lidhet."</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>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"Lidhje CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"Nuk ka kartë SIM."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Po lidhet me \"bluetooth\"."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"modaliteti \"në aeroplan\""</string>
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Rrjeti i operatorit celular po ndryshohet."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"Bateria ka edhe <xliff:g id="NUMBER">%d</xliff:g> për qind."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"Cilësimet e sistemit."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"Njoftimet."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"Pastro njoftimin."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS-ja është e aktivizuar."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Po siguron GPS-në."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"Teleprinteri është i aktivizuar."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Zile me dridhje."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Zilja është heshtur."</string>
+ <!-- no translation found for accessibility_casting (6887382141726543668) -->
+ <skip />
+ <string name="accessibility_recents_item_will_be_dismissed" msgid="395770242498031481">"Largo <xliff:g id="APP">%s</xliff:g>."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> është hequr."</string>
+ <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"Të gjitha aplikacionet e fundit u larguan."</string>
+ <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"Po nis <xliff:g id="APP">%s</xliff:g>."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"Njoftimi është hequr."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Streha e njoftimeve."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Cilësime të shpejta."</string>
+ <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"Ekrani i kyçjes."</string>
+ <string name="accessibility_desc_settings" msgid="3417884241751434521">"Cilësimet"</string>
+ <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"Përmbledhja."</string>
+ <string name="accessibility_desc_confirm" msgid="3446792278337969766">"Konfirmo"</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"Përdoruesi <xliff:g id="USER">%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">"Wi-Fi është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wi-Fi është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Celulari <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">"Bateria: <xliff:g id="STATE">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Modaliteti \"në aeroplan\" është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modaliteti \"në aeroplan\" është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modaliteti \"në aeroplan\" është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modaliteti \"në aeroplan\" është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Mos shqetëso\" i aktivizuar, vetëm me prioritet."</string>
+ <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Mos shqetëso\" i aktivizuar, asnjë ndërprerje."</string>
+ <string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"\"Mos shqetëso\" i aktivizuar, vetëm alarmet."</string>
+ <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Mos shqetëso\" i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Mos shqetëso\" i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Mos shqetëso\" i aktivizuar."</string>
+ <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"\"Bluetooth-i\" është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"\"Bluetooth-i\" është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"\"Bluetooth-i\" po lidhet."</string>
+ <string name="accessibility_quick_settings_bluetooth_connected" msgid="4306637793614573659">"\"Bluetooth-i\" është i lidhur."</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_off" msgid="2730003763480934529">"\"Bluetooth-i\" është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_bluetooth_changed_on" msgid="8722351798763206577">"\"Bluetooth-i\" është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_location_off" msgid="5119080556976115520">"Raportimi i vendndodhjes është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"Raporti i vendndodhjes është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"Raportimi i vendndodhjes është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"Raportimi i vendndodhjes është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarmi u caktua për në <xliff:g id="TIME">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"Mbyll panelin."</string>
+ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Më shumë kohë."</string>
+ <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Më pak kohë."</string>
+ <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Elektriku është i çaktivizuar."</string>
+ <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Elektriku u aktivizua."</string>
+ <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Elektriku u çaktivizua."</string>
+ <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Elektriku është i aktivizuar."</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="4406577213290173911">"Ndërrimi i ngjyrës u çaktivizua."</string>
+ <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="6897462320184911126">"Ndërrimi i ngjyrës u aktivizua."</string>
+ <string name="accessibility_quick_settings_hotspot_changed_off" msgid="5004708003447561394">"Qasja në zona publike interneti është e çaktivizuar."</string>
+ <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2890951609226476206">"Zona e qasjes publike për internet është e aktivizuar."</string>
+ <string name="accessibility_casting_turned_off" msgid="1430668982271976172">"Transmetimi i ekranit ndaloi."</string>
+ <string name="accessibility_brightness" msgid="8003681285547803095">"Ndriçimi i ekranit"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5281770593459841889">"Të dhënat 2G-3G janë ndërprerë"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="1601769736881078016">"Të dhënat 4G janë ndërprerë"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="4651001290947318931">"Të dhënat celulare janë ndërprerë"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="3932437232199671967">"Të dhënat janë ndërprerë"</string>
+ <string name="data_usage_disabled_dialog" msgid="8453242888903772524">"Pajisja jote ka ndërprerë përdorimin e të dhënave për pjesën e mbetur të ciklit sepse është arritur kufiri i caktuar i të dhënave.\n\nVazhdimi mund të sjellë tarifa nga operatori celular."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="1412395410306390593">"Rifillo"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nuk ka lidhje interneti"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi është i lidhur"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"Po kërkon GPS-në"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"Vendndodhja është caktuar nga GPS-ja"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"Kërkesat për vendodhje janë aktive"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"Pastro të gjitha njoftimet."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Cilësimet e njoftimeve"</string>
+ <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"Cilësimet e <xliff:g id="APP_NAME">%s</xliff:g>"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Ekrani do të rrotullohet automatikisht."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"Ekrani është i kyçur në orientimin horizontal."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Ekrani është i kyçur në orientimin vertikal."</string>
+ <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"Ekrani do të rrotullohet automatikisht tani."</string>
+ <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Tani ekrani është i kyçur në orientimin horizontal."</string>
+ <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Ekrani tani është i kyçur në orientimin vertikal."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"\"Kutia e ëmbëlsirës\""</string>
+ <string name="start_dreams" msgid="7219575858348719790">"Mbrojtësi \"Daydream\""</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"Eternet"</string>
+ <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Mos shqetëso"</string>
+ <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Vetëm me prioritet"</string>
+ <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Vetëm alarmet"</string>
+ <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Nuk ka ndërprerje"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"\"Bluetooth-i\" (<xliff:g id="NUMBER">%d</xliff:g> pajisje)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"\"Bluetooth-i\" është i çaktivizuar"</string>
+ <string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"Nuk ofrohet për përdorim asnjë pajisje e çiftuar"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Ndriçimi"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Rrotullim automatik"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"rrotullimi është i kyçur"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Vertikalisht"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Horizontalisht"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"Metoda e hyrjes"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"Vendndodhja"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Vendndodhja është e çaktivizuar"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Pajisje e jashtme ruajtëse"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Vetëm telefonata urgjence"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Cilësimet"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"Data/Ora"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"Unë"</string>
+ <string name="quick_settings_user_title" msgid="4467690427642392403">"Përdoruesi"</string>
+ <string name="quick_settings_user_new_user" msgid="9030521362023479778">"Përdorues i ri"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Nuk është i lidhur"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nuk ka rrjet"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi është i çaktivizuar"</string>
+ <string name="quick_settings_wifi_detail_empty_text" msgid="2831702993995222755">"Nuk ofrohet asnjë rrjet i ruajtur"</string>
+ <string name="quick_settings_cast_title" msgid="7709016546426454729">"Transmeto"</string>
+ <string name="quick_settings_casting" msgid="6601710681033353316">"Po transmeton"</string>
+ <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Pajisje e paemërtuar"</string>
+ <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Gati për transmetim"</string>
+ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"Nuk ofrohet për përdorim asnjë pajisje"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Ndriçimi"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"Automatike"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Shkëmbe ngjyrat"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modaliteti i korrigjimit të ngjyrës"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"Cilësime të tjera"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"U krye!"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"I lidhur"</string>
+ <string name="quick_settings_connecting" msgid="47623027419264404">"Po lidhet..."</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Lidhje çiftimi"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Qasje në zona publike interneti"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Njoftimet"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Elektriku"</string>
+ <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Të dhënat celulare"</string>
+ <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Përdorimi i të dhënave"</string>
+ <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"Të dhënat e mbetura"</string>
+ <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"Mbi kufirin e caktuar"</string>
+ <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"Të përdorura: <xliff:g id="DATA_USED">%s</xliff:g>"</string>
+ <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Kufiri: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
+ <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Paralajmërim për kufirin prej <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
+ <string name="recents_empty_message" msgid="8682129509540827999">"Ekranet e tua të fundit shfaqen këtu"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacioni i aplikacionit"</string>
+ <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"gozhdimi i ekranit"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"kërko"</string>
+ <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> nuk mundi të nisej."</string>
+ <string name="recents_dismiss_all_message" msgid="8495275386693095768">"Largo të gjitha aplikacionet"</string>
+ <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Ndaje horizontalisht"</string>
+ <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Ndaj vertikalisht"</string>
+ <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Ndaj të personalizuarën"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"I ngarkuar"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"Po ngarkohet"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> deri sa të mbushet"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Nuk po ngarkohet"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Rrjeti mund\ntë monitorohet"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"Kërko"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"Rrëshqit lart për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"Rrëshqit majtas për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"Nuk ka ndërprerje. Nuk ka as alarme."</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"Nuk do të shqetësohesh nga tingujt dhe dridhjet, përveç alarmeve, alarmeve rikujtuese, ngjarjeve dhe telefonuesve që specifikon."</string>
+ <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizo"</string>
+ <string name="zen_no_interruptions" msgid="7970973750143632592">"Nuk ka ndërprerje"</string>
+ <string name="zen_important_interruptions" msgid="3477041776609757628">"Vetëm ndërprerje prioritare"</string>
+ <string name="zen_alarms" msgid="5055668280767657759">"Vetëm alarmet"</string>
+ <string name="zen_alarm_information_time" msgid="5235772206174372272">"Alarmi i radhës është në <xliff:g id="ALARM_TIME">%s</xliff:g>"</string>
+ <string name="zen_alarm_information_day_time" msgid="8422733576255047893">"Alarmi i radhës është më <xliff:g id="ALARM_DAY_AND_TIME">%s</xliff:g>"</string>
+ <string name="zen_alarm_warning" msgid="6873910860111498041">"Nuk do ta dëgjosh alarmin në <xliff:g id="ALARM_TIME">%s</xliff:g>"</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">"Njoftimet më pak urgjente, më poshtë!"</string>
+ <string name="notification_tap_again" msgid="8524949573675922138">"Prek sërish për ta hapur"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"Rrëshqit për të shkyçur"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"Rrëshqit djathtas për të hapur telefonin"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"Rrëshqit majtas për kamerën"</string>
+ <string name="interruption_level_none" msgid="8284541443482072628">"Nuk ka ndërprerje"</string>
+ <string name="interruption_level_priority" msgid="6426766465363855505">"Vetëm me prioritet"</string>
+ <string name="interruption_level_alarms" msgid="5226306993448328896">"Vetëm alarmet"</string>
+ <string name="interruption_level_all" msgid="1330581184930945764">"Të gjitha"</string>
+ <string name="interruption_level_none_twoline" msgid="3942121050170227056">"Nuk ka\nndërprerje"</string>
+ <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Vetëm\nme prioritet"</string>
+ <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Vetëm\nalarmet"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Po ngarkohet (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> deri sa të mbushet)"</string>
+ <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"Ndërro përdorues"</string>
+ <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"Ndërro përdoruesin. Përdoruesi aktual është <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
+ <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"Shfaq profilin"</string>
+ <string name="user_add_user" msgid="5110251524486079492">"Shto përdorues"</string>
+ <string name="user_new_user_name" msgid="426540612051178753">"Përdorues i ri"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"I ftuar"</string>
+ <string name="guest_new_guest" msgid="600537543078847803">"Shto të ftuar"</string>
+ <string name="guest_exit_guest" msgid="7187359342030096885">"Hiq të ftuarin"</string>
+ <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"Të hiqet i ftuari?"</string>
+ <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"Të gjitha aplikacionet dhe të dhënat në këtë sesion do të fshihen."</string>
+ <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"Hiq"</string>
+ <string name="guest_wipe_session_title" msgid="6419439912885956132">"Mirë se erdhe, i ftuar!"</string>
+ <string name="guest_wipe_session_message" msgid="8476238178270112811">"Dëshiron ta vazhdosh sesionin tënd?"</string>
+ <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"Fillo nga e para"</string>
+ <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"Po, vazhdo!"</string>
+ <string name="guest_notification_title" msgid="1585278533840603063">"Përdorues vizitor"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"Hiq vizitorin për të fshirë aplikacionet dhe të dhënat"</string>
+ <string name="guest_notification_remove_action" msgid="8820670703892101990">"HIQ VIZITORIN"</string>
+ <string name="user_add_user_title" msgid="4553596395824132638">"Të shtohet përdorues i ri?"</string>
+ <string name="user_add_user_message_short" msgid="2161624834066214559">"Kur shton një përdorues të ri, ai person duhet të konfigurojë hapësirën e vet.\n\nÇdo përdorues mund t\'i përditësojë aplikacionet për të gjithë përdoruesit e tjerë."</string>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"Kursimi i baterisë është i aktivizuar"</string>
+ <string name="battery_saver_notification_text" msgid="820318788126672692">"Pakëson veprimtarinë dhe të dhënat në sfond"</string>
+ <string name="battery_saver_notification_action_text" msgid="109158658238110382">"Çaktivizo kursimin e baterisë"</string>
+ <string name="notification_hidden_text" msgid="1135169301897151909">"Përmbajtjet janë të fshehura"</string>
+ <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> do të fillojë të regjistrojë çdo gjë që shfaqet në ekran."</string>
+ <string name="media_projection_remember_text" msgid="3103510882172746752">"Mos e shfaq sërish"</string>
+ <string name="clear_all_notifications_text" msgid="814192889771462828">"Pastroji të gjitha"</string>
+ <string name="media_projection_action_text" msgid="8470872969457985954">"Fillo tani"</string>
+ <string name="empty_shade_text" msgid="708135716272867002">"Asnjë njoftim"</string>
+ <string name="device_owned_footer" msgid="3802752663326030053">"Pajisja mund të monitorohet"</string>
+ <string name="profile_owned_footer" msgid="8021888108553696069">"Profili mund të monitorohet"</string>
+ <string name="vpn_footer" msgid="2388611096129106812">"Rrjeti mund të jetë i monitoruar"</string>
+ <string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitorimi i pajisjes"</string>
+ <string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorimi i profilit"</string>
+ <string name="monitoring_title" msgid="169206259253048106">"Monitorimi i rrjetit"</string>
+ <string name="disable_vpn" msgid="4435534311510272506">"Çaktivizo VPN-në"</string>
+ <string name="disconnect_vpn" msgid="1324915059568548655">"Shkëput VPN-në"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
+ <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Pajisje do të qëndrojë e kyçur derisa ta shkyçësh manualisht"</string>
+ <string name="hidden_notifications_title" msgid="7139628534207443290">"Merr njoftime më shpejt"</string>
+ <string name="hidden_notifications_text" msgid="2326409389088668981">"Shikoji para se t\'i shkyçësh"</string>
+ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Jo, faleminderit!"</string>
+ <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfiguro"</string>
+ <string name="notification_expand_button_text" msgid="1037425494153780718">"Shikoji të gjitha"</string>
+ <string name="notification_collapse_button_text" msgid="6883253262134328057">"Fshihi të gjitha"</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="screen_pinning_title" msgid="3273740381976175811">"Ekrani u gozhdua"</string>
+ <string name="screen_pinning_description" msgid="1346522416878235405">"Kjo e ruan në pamje derisa e heq nga gozhdimi. Prek dhe mbaj shtypur njëkohësisht \"Prapa\" dhe \"Përmbledhje\" për ta hequr nga gozhdimi."</string>
+ <string name="screen_pinning_description_accessible" msgid="8518446209564202557">"Kjo e ruan në pamje derisa e heq nga gozhdimi. Prek dhe mbaj shtypur njëkohësisht \"Përmbledhje\" për ta hequr nga gozhdimi."</string>
+ <string name="screen_pinning_positive" msgid="3783985798366751226">"E kuptova!"</string>
+ <string name="screen_pinning_negative" msgid="3741602308343880268">"Jo, faleminderit!"</string>
+ <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"Të fshihet <xliff:g id="TILE_LABEL">%1$s</xliff:g>?"</string>
+ <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"Do të rishfaqet herën tjetër kur ta aktivizoni te cilësimet."</string>
+ <string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"Fshih"</string>
+ <string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> dëshiron të bëhet dialogu i volumit."</string>
+ <string name="volumeui_prompt_allow" msgid="7954396902482228786">"Lejo"</string>
+ <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Refuzo"</string>
+ <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> është dialogu i volumit"</string>
+ <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>
+</resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 9348895..60ffafe 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -147,8 +147,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Нема SIM картице."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth привезивање."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим рада у авиону."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Промена мреже мобилног оператера."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Батерија је на <xliff:g id="NUMBER">%d</xliff:g> посто."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Системска подешавања."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Обавештења."</string>
@@ -364,17 +363,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Надгледање мреже"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Онемогући VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Прекини везу са VPN-ом"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа уређај и мрежне активности, укључујући имејлове, апликације и безбедне веб-сајтове.\n\nВише информација потражите од администратора."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Дали сте дозволу апликацији „<xliff:g id="APPLICATION">%1$s</xliff:g>“ да подешава VPN везу.\n\nТа апликација може да надгледа уређај и мрежне активности, укључујући имејлове, апликације и безбедне веб-сајтове."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Повезани сте са VPN-ом („<xliff:g id="APPLICATION">%1$s</xliff:g>“).\n\nДобављач VPN услуге може да надгледа уређај и мрежне активности, укључујући имејлове, апликације и безбедне веб-сајтове."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа мрежне активности, укључујући имејлове, апликације и безбедне веб-сајтове. Више информација потражите од администратора.\n\nДали сте и дозволу апликацији <xliff:g id="APPLICATION">%2$s</xliff:g> да подешава VPN везу. И та апликација може да надгледа мрежне активности."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа мрежне активности, укључујући имејлове, апликације и безбедне веб-сајтове. Више информација потражите од администратора.\n\nПовезани сте и са VPN-ом („<xliff:g id="APPLICATION">%2$s</xliff:g>“). И добављач VPN услуге може да надгледа мрежне активности."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Овим профилом управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа уређај и мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове.\n\nЗа више информација контактирајте администратора."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилом управља:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор може да надгледа уређај и мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове.\n\nЗа више информација контактирајте администратора."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Овим профилом управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове. За више информација контактирајте администратора.\n\nТакође сте дали дозволу да „<xliff:g id="APPLICATION">%2$s</xliff:g>“ подеси VPN везу. Ова апликација такође може да надгледа мрежну активност."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Овим профилом управља:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдминистратор може да надгледа мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове. За више информација контактирајте администратора.\n\nТакође, повезани сте на VPN („<xliff:g id="APPLICATION">%2$s</xliff:g>“). Добављач услуге за VPN такође може да надгледа мрежну активност."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилом управља:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор може да надгледа мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове. За више информација контактирајте администратора.\n\nТакође сте дали дозволу да „<xliff:g id="APPLICATION">%3$s</xliff:g>“ подеси VPN везу. Ова апликација такође може да надгледа мрежну активност."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Овим уређајем управља:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профилом управља:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдминистратор може да надгледа мрежну активност, укључујући имејлове, апликације и безбедне веб-сајтове. За више информација контактирајте администратора.\n\nТакође, повезани сте на VPN („<xliff:g id="APPLICATION">%3$s</xliff:g>“). Добављач услуге за VPN такође може да надгледа мрежну активност."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Уређај ће остати закључан док га не откључате ручно"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Брже добијајте обавештења"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Прегледајте их пре откључавања"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 5d3fbb0..baed069 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Inget SIM-kort."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetdelning via Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flygplansläge"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Byter leverantörsnätverk."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Batteri <xliff:g id="NUMBER">%d</xliff:g> procent."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Systeminställningar."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Meddelanden."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Nätverksövervakning"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Inaktivera VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Koppla från VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Den här enheten administreras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratören kan övervaka enheten och din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser.\n\nKontakta administratören om du vill veta mer."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Du har gett <xliff:g id="APPLICATION">%1$s</xliff:g> tillåtelse att skapa en VPN-anslutning.\n\nAppen kan övervaka enheten och din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Du är ansluten till ett VPN (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nVPN-tjänsteleverantören kan övervaka enheten och din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Den här enheten administreras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administratör kan övervaka din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser. Kontakta din administratör för mer information.\n\nDu har också gett <xliff:g id="APPLICATION">%2$s</xliff:g> tillåtelse att skapa en VPN-anslutning. Även den här appen kan övervaka nätverksaktivitet."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Den här enheten administreras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administratör kan övervaka din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser. Kontakta din administratör för mer information.\n\nDu är även ansluten till VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Även din VPN-tjänsteleverantör kan övervaka nätverksaktiviteten."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Den här profilen hanteras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratören kan övervaka enheten och din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser.\n\nKontakta administratören för mer information."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Den här enheten hanteras av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil hanteras av:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratören kan övervaka enheten och nätverksaktiviteten, inklusive e-post, appar och säkra webbplatser.\n\nKontakta administratören för mer information."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Den här profilen hanteras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administratör kan övervaka din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser. Kontakta din administratör för mer information.\n\nDu har också gett <xliff:g id="APPLICATION">%2$s</xliff:g> tillåtelse att konfigurera en VPN-anslutning. Även den här appen kan övervaka nätverksaktivitet."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Den här profilen hanteras av:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nDin administratör kan övervaka din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser. Kontakta din administratör för mer information.\n\nDu är även ansluten till VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Även din VPN-tjänsteleverantör kan övervaka nätverksaktiviteten."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Den här enheten hanteras av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil hanteras av:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratören kan övervaka din nätverksaktivitet, inklusive e-post, appar och säkra webbplatser. Kontakta administratören för mer information.\n\nDu har också gett <xliff:g id="APPLICATION">%3$s</xliff:g> tillåtelse att konfigurera en VPN-anslutning. Även den här appen kan övervaka nätverksaktivitet."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Den här enheten hanteras av:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nDin profil hanteras av:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratören kan övervaka din nätverksaktivitet, till exempel e-post, appar och säkra webbplatser. Kontakta administratören för mer information.\n\nDu är även ansluten till VPN (<xliff:g id="APPLICATION">%3$s</xliff:g>). Även din VPN-tjänsteleverantör kan övervaka nätverksaktiviteten."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Enheten förblir låst tills du låser upp den manuellt"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Få aviseringar snabbare"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Visa dem innan du låser upp"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 522fa1b..d977e38 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Hakuna SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Shiriki intaneti kwa Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Hali ya ndege."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Mabadiliko ya mtandao wa mtoa huduma."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Asilimia <xliff:g id="NUMBER">%d</xliff:g> ya betri"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Mipangilio ya mfumo."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Arifa."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Ufuatiliaji wa mtandao"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Zima VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Ondoa VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Kifaa kinasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia shughuli ya kifaa na mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti salama.\n\nKwa maelezo zaidi, wasiliana na msimamizi wako."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Umeruhusu \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" isanidi muunganisho wa VPN.\n\nProgramu hii inaweza kufuatilia shughuli za kifaa na mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti salama."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Umeunganishwa kwenye VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nMtoa huduma wako wa VPN anaweza kufuatilia kifaa na shughuli za kifaa na mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti salama."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi anaweza kufuatilia shughuli za mtandao wako ikiwa ni pamoja na barua pepe, programu na tovuti salama. Kwa maelezo zaidi, wasiliana na msimamizi wako.\n\nPia, umeruhusu \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" isanidi muunganisho wa VPN. Programu hii pia inaweza kufuatilia shughuli za mtandao wako."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi anaweza kufuatilia shughuli za mtandao wako ikiwa ni pamoja na barua pepe, programu na tovuti salama. Kwa maelezo zaidi, wasiliana na msimamizi wako.\n\nPia, umeunganishwa kwenye VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Mtoa huduma wako wa VPN pia anaweza kufuatilia shughuli za mtandao."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Wasifu huu unasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia kifaa chako na shughuli kwenye mtandao, ikiwa ni pamoja na barua pepe na tovuti salama.\n\nKwa maelezo zaidi, wasiliana na msimamizi wako."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nWasifu wako unasimamiwa na:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia kifaa chako na shughuli kwenye mtandao, ikiwa ni pamoja na barua pepe na tovuti salama.\n\nKwa maelezo zaidi, wasiliana na msimamizi wako."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Wasifu huu unasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia shughuli zako kwenye mtandao, ikiwa ni pamoja na barua pepe, programu na na tovuti salama. Kwa maelezo zaidi, wasiliana na msimamizi wako.\n\nPia, uliruhusu \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" isanidi muunganisho wa VPN. Programu hii pia inaweza kufuatilia shughuli kwenye mtandao."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia shughuli zako kwenye mtandao ikiwa ni pamoja na barua pepe, programu na tovuti salama. Kwa maelezo zaidi, wasiliana na msimamizi wako.\n\nPia, umeunganishwa kwenye VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Mtoa huduma wako wa VPN pia anaweza kufuatilia shughuli kwenye mtandao."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nWasifu wako unasimamiwa na:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia shughuli zako kwenye mtandao, ikiwa ni pamoja na barua pepe, programu na na tovuti salama\n\nPia, uliruhusu \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" isanidi muunganisho wa VPN. Programu hii pia inaweza kufuatilia shughuli kwenye mtandao."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Kifaa hiki kinasimamiwa na:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nWasifu wako unasimamiwa na:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nMsimamizi wako anaweza kufuatilia shughuli zako kwenye mtandao, ikiwa ni pamoja na barua pepe, programu na tovuti salama. Kwa maelezo zaidi, wasiliana na msimamizi wako.\n\nPia, umeunganishwa kwenye VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Mtoa huduma wako wa VPN pia anaweza kufuatilia shughuli kwenye mtandao."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Kifaa kitaendelea kuwa katika hali ya kufungwa hadi utakapokifungua mwenyewe"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Pata arifa kwa haraka"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Zitazame kabla hujafungua"</string>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index dc730fb..1ad53d7 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"சிம் இல்லை."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"புளூடூத் டெதெரிங்."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"விமானப் பயன்முறை."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"மொபைல் நிறுவன மாற்றம்."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"பேட்டரி சக்தி <xliff:g id="NUMBER">%d</xliff:g> சதவிகிதம் உள்ளது."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"கணினி அமைப்பு."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"அறிவிப்புகள்."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"நெட்வொர்க்கைக் கண்காணித்தல்"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPNஐ முடக்கு"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPNஐத் துண்டி"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"சாதனத்தை நிர்வகிப்பது:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பான இணையதளங்கள் உள்ளிட்ட சாதனம் மற்றும் நெட்வொர்க் செயல்பாட்டை உங்கள் நிர்வாகியால் கண்காணிக்க முடியும்.\n\nமேலும் தகவலுக்கு உங்கள் நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"VPN இணைப்பை அமைக்க \"<xliff:g id="APPLICATION">%1$s</xliff:g>\"க்கு அனுமதி வழங்கியுள்ளீர்கள்.\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பான இணையதளங்கள் உள்ளிட்ட சாதனம் மற்றும் நெட்வொர்க் செயல்பாட்டை இந்தப் பயன்பாட்டினால் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") உடன் இணைக்கப்பட்டீர்கள்.\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பான இணையதளங்கள் உள்ளிட்ட சாதனம் மற்றும் நெட்வொர்க் செயல்பாட்டை உங்கள் VPN சேவை வழங்குநரால் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"சாதனத்தை நிர்வகிப்பது:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பான இணையதளங்கள் உட்பட நெட்வொர்க் செயல்பாட்டை உங்கள் நிர்வாகியால் கண்காணிக்க முடியும். மேலும் தகவலுக்கு உங்கள் நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும் VPN இணைப்பை அமைக்க, \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"க்கு அனுமதி வழங்கியுள்ளீர்கள். இந்தப் பயன்பாட்டினால் நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"சாதனத்தை நிர்வகிப்பது:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பான இணையதளங்கள் உட்பட நெட்வொர்க் செயல்பாட்டை உங்கள் நிர்வாகியால் கண்காணிக்க முடியும். மேலும் தகவலுக்கு உங்கள் நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும் (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") உடன் இணைக்கப்பட்டீர்கள். VPN சேவை வழங்குநரும் நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"உங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் உங்கள் நிர்வாகியால் கண்காணிக்க முடியும்.\n\nமேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"சாதனத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nஉங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் உங்கள் நிர்வாகியால் கண்காணிக்க முடியும்.\n\nமேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"உங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் கண்காணிக்கும் திறன் உங்கள் நிர்வாகியிடம் உள்ளது. மேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும் VPN இணைப்பிற்காக \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" அனுமதியைக் கொடுத்துள்ளீர்கள். இந்தப் பயன்பாட்டால் நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"உங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் கண்காணிக்கும் திறன் உங்கள் நிர்வாகியிடம் உள்ளது. மேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும், VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") இல் இணைக்கப்பட்டுள்ளீர்கள். உங்கள் VPN சேவை வழங்குநராலும், நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"சாதனத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nஉங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் கண்காணிக்கும் திறன் உங்கள் நிர்வாகியிடம் உள்ளது. மேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும் VPN இணைப்பிற்காக \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" அனுமதியைக் கொடுத்துள்ளீர்கள். இந்தப் பயன்பாட்டால் நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"சாதனத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nஉங்கள் சுயவிவரத்தை நிர்வகிப்பவர்:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nமின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் பாதுகாப்பு இணையதளங்கள் உட்பட உங்கள் சாதனத்தையும், நெட்வொர்க் செயல்பாட்டையும் கண்காணிக்கும் திறன் உங்கள் நிர்வாகியிடம் உள்ளது. மேலும் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்.\n\nமேலும், VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") இல் இணைக்கப்பட்டுள்ளீர்கள். உங்கள் VPN சேவை வழங்குநராலும், நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"நீங்கள் கைமுறையாகத் திறக்கும் வரை, சாதனம் பூட்டப்பட்டிருக்கும்"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"விரைவாக அறிவிப்புகளைப் பெறுதல்"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"திறக்கும் முன் அவற்றைப் பார்க்கவும்"</string>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 6a0e136..16c73e4 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"సిమ్ లేదు."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"బ్లూటూత్ టెథెరింగ్."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"ఎయిర్ప్లేన్ మోడ్."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"క్యారియర్ నెట్వర్క్ మారుస్తుంది."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"బ్యాటరీ <xliff:g id="NUMBER">%d</xliff:g> శాతం."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"సిస్టమ్ సెట్టింగ్లు."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"నోటిఫికేషన్లు."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"నెట్వర్క్ పర్యవేక్షణ"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPNని నిలిపివేయి"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPNను డిస్కనెక్ట్ చేయి"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"ఈ పరికరం దీని నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వాహకుడు ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ పరికరాన్ని మరియు నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు.\n\nమరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"మీరు VPN కనెక్షన్ను సెటప్ చేయడానికి \"<xliff:g id="APPLICATION">%1$s</xliff:g>\"కి అనుమతి ఇచ్చారు.\n\nఈ అనువర్తనం ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ పరికరాన్ని మరియు నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"మీరు VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\")కి కనెక్ట్ చేయబడ్డారు.\n\nమీ VPN సేవా ప్రదాత ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ పరికరాన్ని మరియు నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"ఈ పరికరం దీని నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వాహకుడు ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు. మరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి.\n\nఅలాగే, మీరు VPN కనెక్షన్ను సెటప్ చేయడానికి \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"ని అనుమతించారు. కనుక ఈ అనువర్తనం కూడా నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"ఈ పరికరం దీని నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వాహకుడు ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు. మరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి.\n\nఅలాగే, మీరు VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\")కి కనెక్ట్ చేయబడ్డారు. కనుక మీ VPN సేవా ప్రదాత కూడా నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"ఈ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వాహకుడు ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ పరికరం మరియు నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు.\n\nమరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"ఈ పరికరం వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nమీ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nమీ నిర్వాహకుడు ఇమెయిల్లు, అనువర్తనాలు మరియు సురక్షిత వెబ్సైట్లతో సహా మీ పరికరం మరియు నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు.\n\nమరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"ఈ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వాహ. ఇమెయి., అనువ. మరియు సురక్షిత వెబ్సైట్లతో సహా మీ నెట్వ. కార్యాచరణను పర్యవేక్షించగలరు. మరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి.\n\nఅలాగే, మీరు VPN కనెక్షన్ని సెటప్ చేయడానికి \"<xliff:g id="APPLICATION">%2$s</xliff:g>\"కి అనుమతి ఇచ్చారు. కాబట్టి, ఈ అనువ. కూడా నెట్. కార్యా. పర్యవేక్షించగలదు."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"ఈ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nమీ నిర్వా. ఇమెయి., అనువ. మరియు సురక్షిత వెబ్సైట్లతో సహా మీ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు. మరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి.\n\nఅలాగే, మీరు VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\")కి కనెక్ట్ చేయబడ్డారు. కాబట్టి, మీ VPN సేవ ప్రదాత కూడా నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలరు."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"ఈ పరి. వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nమీ ప్రొఫైల్ వీరి నిర్వ. ఉంది:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nమీ నిర్వాహ. ఇమెయి., అనువ. మరియు సురక్షిత వెబ్సై. సహా మీ నెట్. కార్యా. పర్యవేక్షించగలరు. మరింత సమా. కోసం, మీ నిర్వాహ. సంప్ర..\n\nఅలాగే, మీరు VPN కనెక్షన్ సెటప్ చేయడా. \"<xliff:g id="APPLICATION">%3$s</xliff:g>\"కి అనుమతి ఇచ్చారు. కాబట్టి, ఈ అనువ. కూడా నెట్వర్క్ కార్యా. పర్యవేక్షించగలదు."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"ఈ పరి. వీరి నిర్వహణలో ఉంది:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nమీ ప్రొఫైల్ వీరి నిర్వ. ఉంది:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nమీ నిర్వా. ఇమెయి., అనువ. మరియు సురక్షిత వెబ్సైట్లతో సహా మీ నెట్వ. కార్యా. పర్యవేక్షించగలరు. మరింత సమా. కోసం, మీ నిర్వాహ. సంప్రదించండి.\n\nఅలాగే, మీరు VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\")కి కనెక్ట్ చేయబ.. కాబట్టి, మీ VPN సేవ ప్రదాత కూడా నెట్వర్క్ కార్యా. పర్యవేక్షించగలరు."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"మీరు మాన్యువల్గా అన్లాక్ చేస్తే మినహా పరికరం లాక్ చేయబడి ఉంటుంది"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"నోటిఫికేషన్లను వేగంగా పొందండి"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"వీటిని మీరు అన్లాక్ చేయకముందే చూడండి"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 621876b..2d7b603 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"ไม่มีซิมการ์ด"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"การปล่อยสัญญาณบลูทูธ"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"โหมดใช้งานบนเครื่องบิน"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"การเปลี่ยนเครือข่ายผู้ให้บริการ"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"แบตเตอรี่ <xliff:g id="NUMBER">%d</xliff:g> เปอร์เซ็นต์"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"การตั้งค่าระบบ"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"การแจ้งเตือน"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"การตรวจสอบเครือข่าย"</string>
<string name="disable_vpn" msgid="4435534311510272506">"ปิดใช้ VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"ยกเลิกการเชื่อมต่อ VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"อุปกรณ์นี้จัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย\n\nสำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"คุณให้สิทธิ์ \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" ในการตั้งค่าการเชื่อมต่อ VPN\n\nแอปนี้สามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"คุณเชื่อมต่อกับ VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") อยู่\n\nผู้ให้บริการ VPN สามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัยได้"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"อุปกรณ์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบของคุณสามารถตรวจสอบกิจกรรมในเครือข่ายของคุณได้ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบของคุณ\n\nนอกจากนี้ คุณได้ให้สิทธิ์ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" เพื่อตั้งค่าการเชื่อมต่อ VPN แอปนี้สามารถตรวจสอบกิจกรรมในเครือข่ายได้เช่นกัน"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"อุปกรณ์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบของคุณสามารถตรวจสอบกิจกรรมในเครือข่ายของคุณได้ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบของคุณ\n\nนอกจากนี้ คุณเชื่อมต่อกับ VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") ผู้ให้บริการ VPN ของคุณสามารถตรวจสอบกิจกรรมในเครือข่ายของคุณได้เช่นกัน"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"โปรไฟล์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่ายของคุณ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย\n\nสำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"อุปกรณ์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nโปรไฟล์ของคุณได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nผู้ดูแลระบบของคุณสามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย\n\nสำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"โปร์ไฟล์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบกิจกรรมเครือข่ายของคุณได้ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบของคุณ\n\nนอกจากนี้ คุณได้ให้สิทธิ์ \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" ในการตั้งค่าการเชื่อมต่อ VPN แอปนี้สามารถตรวจสอบกิจกรรมเครือข่ายได้เช่นกัน"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"โปรไฟล์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบกิจกรรมเครือข่ายของคุณได้ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบของคุณ\n\nคุณยังได้เชื่อมต่อกับ VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") ผู้ให้บริการ VPN สามารถตรวจสอบกิจกรรมเครือข่ายของคุณได้เช่นกัน"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"อุปกรณ์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nโปรไฟล์ของคุณได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบอุปกรณ์และกิจกรรมเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ\n\nคุณยังได้ให้สิทธิ์ \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" ในการตั้งค่าการเชื่อมต่อ VPN แอปนี้จะสามารถตรวจสอบกิจกรรมเครือข่ายได้เช่นกัน"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"อุปกรณ์นี้ได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nโปรไฟล์ของคุณได้รับการจัดการโดย:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nผู้ดูแลระบบสามารถตรวจสอบกิจกรรมเครือข่ายของคุณ รวมถึงอีเมล แอป และเว็บไซต์ที่ปลอดภัย สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบของคุณ\n\nคุณยังได้เชื่อมต่อกับ VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") ผู้ให้บริการ VPN สามารถตรวจสอบกิจกรรมเครือข่ายของคุณได้เช่นกัน"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"อุปกรณ์จะล็อกจนกว่าคุณจะปลดล็อกด้วยตนเอง"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"รับการแจ้งเตือนเร็วขึ้น"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"ดูก่อนปลดล็อก"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 8fe591c..202833e 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Walang SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Pag-tether ng Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode na eroplano."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Nagpapalit ng carrier network."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterya <xliff:g id="NUMBER">%d</xliff:g> (na) porsyento."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Mga setting ng system."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Mga Notification."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Pagsubaybay sa network"</string>
<string name="disable_vpn" msgid="4435534311510272506">"I-disable ang VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Idiskonekta ang VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Ang device na ito ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMaaaring subaybayan ng iyong administrator ang iyong device at aktibidad sa network, kabilang ang mga email, app at secure na website.\n\nPara sa higit pang impormasyon, makipag-ugnayan sa iyong administrator."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Pinahintulutan mo ang \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" na mag-set up ng koneksyon sa VPN.\n\nMaaaring subaybayan ng app na ito ang iyong device at aktibidad sa network, kabilang ang mga email, app at secure na website."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Nakakonekta ka sa isang VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nMaaaring subaybayan ng iyong VPN service provider ang iyong device at aktibidad sa network kabilang ang mga email, app at secure na website."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Ang device ay pinapamahalaan ng:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMay kakayahan ang iyong administrator na subaybayan ang iyong aktibidad sa network kabilang ang mga email, apps at secure na website. Para sa higit pang impormasyon, makipag-ugnayan sa iyong administrator.\n\nGayundin, pinahintulutan mo ang \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" na mag-set up ng koneksyon sa VPN. Maaari ding subaybayan ng app na ito ang aktibidad sa network."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Ang device ay pinapamahalaan ng:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMay kakayahan ang iyong administrator na subaybayan ang iyong aktibidad sa network kabilang ang mga email, apps at secure na website. Para sa higit pang impormasyon, makipag-ugnayan sa iyong administrator.\n\nGayundin, nakakonekta ka sa isang VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Maaari ding subaybayan ng iyong VPN service provider ang mga aktibidad sa network."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Ang profile na ito ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMaaaring subaybayan ng administrator mo ang iyong device at aktibidad sa network, kabilang na ang mga email, app at secure na website.\n\nPara sa higit pang impormasyon, makipag-ugnayan sa iyong administrator."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Ang device na ito ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAng iyong profile ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nMaaaring subaybayan ng administrator ang iyong device at aktibidad sa network, kabilang na ang mga email, app at secure na website.\n\nPara sa higit pang impormasyon, makipag-ugnayan sa iyong administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"This profile is managed by:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps, and secure websites. For more information, contact your administrator.\n\nAlso, you gave \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" permission to set up a VPN connection. This app can monitor network activity too."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Ang profile na ito ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nMay kakayahan ang iyong administrator na subaybayan ang iyong aktibidad sa network kabilang na ang mga email, app, at secure na website. Para sa higit pang impormasyon, makipag-ugnayan sa iyong administrator.\n\nGayundin, nakakonekta ka sa isang VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Magagawa rin ng iyong VPN service provider na subaybayan ang aktibidad sa network."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Ang device na ito ay pinamamahalaan ng\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nAng profile mo ay pinamamahalaan ng:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nMay kakayahan ang iyong administrator na subaybayan ang iyong aktibidad sa network, kabilang na ang mga email, app at secure na website. Para sa higit pang impormasyon, makipag-ugnayan sa iyong administrator.\n\nGayundin, binigyan mo ng pahintulot ang \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" na mag-set up ng koneksyong VPN. Maaari ring sumubaybay ng aktibidad sa network ang app na ito."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"This device is managed by:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nYour profile is managed by:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYour administrator is capable of monitoring your network activity including emails, apps, and secure websites. For more information, contact your administrator.\n\nAlso, you\'re connected to a VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Your VPN service provider can monitor network activity too."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Mananatiling naka-lock ang device hanggang sa manu-mano mong i-unlock"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Kunin ang notification nang mas mabilis"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Tingnan ang mga ito bago ka mag-unlock"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index fcb07fbf..ff7266f 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM kart yok."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth tethering"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Uçak modu."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Operatör şebekesi değişiyor."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Pil yüzdesi: <xliff:g id="NUMBER">%d</xliff:g>"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistem ayarları."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Bildirimler."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Ağ izleme"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN\'yi devre dışı bırak"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN bağlantısını kes"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYöneticiniz e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir.\n\nDaha fazla bilgi edinmek için yöneticinizle iletişim kurun."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"\"<xliff:g id="APPLICATION">%1$s</xliff:g>\" uygulamasına bir VPN bağlantısı kurma izni verdiniz.\n\nBu uygulama e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Bir VPN\'ye (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") bağlısınız.\n\nVPN servis sağlayıcınız e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYöneticiniz e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir.\n\nAyrıca \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" uygulamasına VPN bağlantısı kurma izni de verdiniz. Bu uygulama da ağ etkinliğini izleyebilir."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n.Yöneticiniz e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir. Daha fazla bilgi için yöneticinizle iletişim kurun.\n\n Ayrıca bir VPN\'ye de (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") bağlısınız. VPN servis sağlayıcınız da ağ etkinliğini izleyebilir."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Bu profili yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYöneticiniz; e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere ağ etkinliğinizi izleyebilir.\n\nDaha fazla bilgi için yöneticinize başvurun."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilinizi yöneten kuruluş:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYöneticiniz; e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere cihazınızı ve ağ etkinliğinizi izleyebilir.\n\nDaha fazla bilgi için yöneticinize başvurun."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Bu profili yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYöneticiniz e-postalar, uygulamalar ve güvenli web siteleri dahil olmak üzere ağ etkinliğinizi izleyebilir.\n\nAyrıca \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" uygulamasına VPN bağlantısı kurma izni de verdiniz. Bu uygulama da ağ etkinliğini izleyebilir."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Bu profili yöneten kuruluş:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nYöneticiniz; e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere ağ etkinliğinizi izleyebilir. Daha fazla bilgi için yöneticinize başvurun.\n\nAyrıca, bir VPN\'ye (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") bağlısınız. VPN hizmet sağlayıcınız da ağ etkinliğini izleyebilir."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilinizi yöneten kuruluş:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYöneticiniz; e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere ağ etkinliğinizi izleyebilir. Daha fazla bilgi için yöneticinize başvurun.\n\nAyrıca \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" uygulamasına VPN kurma izni verdiniz. Bu uygulama da ağ etkinliğini izleyebilir."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Bu cihazı yöneten kuruluş:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilinizi yöneten kuruluş:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nYöneticiniz; e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere ağ etkinliğinizi izleyebilir. Daha fazla bilgi için yöneticinize başvurun.\n\nAyrıca, bir VPN\'ye (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") bağlısınız. VPN hizmet sağlayıcınız da ağ etkinliğini izleyebilir."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Cihazınızın kilidini manuel olarak açmadıkça cihaz kilitli kalacak"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Bildirimleri daha hızlı alın"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Kilidi açmadan bildirimleri görün"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 66106c7..81ae81a 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -148,8 +148,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Немає SIM-карти."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Прив’язка Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим польоту."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Змінення мережі оператора."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Заряд акумулятора: <xliff:g id="NUMBER">%d</xliff:g>."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Налаштування системи."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Сповіщення."</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Відстеження дій у мережі"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Вимкнути VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Від’єднатися від мережі VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Цим пристроєм керує \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати пристрій та дії в мережі, зокрема листування, роботу в додатках і на захищених веб-сайтах.\n\nЩоб дізнатися більше, зверніться до адміністратора."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Ви дозволили додатку <xliff:g id="APPLICATION">%1$s</xliff:g> під’єднуватися до мережі VPN.\n\nДодаток може відстежувати ваш пристрій та дії в мережі, зокрема листування, роботу в додатках і на захищених веб-сайтах."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Ви під’єднані до мережі VPN (<xliff:g id="APPLICATION">%1$s</xliff:g>).\n\nПостачальник послуг VPN може відстежувати пристрій та дії в мережі, зокрема листування, роботу в додатках і на захищених веб-сайтах."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Цим пристроєм керує \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених веб-сайтах. Щоб дізнатися більше, зверніться до адміністратора.\n\nВи також дозволили додатку <xliff:g id="APPLICATION">%2$s</xliff:g> під’єднатися до мережі VPN. Цей додаток теж може відстежувати ваші дії в мережі."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Цим пристроєм керує \n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених веб-сайтах. Щоб дізнатися більше, зверніться до адміністратора.\n\nВаш пристрій також під’єднаний до мережі VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Постачальник послуг VPN може відстежувати ваші дії в мережі."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Цим профілем керує\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії на пристрої та в мережі, зокрема листування, роботу в додатках і на захищених сайтах.\n\nЗв’яжіться з адміністратором, щоб дізнатися більше."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Цим пристроєм керує\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профілем керує\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії на пристрої та в мережі, зокрема листування, роботу в додатках і на захищених сайтах.\n\nЗв’яжіться з адміністратором, щоб дізнатися більше."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Цим профілем керує\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених сайтах. Зв’яжіться з адміністратором, щоб дізнатися більше.\n\nВи дозволили додатку <xliff:g id="APPLICATION">%2$s</xliff:g> під’єднатися до мережі VPN. Цей додаток може відстежувати ваші дії в мережі."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Цим профілем керує\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених сайтах. Зв’яжіться з адміністратором, щоб дізнатися більше.\n\nПристрій під’єднано до мережі VPN (<xliff:g id="APPLICATION">%2$s</xliff:g>). Постачальник послуг VPN може відстежувати ваші дії в мережі."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Цим пристроєм керує\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профілем керує\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених сайтах. Зв’яжіться з адміністратором, щоб дізнатися більше.\n\nВи дозволили додатку <xliff:g id="APPLICATION">%3$s</xliff:g> під’єднатися до мережі VPN. Цей додаток може відстежувати ваші дії в мережі."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Цим пристроєм керує\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nВашим профілем керує\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nАдміністратор може відстежувати ваші дії в мережі, зокрема листування, роботу в додатках і на захищених сайтах. Зв’яжіться з адміністратором, щоб дізнатися більше.\n\nПристрій під’єднано до мережі VPN (<xliff:g id="APPLICATION">%3$s</xliff:g>). Постачальник послуг VPN може відстежувати ваші дії в мережі."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Пристрій залишатиметься заблокованим, доки ви не розблокуєте його вручну"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Швидше отримуйте сповіщення"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Переглядайте сповіщення, перш ніж розблокувати екран"</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index e5d752e..8db6445 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"کوئی SIM نہیں ہے۔"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"بلوٹوتھ ربط بنانا۔"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"ہوائی جہاز وضع۔"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"کیریئر نیٹ ورک تبدیل ہو رہا ہے۔"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"بیٹری <xliff:g id="NUMBER">%d</xliff:g> فیصد۔"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"سسٹم کی ترتیبات۔"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"اطلاعات۔"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"نیٹ ورک کو مانیٹر کرنا"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN کو غیر فعال کریں"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN کو غیر منسلک کریں"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"اس آلہ کا نظم مندرجہ ذیل کے ذریعے کیا جاتا ہے:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کے آلہ اور نیٹ ورک کی سرگرمی، بشمول ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔\n\nمزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"آپ نے \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" کو ایک VPN کنکشن سیٹ اپ کرنے کی اجازت دی ہے۔\n\nیہ ایپ ای میلز، ایپس اور محفوظ ویب سائٹس کے بشمول آپ کے آلہ اور نیٹ ورک کی سرگرمی کو مانیٹر کر سکتی ہے۔"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"آپ ایک VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\") سے منسلک ہیں۔\n\nآپ کا VPN سروس فراہم کنندہ ای میلز، ایپس اور محفوظ ویب سائٹس کے بشمول آپ کے آلہ اور نیٹ ورک کی سرگرمی کو مانیٹر کر سکتا ہے۔"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"اس آلہ کا نظم مندرجہ ذیل کے ذریعے کیا جاتا ہے:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی بشمول ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کرنے کا اہل ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ نے \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" کو ایک VPN کنکشن ترتیب دینے کی اجازت دی ہے۔ یہ ایپ نیٹ ورک کی سرگرمی بھی مانیٹر کر سکتی ہے۔"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"اس آلہ کا نظم مندرجہ ذیل کے ذریعے کیا جاتا ہے:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی بشمول ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کرنے کا اہل ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ ایک VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") سے منسلک ہیں۔ آپ کی VPN سروس کا فراہم کنندہ نیٹورک کی سرگرمی کو بھی مانیٹر کر سکتا ہے۔"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"اس پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کا آلہ اور نیٹ ورک کی سرگرمی بشمول، ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔\n\nمزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"اس آلہ کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nآپ کے پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nآپ کا منتظم آپ کے آلہ اور نیٹ ورک کی سرگرمی، بشمول ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔\n\nمزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"اس پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی بشمول، ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ نے \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" کو ایک VPN کنکشن کو ترتیب دینے کی اجازت دی ہے۔ یہ ایپ نیٹ ورک کی سرگرمی بھی مانیٹر کر سکتی ہے۔"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"اس پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی بشمول، ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ ایک VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\") سے منسلک ہیں۔ آپ کا VPN سروس فراہم کنندہ نیٹ ورک کی سرگرمی بھی مانیٹر کر سکتا ہے۔"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"اس آلہ کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nآپ کے پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی بشمول، ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ نے \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" کو ایک VPN کنکشن ترتیب دینے کی اجازت دی ہے۔ یہ ایپ نیٹ ورک کی سرگرمی بھی مانیٹر کر سکتی ہے۔"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"اس آلہ کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nآپ کے پروفائل کا نظم کیا جاتا ہے بذریعہ:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nآپ کا منتظم آپ کے نیٹ ورک کی سرگرمی، بشمول ای میلز، ایپس اور محفوظ ویب سائٹس کو مانیٹر کر سکتا ہے۔ مزید معلومات کیلئے، اپنے منتظم سے رابطہ کریں۔\n\nنیز، آپ ایک VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\") سے منسلک ہیں۔ آپ کا VPN سروس فراہم کنندہ نیٹ ورک کی سرگرمی کو بھی مانیٹر کر سکتا ہے۔"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"آلہ اس وقت تک مقفل رہے گا جب تک آپ دستی طور پر اسے غیر مقفل نہ کریں"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"تیزی سے اطلاعات حاصل کریں"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"غیر مقفل کرنے سے پہلے انہیں دیکھیں"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index f7b373e..c01f515 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM karta yo‘q."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth bog‘landi."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Parvoz rejimi"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Mobil tarmoq o‘zgartirilmoqda."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Batareya <xliff:g id="NUMBER">%d</xliff:g> foiz."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Tizim sozlamalari."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Eslatmalar."</string>
@@ -304,8 +303,8 @@
<string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun yuqoriga suring."</string>
<string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun chapga suring."</string>
<string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"Hech narsa bezovta qilmaydi, hatto uyg‘otkichlar ham."</string>
- <string name="zen_priority_introduction" msgid="7253045784560169993">"Siz ovoz va vibratsiyalar bilan bezovda qilinmaysiz, lekin uyg‘otkich, eslatkich, tadbirlar va siz ko‘rsatgan qo‘ng‘iroq qiluvchilar bundan mustasno."</string>
- <string name="zen_priority_customize_button" msgid="7948043278226955063">"Moslash"</string>
+ <string name="zen_priority_introduction" msgid="7253045784560169993">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq, uyg‘otkich signallari, eslatmalar, tadbirlar haqidagi bildirishnomalar va siz tanlagan abonentlardan kelgan qo‘ng‘iroqlar bundan mustasno."</string>
+ <string name="zen_priority_customize_button" msgid="7948043278226955063">"Sozlash"</string>
<string name="zen_no_interruptions" msgid="7970973750143632592">"Tanaffuslarsiz"</string>
<string name="zen_important_interruptions" msgid="3477041776609757628">"Faqat ustuvor tanaffuslar"</string>
<string name="zen_alarms" msgid="5055668280767657759">"Faqat signallar"</string>
@@ -342,8 +341,8 @@
<string name="guest_wipe_session_wipe" msgid="5065558566939858884">"Boshidan boshlansin"</string>
<string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"Ha, davom ettirilsin"</string>
<string name="guest_notification_title" msgid="1585278533840603063">"Mehmon foydalanuvchi"</string>
- <string name="guest_notification_text" msgid="7513706222848825467">"Ilova va ma’lumotlarni o‘chirish uchun mehmonni o‘chiring"</string>
- <string name="guest_notification_remove_action" msgid="8820670703892101990">"MEHMON HISOBI O‘CHIRILSINMI?"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"Ilova va ma’lumotlarni o‘ch. u-n mehmon hisobini o‘chiring"</string>
+ <string name="guest_notification_remove_action" msgid="8820670703892101990">"MEHMON HISOBINI O‘CHIRISH"</string>
<string name="user_add_user_title" msgid="4553596395824132638">"Yangi foyd-chi qo‘shilsinmi?"</string>
<string name="user_add_user_message_short" msgid="2161624834066214559">"Yangi foydalanuvchi qo‘shilgach, o‘sha shaxs o‘z hududini sozlashi lozim bo‘ladi.\n\nHar qanday foydalanuvchi ilovalarni barcha foydalanuvchilar uchun yangilashi mumkin."</string>
<string name="battery_saver_notification_title" msgid="237918726750955859">"Quvvat tejash yoqilgan"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Tarmoqlarni kuzatish"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN tarmog‘ini o‘chirish"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN ulanishini uzish"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoringiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakatlaringizni kuzatishi mumkin.\n\nQo‘shimcha ma’lumot olish uchun administratoringizga murojaat qiling."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Siz “<xliff:g id="APPLICATION">%1$s</xliff:g>” ilovasiga VPN ulanishini o‘rnatishga ruxsat bergansiz.\n\nShuning uchun, ushbu ilova qurilmangiz va tarmoqdagi faolligingizni, jumladan, e-pochta, ilovalar va xavfsiz veb-saytlar bilan ishlashingizni kuzatishi mumkin."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Qurilma VPN tarmog‘iga ulangan (“<xliff:g id="APPLICATION">%1$s</xliff:g>”).\n\nXatti-harakatlaringiz VPN xizmati ta’minotchisiga ham ko‘rinadi."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakat-ni kuzatishi m-n. Qo‘shimcha ma’lumot olish u-n admin-ga murojaat qiling.\n\nSiz “<xliff:g id="APPLICATION">%2$s</xliff:g>” ilovasiga VPN ulanishini sozlash u-n ruxsat berdingiz. U ham tarmoqdagi faolligingizni kuzatishi mumkin."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakat-ni kuzatishi m-n. Qo‘shimcha ma’lumot olish u-n admin-ga murojaat qiling.\n\nSiz VPN tarmog‘iga ham ulangansiz (“<xliff:g id="APPLICATION">%2$s</xliff:g>”). VPN xizmati ta’minotchingiz ham tarmoqdagi faollingizni kuzatishi m-n."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Profil boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministratoringiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakatlaringizni kuzatishi mumkin.\n\nQo‘shimcha ma’lumot olish uchun administratoringizga murojaat qiling."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfilingiz boshqaruvchisi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdministratoringiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakatlaringizni kuzatishi mumkin.\n\nQo‘shimcha ma’lumot olish uchun administratoringizga murojaat qiling."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Bu profil boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakatlaringizni kuzatishi mumkin. Qo‘shimcha ma’lumot olish uchun admin-ga murojaat qiling.\n\nSiz “<xliff:g id="APPLICATION">%2$s</xliff:g>” ilovasiga VPN ulanishini sozlash u-n ruxsat bergansiz. U ham tarmoqdagi faollikni kuzatishi m-n."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi harakatlaringizni kuzatishi mumkin. Qo‘shimcha ma’lumot olish u-n admin-ga murojaat qiling.\n\nSiz VPN tarmog‘iga (“<xliff:g id="APPLICATION">%2$s</xliff:g>”) ulangansiz. VPN xizmati ta’minotchingiz ham tarmoqdagi faollikni kuzatishi m-n."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil boshqaruvchisi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi har-ni kuzatishi m-n. Qo‘sh. ma’l. olish u-n admin-ga murojaat qiling.\n\nSiz “<xliff:g id="APPLICATION">%3$s</xliff:g>” ilovasiga VPN ulanishini sozlash u-n ruxsat bergansiz. U ham tarmoqdagi faollikni kuzatishi m-n."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Bu qurilma boshqaruvchisi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nProfil boshqaruvchisi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nAdmin-ngiz tarmoqdagi faollik – e-pochta, ilova va xavfsiz veb-saytlardagi har-ni kuzatishi m-n.\n\nQo‘sh. ma’l. olish u-n admin-ga murojaat qiling. Siz VPN tarmog‘iga (“<xliff:g id="APPLICATION">%3$s</xliff:g>”) ulangansiz. VPN xizmati ta’minotchingiz ham tarmoqdagi faollikni kuzatishi m-n."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Qurilma qo‘lda qulfdan chiqarilmaguncha qulflangan holatda qoladi"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Bildirishnomalarni tezroq oling"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ularni qulfdan chiqarishdan oldin ko‘ring"</string>
@@ -395,5 +397,5 @@
<string name="volumeui_prompt_deny" msgid="5720663643411696731">"Rad etish"</string>
<string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ovoz balandligini boshqaradi"</string>
<string name="volumeui_notification_text" msgid="1826889705095768656">"Aslini tiklash uchun bosing."</string>
- <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Siz ish profilidasiz"</string>
+ <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Siz Android for Work profiliga kirgansiz"</string>
</resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index e9e2d6a..4aacd63 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Không có SIM nào."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Dùng làm điểm truy cập Internet qua Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Chế độ trên máy bay."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Thay đổi mạng của nhà cung cấp dịch vụ."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> phần trăm pin."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Cài đặt hệ thống"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Thông báo."</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Giám sát mạng"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Tắt VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Ngắt kết nối VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng và thiết bị của bạn, bao gồm email, ứng dụng và các trang web an toàn.\n\nĐể biết thêm thông tin, hãy liên hệ với quản trị viên của bạn."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Bạn đã cấp cho \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" quyền thiết lập kết nối VPN.\n\nỨng dụng này có thể giám sát hoạt động mạng và thiết bị của bạn, bao gồm email, ứng dụng và các trang web an toàn."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Bạn đang kết nối với VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nNhà cung cấp dịch vụ VPN có thể giám sát hoạt động mạng và thiết bị của bạn bao gồm email, ứng dụng và các trang web an toàn."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng gồm email, ứng dụng và trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên.\n\nNgoài ra, bạn đã cấp cho \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" quyền thiết lập kết nối VPN. Ứng dụng này có thể giám sát hoạt động mạng."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng của bạn bao gồm email, ứng dụng và các trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên của bạn.\n\nNgoài ra, bạn được kết nối với VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Nhà cung cấp dịch vụ VPN cũng có thể giám sát hoạt động mạng."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Hồ sơ này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát thiết bị và hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn.\n\nĐể biết thêm thông tin, hãy liên hệ với quản trị viên của bạn."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHồ sơ của bạn được quản lý bởi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nQuản trị viên có thể giám sát thiết bị và hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn.\n\nĐể biết thêm thông tin, hãy liên hệ với quản trị viên của bạn."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Hồ sơ này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên của bạn.\n\nNgoài ra, bạn đã cấp cho \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" quyền thiết lập kết nối VPN. Ứng dụng này cũng có thể giám sát hoạt động mạng."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Hồ sơ này được quản lý bởi:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên của bạn.\n\nNgoài ra, bạn được kết nối với VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Nhà cung cấp dịch vụ VPN của bạn cũng có thể giám sát hoạt động mạng."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHồ sơ của bạn được quản lý bởi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nQuản trị viên có thể giám sát hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên của bạn.\n\nNgoài ra, bạn đã cấp cho \"<xliff:g id="APPLICATION">%3$s</xliff:g>\" quyền thiết lập kết nối VPN. Ứng dụng này cũng có thể giám sát hoạt động mạng."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Thiết bị này được quản lý bởi:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nHồ sơ của bạn được quản lý bởi:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nQuản trị viên có thể giám sát thiết bị và hoạt động mạng của bạn, bao gồm email, ứng dụng và các trang web an toàn. Để biết thêm thông tin, hãy liên hệ với quản trị viên của bạn.\n\nNgoài ra, bạn được kết nối với VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Nhà cung cấp dịch vụ VPN của bạn cũng có thể giám sát hoạt động mạng."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Thiết bị sẽ vẫn bị khóa cho tới khi bạn mở khóa theo cách thủ công"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Nhận thông báo nhanh hơn"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Xem thông báo trước khi bạn mở khóa"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 9e0f437..11045d9 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"无 SIM 卡。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"蓝牙网络共享。"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"飞行模式。"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"运营商网络正在更改。"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"网络监控"</string>
<string name="disable_vpn" msgid="4435534311510272506">"关闭VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"断开VPN连接"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的设备和网络活动,包括收发电子邮件、使用应用和浏览安全网站。\n\n若要了解详情,请与您的管理员联系。"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"您已授权“<xliff:g id="APPLICATION">%1$s</xliff:g>”设置VPN连接。\n\n此应用可以监控您的设备和网络活动,包括收发电子邮件、使用应用和浏览安全网站。"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"您已连接到VPN(“<xliff:g id="APPLICATION">%1$s</xliff:g>”)。\n\n您的VPN服务提供商可以监控您的设备和网络活动,包括收发电子邮件、使用应用和浏览安全网站。"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已授权“<xliff:g id="APPLICATION">%2$s</xliff:g>”设置VPN连接。此应用也可以监控网络活动。"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已连接到VPN(“<xliff:g id="APPLICATION">%2$s</xliff:g>”)。您的VPN服务提供商也可以监控您的网络活动。"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"此资料由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的设备和网络活动,包括收发电子邮件、使用应用和浏览安全网站。\n\n若要了解详情,请与您的管理员联系。"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的资料由以下单位管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理员可以监控您的设备和网络活动,包括收发电子邮件、使用应用和浏览安全网站。\n\n若要了解详情,请与您的管理员联系。"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"此资料由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已授权“<xliff:g id="APPLICATION">%2$s</xliff:g>”设置VPN连接。此应用也可以监控网络活动。"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"此资料由以下单位管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已连接到VPN(“<xliff:g id="APPLICATION">%2$s</xliff:g>”)。您的VPN服务提供商也可以监控您的网络活动。"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的资料由以下单位管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已授权“<xliff:g id="APPLICATION">%3$s</xliff:g>”设置VPN连接。此应用也可以监控网络活动。"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"此设备由以下单位管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的资料由以下单位管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理员可以监控您的网络活动,包括收发电子邮件、使用应用和浏览安全网站。若要了解详情,请与您的管理员联系。\n\n此外,您已连接到VPN(“<xliff:g id="APPLICATION">%3$s</xliff:g>”)。您的VPN服务提供商也可以监控您的网络活动。"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"在您手动解锁之前,设备会保持锁定状态"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"更快捷地查看通知"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"无需解锁即可查看通知"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 6d95678..8cbc633 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"無 SIM 卡。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"藍牙網絡共享。"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"飛航模式。"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"流動網絡供應商網絡正在變更。"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -344,7 +343,7 @@
<string name="guest_wipe_session_wipe" msgid="5065558566939858884">"重新開始"</string>
<string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"是的,請繼續"</string>
<string name="guest_notification_title" msgid="1585278533840603063">"訪客使用者"</string>
- <string name="guest_notification_text" msgid="7513706222848825467">"移除訪客以刪除應用程式和數據"</string>
+ <string name="guest_notification_text" msgid="7513706222848825467">"移除訪客以刪除應用程式和資料"</string>
<string name="guest_notification_remove_action" msgid="8820670703892101990">"移除訪客"</string>
<string name="user_add_user_title" msgid="4553596395824132638">"新增使用者?"</string>
<string name="user_add_user_message_short" msgid="2161624834066214559">"新增的使用者需要自行設定個人空間。\n\n任何使用者均可為所有其他使用者更新應用程式。"</string>
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"網絡監控"</string>
<string name="disable_vpn" msgid="4435534311510272506">"停用 VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"中斷 VPN 連線"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"這部裝置由下列機構管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n。您的管理員可以監控您的裝置和網絡活動,包括收發電郵、使用應用程式和瀏覽安全網站。\n\n如需更多資料,請與您的管理員聯絡。"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"您已授權「<xliff:g id="APPLICATION">%1$s</xliff:g>」設定 VPN 連線。\n\n這個應用程式可以監控您的裝置和網絡活動,包括收發電郵、使用應用程式和瀏覽安全網站。"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"您已連線至 VPN (「<xliff:g id="APPLICATION">%1$s</xliff:g>」)。\n\n您的 VPN 服務供應商可以監控您的裝置和網絡活動,包括收發電郵、使用應用程式和瀏覽安全網站。"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"這部裝置由下列網域管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您的管理員可以監控您的網絡活動,包括收發電郵、使用應用程式和瀏覽安全網站。如需更多資料,請與您的管理員聯絡。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%2$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網絡活動。"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"這部裝置由下列網域管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您的管理員可以監控您的網絡活動,包括收發電郵、使用應用程式和瀏覽安全網站。如需更多資料,請與您的管理員聯絡。\n\n同時,您的裝置已連線至 VPN (「<xliff:g id="APPLICATION">%2$s</xliff:g>」),因此您的 VPN 服務供應商也能監控您的網絡活動。"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"這個個人檔案的管理機構:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的裝置和網絡活動,包括電郵、應用程式及安全網站。\n\n如需瞭解詳情,請聯絡您的管理員。"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"這部裝置的管理機構:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的個人檔案的管理機構:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的裝置和網絡活動,包括電郵、應用程式及安全網站。\n\n如需瞭解詳情,請聯絡您的管理員。"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"這個個人檔案的管理機構:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的網絡活動,包括電郵、應用程式及安全網站。如需瞭解詳情,請聯絡您的管理員。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%2$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網絡活動。"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"這個個人檔案的管理機構:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的網絡活動,包括電郵、應用程式及安全網站。如需瞭解詳情,請聯絡您的管理員。\n\n同時,由於您的裝置已與 VPN (「<xliff:g id="APPLICATION">%2$s</xliff:g>」) 連線,因此您的 VPN 服務供應商也能監控您的網絡活動。"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"這部裝置的管理機構:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的個人檔案的管理機構:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的網絡活動,包括電郵、應用程式及安全網站。如需瞭解詳情,請聯絡您的管理員。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%3$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網絡活動。"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"這部裝置的管理機構:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的個人檔案的管理機構:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的網絡活動,包括電郵、應用程式及安全網站。如需瞭解詳情,請聯絡您的管理員。\n\n同時,由於您的裝置已與 VPN (「<xliff:g id="APPLICATION">%3$s</xliff:g>」) 連線,因此您的 VPN 服務供應商也能監控您的網絡活動。"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"裝置將保持上鎖,直到您手動解鎖"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"更快取得通知"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"解鎖前顯示"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index d52179f..004c9dd 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"沒有 SIM 卡。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"藍牙網路共用"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"飛行模式。"</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"行動通訊業者網路正在變更。"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
@@ -365,17 +364,20 @@
<string name="monitoring_title" msgid="169206259253048106">"網路監控"</string>
<string name="disable_vpn" msgid="4435534311510272506">"停用 VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"中斷 VPN 連線"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"這個裝置由下列機構管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的裝置和網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。\n\n如需詳細資訊,請與您的管理員聯絡。"</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"您已授權「<xliff:g id="APPLICATION">%1$s</xliff:g>」設定 VPN 連線。\n\n這個應用程式可以監控您的裝置和網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。"</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"您已連線至 VPN (「<xliff:g id="APPLICATION">%1$s</xliff:g>」)。\n\n您的 VPN 服務供應商可以監控您的裝置和網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。"</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"這個裝置由下列網域管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請與您的管理員聯絡。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%2$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網路活動。"</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"這個裝置由下列網域管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請與您的管理員聯絡。\n\n同時,由於您的裝置已連線至 VPN (「<xliff:g id="APPLICATION">%2$s</xliff:g>」),因此您的 VPN 服務供應商也能監控您的網路活動。"</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"這個設定檔由下列機構管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的裝置和網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。\n\n如需詳細資訊,請洽您的管理員。"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"這個裝置由下列機構管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的設定檔由下列機構管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。\n\n如需詳細資訊,請洽您的管理員。"</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"這個設定檔由下列機構管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請洽您的管理員。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%2$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網路活動。"</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"這個設定檔由下列機構管理:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請洽您的管理員。\n\n同時,由於您的裝置已連線至 VPN (「<xliff:g id="APPLICATION">%2$s</xliff:g>」),因此您的 VPN 服務供應商也能監控您的網路活動。"</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"這個裝置由下列機構管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的設定檔由下列機構管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請洽您的管理員。\n\n同時,由於您已授權「<xliff:g id="APPLICATION">%3$s</xliff:g>」設定 VPN 連線,因此這個應用程式也能監控您的網路活動。"</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"這個裝置由下列機構管理:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\n您的設定檔由以下機構管理:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\n您的管理員可以監控您的網路活動,包括收發電子郵件、使用應用程式和瀏覽安全網站。如需詳細資訊,請洽您的管理員。\n\n同時,由於您的裝置已連線至 VPN (「<xliff:g id="APPLICATION">%3$s</xliff:g>」),因此您的 VPN 服務供應商也能監控您的網路活動。"</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"在您手動解鎖前,裝置將保持鎖定狀態"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"更快取得通知"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"解鎖前顯示"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index a566a54..9364ea6 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -146,8 +146,7 @@
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ayikho i-SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Imodemu nge-Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Imodi yendiza."</string>
- <!-- no translation found for accessibility_carrier_network_change_mode (4017301580441304305) -->
- <skip />
+ <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Iguqula inethiwekhi yenkampani yenethiwekhi."</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Iphesenti <xliff:g id="NUMBER">%d</xliff:g> lebhetri"</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Izilungiselelo zesistimu"</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Izaziso"</string>
@@ -363,17 +362,20 @@
<string name="monitoring_title" msgid="169206259253048106">"Ukuqashwa kwenethiwekhi"</string>
<string name="disable_vpn" msgid="4435534311510272506">"Khubaza i-VPN"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"Nqamula i-VPN"</string>
- <string name="monitoring_description_device_owned" msgid="7512371572956715493">"Le divayisi iphethwe i-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmqondisi wakho angangamela idivayisi yakho nomsebenzi wenethiwekhi, kufaka phakathi ama-imeyili, izinhlelo zokusebenza, nnamawebhusayithi aphephile.\n\nNgolwazi olubanzi, xhumana nomqondisi wakho."</string>
- <string name="monitoring_description_vpn" msgid="7288268682714305659">"Unike i-\"<xliff:g id="APPLICATION">%1$s</xliff:g>\" imvume yokusetha uxhumo le-VPN.\n\nLolu hlelo lokusebenza lungangamela idivayisi yakho nomsebenzi wenethiwekhi, kufaka phakathi ama-imeyili, izinhlelo zokusebenza, namawebhusayithi aphephile."</string>
- <string name="monitoring_description_legacy_vpn" msgid="4740349017929725435">"Uxhumekile ku-VPN (\"<xliff:g id="APPLICATION">%1$s</xliff:g>\").\n\nUmhlinzeki wakho wesevisi ye-VPN angangamela idivayisi yakho nomsebenzi wenethiwekhi kufaka phakathi ama-imeyili, izinhlelo zokusebenza, namawebhusayithi aphephile."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="696121105616356493">"Le divayisi iphethwe i-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmqondisi wakho uyakwazi ukwengamela umsebenzi wakho wenethiwekhi kufaka phakathi ama-imeyili, izinhlelo zokusebenza, namawebhusayithi aphephile. Ngolwazi olubanzi, xhumana nomqondisi wakho.\n\nFuthi, unike i-\"<xliff:g id="APPLICATION">%2$s</xliff:g>\" imvume yokusetha uxhumo le-VPN. Lolu hlelo lokusebenza lungangamela futhi umsebenzi wenethiwekhi."</string>
- <string name="monitoring_description_legacy_vpn_device_owned" msgid="649791650224064248">"Le divayisi iphathwe i-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmqondisi wakho uyakwazi ukwengamela umsebenzi wenethiwekhi yakho kufaka phakathi ama-imeyili, izinhlelo zokusebenza, namawebhusayithi aphephile. Ngolwazi olubanzi, xhumana nomqondisi wakho.\n\nFuthi, uxhumekile ku-VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Umhlinzeki wakho wesevisi ye-VPN angangamela futhi umsebenzi wenethiwekhi."</string>
- <string name="monitoring_description_profile_owned" msgid="2370062794285691713">"Le phrofayela iphethwe yi-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmlawuli wakho angaqapha idivayisi yakho nomsebenzi wenethiwekhi, ofaka ama-imeyili, izinhlelo zokusebenza namawebhusayithi avikelekile.\n\nUkuze uthole olunye ulwazi, xhumana nomlawuli wakho."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="8685301493845456293">"Le divayisi iphethwe yi-:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIphrofayela yakho iphethwe yi-:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUmlawuli wakho angaqapha idivayisi yakho kanye nomsebenzi wenethiwekhi, okufaka ama-imeyili, izinhlelo zokusebenza namawebhusayithi avikelekile.\n\nUkuze uthole olunye ulwazi, xhumana nomlawuli wakho."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="847491346263295767">"Le phrofayela iphethwe yi-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmlawuli wakho uyakwazi ukuqapha umsebenzi wakho wenethiwekhi ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi avikelekile. Ukuze uthole olunye ulwazi, xhumana nomlawuli wakho.\n\nFuthi, unikeze i-\"<xliff:g id="APPLICATION">%2$s</xliff:g>\" imvume yokusetha ukuxhumeka kwe-VPN. Lolu hlelo lokusebenza lungaphinda luqaphe umsebenzi wakho."</string>
- <string name="monitoring_description_legacy_vpn_profile_owned" msgid="4095516964132237051">"Le phrofayela iphethwe yi-:\n<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nUmlawuli wakho uyakwazi ukuqapha umsebenzi wenethiwekhi yakho ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi avikelekile. Ukuze uthole ulwazi olungeziwe, xhumana nomlawuli wakho.\n\nFuthi, uxhumeke ku-VPN (\"<xliff:g id="APPLICATION">%2$s</xliff:g>\"). Umhlinzeki wakho wesevisi ye-VPN angaphinda aqaphele nomsebenzi wenethiwekhi."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="9193588924767232909">"Le divayisi iphethwe yi-:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIphrofayela yakho iphethwe yi-:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUmlawuli wakho uyakwazi ukuqapha umsebenzi wakho wenethiwekhi ofaka ama-imeyili, izinhlelo zokusebenza namawebhusayithi avikelekile. Ukuze uthole olunye ulwazi, xhumana nomlawuli wakho.\n\nFuthi unikeze i-\"<xliff:g id="APPLICATION">%3$s</xliff:g>\" imvume yokusetha ukuxhumeka kwe-VPN. Lolu hlelo lokusebenza lungaqapha nomsebenzi wenethiwekhi."</string>
- <string name="monitoring_description_legacy_vpn_device_and_profile_owned" msgid="6935475023447698473">"Le divayisi iphethwe yi-:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\nIphrofayela yakho iphethwe yi-:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n\nUmlawuli wakho uyakwazi ukuqapha umsebenzi wakho wenethiwekhi ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi avikelekile. Ukuze uthole olunye ulwazi, xhumana nomlawuli wakho.\n\nFuthi, uxhumeke ku-VPN (\"<xliff:g id="APPLICATION">%3$s</xliff:g>\"). Umhlinzeki wakho wesevisi ye-VPN angaqapha nomsebenzi wenethiwekhi."</string>
+ <!-- no translation found for monitoring_description_device_owned (5780988291898461883) -->
+ <skip />
+ <!-- no translation found for monitoring_description_profile_owned (8110044290898637925) -->
+ <skip />
+ <!-- no translation found for monitoring_description_device_and_profile_owned (1664428184778531249) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn (912328761766161919) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_owned (3090670777499161246) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_profile_owned (2224494839524715272) -->
+ <skip />
+ <!-- no translation found for monitoring_description_vpn_device_and_profile_owned (2198546817407897093) -->
+ <skip />
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Idivayisi izohlala ikhiyekile uze uyivule ngokwenza"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Thola izaziso ngokushesha"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ibone ngaphambi kokuthi uyivule"</string>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 7e50454..6e59029 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -338,6 +338,9 @@
<!-- The minimum background radius when swiping to a side for the camera / phone affordances. -->
<dimen name="keyguard_affordance_min_background_radius">30dp</dimen>
+ <!-- The size of the touch targets on the keyguard for the affordances. -->
+ <dimen name="keyguard_affordance_touch_target_size">96dp</dimen>
+
<!-- The grow amount for the camera and phone circles when hinting -->
<dimen name="hint_grow_amount_sideways">60dp</dimen>
@@ -567,4 +570,7 @@
<!-- Padding to be used on the bottom of the fingerprint icon on Keyguard so it better aligns
with the other icons. -->
<dimen name="fingerprint_icon_additional_padding">12dp</dimen>
+
+ <!-- Minimum margin of the notification panel on the side, when being positioned dynamically -->
+ <dimen name="notification_panel_min_side_margin">48dp</dimen>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 105bf0f..715f4e4 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -25,6 +25,7 @@
import android.app.Notification.BigPictureStyle;
import android.app.NotificationManager;
import android.app.PendingIntent;
+import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
@@ -242,7 +243,12 @@
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
- Intent chooserIntent = Intent.createChooser(sharingIntent, null);
+ final PendingIntent callback = PendingIntent.getBroadcast(context, 0,
+ new Intent(context, GlobalScreenshot.TargetChosenReceiver.class)
+ .putExtra(GlobalScreenshot.CANCEL_ID, mNotificationId),
+ PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_ONE_SHOT);
+ Intent chooserIntent = Intent.createChooser(sharingIntent, null,
+ callback.getIntentSender());
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -341,6 +347,8 @@
class GlobalScreenshot {
private static final String TAG = "GlobalScreenshot";
+ static final String CANCEL_ID = "android:cancel_id";
+
private static final int SCREENSHOT_FLASH_TO_PEAK_DURATION = 130;
private static final int SCREENSHOT_DROP_IN_DURATION = 430;
private static final int SCREENSHOT_DROP_OUT_DELAY = 500;
@@ -732,4 +740,22 @@
.build();
nManager.notify(R.id.notification_screenshot, n);
}
+
+ /**
+ * Removes the notification for a screenshot after a share target is chosen.
+ */
+ public static class TargetChosenReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (!intent.hasExtra(CANCEL_ID)) {
+ return;
+ }
+
+ final NotificationManager nm =
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+
+ final int id = intent.getIntExtra(CANCEL_ID, 0);
+ nm.cancel(id);
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
index 583184f..9ccff72 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
@@ -204,7 +204,7 @@
private void updateCircleColor() {
float fraction = 0.5f + 0.5f * Math.max(0.0f, Math.min(1.0f,
(mCircleRadius - mMinBackgroundRadius) / (0.5f * mMinBackgroundRadius)));
- if (mPreviewView != null) {
+ if (mPreviewView != null && mPreviewView.getVisibility() == VISIBLE) {
float finishingFraction = 1 - Math.max(0, mCircleRadius - mCircleStartRadius)
/ (mMaxCircleSize - mCircleStartRadius);
fraction *= finishingFraction;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index 964d75f..1c53655 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -95,7 +95,7 @@
if (mContractedChild != null) {
int size = Math.min(maxSize, mSmallHeight);
mContractedChild.measure(widthMeasureSpec,
- MeasureSpec.makeMeasureSpec(size, MeasureSpec.AT_MOST));
+ MeasureSpec.makeMeasureSpec(size, MeasureSpec.EXACTLY));
maxChildHeight = Math.max(maxChildHeight, mContractedChild.getMeasuredHeight());
}
if (mExpandedChild != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java
index 9d892f6..0a6d472 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java
@@ -39,7 +39,7 @@
public static final float SWIPE_RESTING_ALPHA_AMOUNT = 0.5f;
public static final long HINT_PHASE1_DURATION = 200;
private static final long HINT_PHASE2_DURATION = 350;
- private static final float BACKGROUND_RADIUS_SCALE_FACTOR = 0.15f;
+ private static final float BACKGROUND_RADIUS_SCALE_FACTOR = 0.25f;
private static final int HINT_CIRCLE_OPEN_DURATION = 500;
private final Context mContext;
@@ -63,13 +63,30 @@
private Interpolator mDisappearInterpolator;
private Animator mSwipeAnimator;
private int mMinBackgroundRadius;
- private boolean mMotionPerformedByUser;
private boolean mMotionCancelled;
+ private int mTouchTargetSize;
+ private View mTargetedView;
+ private boolean mTouchSlopExeeded;
private AnimatorListenerAdapter mFlingEndListener = new AnimatorListenerAdapter() {
+ public boolean mCancelled;
+
@Override
public void onAnimationEnd(Animator animation) {
mSwipeAnimator = null;
mSwipingInProgress = false;
+ if (!mCancelled) {
+ mTargetedView = null;
+ }
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ mCancelled = true;
+ }
+
+ @Override
+ public void onAnimationStart(Animator animation) {
+ mCancelled = false;
}
};
private Runnable mAnimationEndRunnable = new Runnable() {
@@ -97,6 +114,8 @@
R.dimen.keyguard_min_swipe_amount);
mMinBackgroundRadius = mContext.getResources().getDimensionPixelSize(
R.dimen.keyguard_affordance_min_background_radius);
+ mTouchTargetSize = mContext.getResources().getDimensionPixelSize(
+ R.dimen.keyguard_affordance_touch_target_size);
mHintGrowAmount =
mContext.getResources().getDimensionPixelSize(R.dimen.hint_grow_amount_sideways);
mFlingAnimationUtils = new FlingAnimationUtils(mContext, 0.4f);
@@ -118,9 +137,7 @@
public boolean onTouchEvent(MotionEvent event) {
int action = event.getActionMasked();
- if (mMotionCancelled && action != MotionEvent.ACTION_DOWN
- && action != MotionEvent.ACTION_UP
- && action != MotionEvent.ACTION_CANCEL) {
+ if (mMotionCancelled && action != MotionEvent.ACTION_DOWN) {
return false;
}
final float y = event.getY();
@@ -129,53 +146,86 @@
boolean isUp = false;
switch (action) {
case MotionEvent.ACTION_DOWN:
- if (mSwipingInProgress) {
- cancelAnimation();
+ View targetView = getIconAtPosition(x, y);
+ if (targetView == null || (mTargetedView != null && mTargetedView != targetView)) {
+ mMotionCancelled = true;
+ return false;
}
- mInitialTouchY = y;
+ if (mTargetedView != null) {
+ cancelAnimation();
+ } else {
+ mTouchSlopExeeded = false;
+ }
+ mCallback.onSwipingStarted(targetView == mLeftIcon);
+ mSwipingInProgress = true;
+ mTargetedView = targetView;
mInitialTouchX = x;
+ mInitialTouchY = y;
mTranslationOnDown = mTranslation;
initVelocityTracker();
trackMovement(event);
- mMotionPerformedByUser = false;
mMotionCancelled = false;
break;
case MotionEvent.ACTION_POINTER_DOWN:
mMotionCancelled = true;
- endMotion(event, true /* forceSnapBack */);
+ endMotion(true /* forceSnapBack */, x, y);
break;
case MotionEvent.ACTION_MOVE:
- final float w = x - mInitialTouchX;
trackMovement(event);
- if (((leftSwipePossible() && w > mTouchSlop)
- || (rightSwipePossible() && w < -mTouchSlop))
- && Math.abs(w) > Math.abs(y - mInitialTouchY)
- && !mSwipingInProgress) {
- cancelAnimation();
- mInitialTouchY = y;
- mInitialTouchX = x;
- mTranslationOnDown = mTranslation;
- mSwipingInProgress = true;
- mCallback.onSwipingStarted(w < -mTouchSlop);
+ float xDist = x - mInitialTouchX;
+ float yDist = y - mInitialTouchY;
+ float distance = (float) Math.hypot(xDist, yDist);
+ if (!mTouchSlopExeeded && distance > mTouchSlop) {
+ mTouchSlopExeeded = true;
}
if (mSwipingInProgress) {
- setTranslation(mTranslationOnDown + x - mInitialTouchX, false, false);
+ if (mTargetedView == mRightIcon) {
+ distance = mTranslationOnDown - distance;
+ distance = Math.min(0, distance);
+ } else {
+ distance = mTranslationOnDown + distance;
+ distance = Math.max(0, distance);
+ }
+ setTranslation(distance, false /* isReset */, false /* animateReset */);
}
break;
case MotionEvent.ACTION_UP:
isUp = true;
case MotionEvent.ACTION_CANCEL:
+ boolean hintOnTheRight = mTargetedView == mRightIcon;
trackMovement(event);
- endMotion(event, !isUp);
+ endMotion(!isUp, x, y);
+ if (!mTouchSlopExeeded && isUp) {
+ mCallback.onIconClicked(hintOnTheRight);
+ }
break;
}
return true;
}
- private void endMotion(MotionEvent event, boolean forceSnapBack) {
+ private View getIconAtPosition(float x, float y) {
+ if (leftSwipePossible() && isOnIcon(mLeftIcon, x, y)) {
+ return mLeftIcon;
+ }
+ if (rightSwipePossible() && isOnIcon(mRightIcon, x, y)) {
+ return mRightIcon;
+ }
+ return null;
+ }
+
+ private boolean isOnIcon(View icon, float x, float y) {
+ float iconX = icon.getX() + icon.getWidth() / 2.0f;
+ float iconY = icon.getY() + icon.getHeight() / 2.0f;
+ double distance = Math.hypot(x - iconX, y - iconY);
+ return distance <= mTouchTargetSize / 2;
+ }
+
+ private void endMotion(boolean forceSnapBack, float lastX, float lastY) {
if (mSwipingInProgress) {
- flingWithCurrentVelocity(forceSnapBack);
+ flingWithCurrentVelocity(forceSnapBack, lastX, lastY);
+ } else {
+ mTargetedView = null;
}
if (mVelocityTracker != null) {
mVelocityTracker.recycle();
@@ -195,8 +245,9 @@
return false;
}
- public void startHintAnimation(boolean right, Runnable onFinishedListener) {
-
+ public void startHintAnimation(boolean right,
+ Runnable onFinishedListener) {
+ cancelAnimation();
startHintAnimationPhase1(right, onFinishedListener);
}
@@ -216,6 +267,7 @@
public void onAnimationEnd(Animator animation) {
if (mCancelled) {
mSwipeAnimator = null;
+ mTargetedView = null;
onFinishedListener.run();
targetView.showArrow(false);
} else {
@@ -227,6 +279,7 @@
animator.setDuration(HINT_PHASE1_DURATION);
animator.start();
mSwipeAnimator = animator;
+ mTargetedView = targetView;
}
/**
@@ -239,6 +292,7 @@
@Override
public void onAnimationEnd(Animator animation) {
mSwipeAnimator = null;
+ mTargetedView = null;
targetView.showArrow(false);
onFinishedListener.run();
}
@@ -265,7 +319,7 @@
targetView.setCircleRadiusWithoutAnimation(newRadius);
float translation = getTranslationFromRadius(newRadius);
mTranslation = right ? -translation : translation;
- updateIconsFromRadius(targetView, newRadius);
+ updateIconsFromTranslation(targetView);
}
});
return animator;
@@ -277,8 +331,8 @@
}
}
- private void flingWithCurrentVelocity(boolean forceSnapBack) {
- float vel = getCurrentVelocity();
+ private void flingWithCurrentVelocity(boolean forceSnapBack, float lastX, float lastY) {
+ float vel = getCurrentVelocity(lastX, lastY);
// We snap back if the current translation is not far enough
boolean snapBack = isBelowFalsingThreshold();
@@ -300,7 +354,9 @@
}
private void fling(float vel, final boolean snapBack) {
- float target = mTranslation < 0 ? -mCallback.getPageWidth() : mCallback.getPageWidth();
+ float target = mTranslation < 0
+ ? -mCallback.getMaxTranslationDistance()
+ : mCallback.getMaxTranslationDistance();
target = snapBack ? 0 : target;
ValueAnimator animator = ValueAnimator.ofFloat(mTranslation, target);
@@ -334,10 +390,6 @@
translation = rightSwipePossible() ? translation : Math.max(0, translation);
translation = leftSwipePossible() ? translation : Math.min(0, translation);
float absTranslation = Math.abs(translation);
- if (absTranslation > Math.abs(mTranslationOnDown) + getMinTranslationAmount() ||
- mMotionPerformedByUser) {
- mMotionPerformedByUser = true;
- }
if (translation != mTranslation || isReset) {
KeyguardAffordanceView targetView = translation > 0 ? mLeftIcon : mRightIcon;
KeyguardAffordanceView otherView = translation > 0 ? mRightIcon : mLeftIcon;
@@ -345,7 +397,7 @@
// We interpolate the alpha of the other icons to 0
float fadeOutAlpha = 1.0f - alpha;
- fadeOutAlpha = Math.min(1.0f, Math.max(0.0f, fadeOutAlpha));
+ fadeOutAlpha = Math.max(fadeOutAlpha, 0.0f);
boolean animateIcons = isReset && animateReset;
float radius = getRadiusFromTranslation(absTranslation);
@@ -366,8 +418,9 @@
}
}
- private void updateIconsFromRadius(KeyguardAffordanceView targetView, float newRadius) {
- float alpha = newRadius / mMinBackgroundRadius;
+ private void updateIconsFromTranslation(KeyguardAffordanceView targetView) {
+ float absTranslation = Math.abs(mTranslation);
+ float alpha = absTranslation / getMinTranslationAmount();
// We interpolate the alpha of the other icons to 0
float fadeOutAlpha = 1.0f - alpha;
@@ -381,15 +434,20 @@
}
private float getTranslationFromRadius(float circleSize) {
- float translation = (circleSize - mMinBackgroundRadius) / BACKGROUND_RADIUS_SCALE_FACTOR;
- return Math.max(0, translation);
+ float translation = (circleSize - mMinBackgroundRadius)
+ / BACKGROUND_RADIUS_SCALE_FACTOR;
+ return translation > 0.0f ? translation + mTouchSlop : 0.0f;
}
private float getRadiusFromTranslation(float translation) {
- return translation * BACKGROUND_RADIUS_SCALE_FACTOR + mMinBackgroundRadius;
+ if (translation <= mTouchSlop) {
+ return 0.0f;
+ }
+ return (translation - mTouchSlop) * BACKGROUND_RADIUS_SCALE_FACTOR + mMinBackgroundRadius;
}
public void animateHideLeftRightIcon() {
+ cancelAnimation();
updateIcon(mRightIcon, 0f, 0f, true, false);
updateIcon(mLeftIcon, 0f, 0f, true, false);
}
@@ -429,12 +487,22 @@
mVelocityTracker = VelocityTracker.obtain();
}
- private float getCurrentVelocity() {
+ private float getCurrentVelocity(float lastX, float lastY) {
if (mVelocityTracker == null) {
return 0;
}
mVelocityTracker.computeCurrentVelocity(1000);
- return mVelocityTracker.getXVelocity();
+ float aX = mVelocityTracker.getXVelocity();
+ float aY = mVelocityTracker.getYVelocity();
+ float bX = lastX - mInitialTouchX;
+ float bY = lastY - mInitialTouchY;
+ float bLen = (float) Math.hypot(bX, bY);
+ // Project the velocity onto the distance vector: a * b / |b|
+ float projectedVelocity = (aX * bX + aY * bY) / bLen;
+ if (mTargetedView == mRightIcon) {
+ projectedVelocity = -projectedVelocity;
+ }
+ return projectedVelocity;
}
public void onConfigurationChanged() {
@@ -472,12 +540,14 @@
*/
void onAnimationToSideEnded();
- float getPageWidth();
+ float getMaxTranslationDistance();
void onSwipingStarted(boolean isRightwardMotion);
void onSwipingAborted();
+ void onIconClicked(boolean rightIcon);
+
KeyguardAffordanceView getLeftIcon();
KeyguardAffordanceView getCenterIcon();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index 094cd1f..e5ef6ff 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -83,8 +83,6 @@
private static final int DOZE_ANIMATION_STAGGER_DELAY = 48;
private static final int DOZE_ANIMATION_ELEMENT_DURATION = 250;
private static final long TRANSIENT_FP_ERROR_TIMEOUT = 1300;
- private static final long[] FP_ERROR_VIBRATE_PATTERN = new long[] {0, 30, 100, 30};
- private static final long[] FP_SUCCESS_VIBRATE_PATTERN = new long[] {0, 30};
private KeyguardAffordanceView mCameraImageView;
private KeyguardAffordanceView mPhoneImageView;
@@ -551,14 +549,6 @@
.setDuration(DOZE_ANIMATION_ELEMENT_DURATION);
}
- private void vibrateFingerprintError() {
- mContext.getSystemService(Vibrator.class).vibrate(FP_ERROR_VIBRATE_PATTERN, -1);
- }
-
- private void vibrateFingerprintSuccess() {
- mContext.getSystemService(Vibrator.class).vibrate(FP_SUCCESS_VIBRATE_PATTERN, -1);
- }
-
private final BroadcastReceiver mDevicePolicyReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
post(new Runnable() {
@@ -603,7 +593,6 @@
@Override
public void onFingerprintAuthenticated(int userId) {
- vibrateFingerprintSuccess();
}
@Override
@@ -613,7 +602,6 @@
@Override
public void onFingerprintHelp(int msgId, String helpString) {
- vibrateFingerprintError();
mTransientFpError = true;
mIndicationController.showTransientIndication(helpString,
getResources().getColor(R.color.system_warning_color, null));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 96e95439..7d61099 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -187,6 +187,9 @@
private boolean mExpansionIsFromHeadsUp;
private int mBottomBarHeight;
private boolean mExpandingFromHeadsUp;
+ private int mPositionMinSideMargin;
+ private int mLastOrientation = -1;
+
private Runnable mHeadsUpExistenceChangedRunnable = new Runnable() {
@Override
public void run() {
@@ -236,6 +239,7 @@
mAfforanceHelper = new KeyguardAffordanceHelper(this, getContext());
mSecureCameraLaunchManager =
new SecureCameraLaunchManager(getContext(), mKeyguardBottomArea);
+ mLastOrientation = getResources().getConfiguration().orientation;
// recompute internal state when qspanel height changes
mQsContainer.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@@ -268,6 +272,8 @@
getResources().getDimensionPixelSize(R.dimen.notification_scrim_wait_distance);
mQsFalsingThreshold = getResources().getDimensionPixelSize(
R.dimen.qs_falsing_threshold);
+ mPositionMinSideMargin = getResources().getDimensionPixelSize(
+ R.dimen.notification_panel_min_side_margin);
}
public void updateResources() {
@@ -692,6 +698,9 @@
if (!mHeadsUpTouchHelper.isTrackingHeadsUp() && handleQSTouch(event)) {
return true;
}
+ if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyCollapsed()) {
+ updateVerticalPanelPosition(event.getX());
+ }
super.onTouchEvent(event);
return true;
}
@@ -740,7 +749,7 @@
}
private boolean isInQsArea(float x, float y) {
- return (x >= mScrollView.getLeft() && x <= mScrollView.getRight()) &&
+ return (x >= mScrollView.getX() && x <= mScrollView.getX() + mScrollView.getWidth()) &&
(y <= mNotificationStackScroller.getBottomMostNotificationBottom()
|| y <= mQsContainer.getY() + mQsContainer.getHeight());
}
@@ -939,7 +948,7 @@
mKeyguardStatusBar.setAlpha(1f);
mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE);
}
-
+ resetVerticalPanelPosition();
updateQsState();
}
@@ -1376,7 +1385,7 @@
return false;
}
View header = mKeyguardShowing ? mKeyguardStatusBar : mHeader;
- boolean onHeader = x >= header.getLeft() && x <= header.getRight()
+ boolean onHeader = x >= header.getX() && x <= header.getX() + header.getWidth()
&& y >= header.getTop() && y <= header.getBottom();
if (mQsExpanded) {
return onHeader || (mScrollView.isScrolledToBottom() && yDiff < 0) && isInQsArea(x, y);
@@ -1771,6 +1780,10 @@
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mAfforanceHelper.onConfigurationChanged();
+ if (newConfig.orientation != mLastOrientation) {
+ resetVerticalPanelPosition();
+ }
+ mLastOrientation = newConfig.orientation;
}
@Override
@@ -1836,29 +1849,6 @@
}
@Override
- protected void onEdgeClicked(boolean right) {
- if ((right && getRightIcon().getVisibility() != View.VISIBLE)
- || (!right && getLeftIcon().getVisibility() != View.VISIBLE)
- || isDozing()) {
- return;
- }
- mHintAnimationRunning = true;
- mAfforanceHelper.startHintAnimation(right, new Runnable() {
- @Override
- public void run() {
- mHintAnimationRunning = false;
- mStatusBar.onHintFinished();
- }
- });
- boolean start = getLayoutDirection() == LAYOUT_DIRECTION_RTL ? right : !right;
- if (start) {
- mStatusBar.onPhoneHintStarted();
- } else {
- mStatusBar.onCameraHintStarted();
- }
- }
-
- @Override
protected void startUnlockHintAnimation() {
super.startUnlockHintAnimation();
startHighlightIconAnimation(getCenterIcon());
@@ -1880,8 +1870,8 @@
}
@Override
- public float getPageWidth() {
- return getWidth();
+ public float getMaxTranslationDistance() {
+ return (float) Math.hypot(getWidth(), getHeight());
}
@Override
@@ -1903,6 +1893,27 @@
}
@Override
+ public void onIconClicked(boolean rightIcon) {
+ if (mHintAnimationRunning) {
+ return;
+ }
+ mHintAnimationRunning = true;
+ mAfforanceHelper.startHintAnimation(rightIcon, new Runnable() {
+ @Override
+ public void run() {
+ mHintAnimationRunning = false;
+ mStatusBar.onHintFinished();
+ }
+ });
+ rightIcon = getLayoutDirection() == LAYOUT_DIRECTION_RTL ? !rightIcon : rightIcon;
+ if (rightIcon) {
+ mStatusBar.onCameraHintStarted();
+ } else {
+ mStatusBar.onPhoneHintStarted();
+ }
+ }
+
+ @Override
public KeyguardAffordanceView getLeftIcon() {
return getLayoutDirection() == LAYOUT_DIRECTION_RTL
? mKeyguardBottomArea.getCameraView()
@@ -2187,4 +2198,42 @@
mExpandingFromHeadsUp = true;
}
}
+
+ @Override
+ protected void onClosingFinished() {
+ super.onClosingFinished();
+ resetVerticalPanelPosition();
+ }
+
+ /**
+ * Updates the vertical position of the panel so it is positioned closer to the touch
+ * responsible for opening the panel.
+ *
+ * @param x the x-coordinate the touch event
+ */
+ private void updateVerticalPanelPosition(float x) {
+ if (mNotificationStackScroller.getWidth() * 1.75f > getWidth()) {
+ resetVerticalPanelPosition();
+ return;
+ }
+ float leftMost = mPositionMinSideMargin + mNotificationStackScroller.getWidth() / 2;
+ float rightMost = getWidth() - mPositionMinSideMargin
+ - mNotificationStackScroller.getWidth() / 2;
+ if (Math.abs(x - getWidth() / 2) < mNotificationStackScroller.getWidth() / 4) {
+ x = getWidth() / 2;
+ }
+ x = Math.min(rightMost, Math.max(leftMost, x));
+ setVerticalPanelTranslation(x -
+ (mNotificationStackScroller.getLeft() + mNotificationStackScroller.getWidth()/2));
+ }
+
+ private void resetVerticalPanelPosition() {
+ setVerticalPanelTranslation(0f);
+ }
+
+ private void setVerticalPanelTranslation(float translation) {
+ mNotificationStackScroller.setTranslationX(translation);
+ mScrollView.setTranslationX(translation);
+ mHeader.setTranslationX(translation);
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
index 3a30429..b32cd9c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
@@ -972,17 +972,7 @@
if (mHintAnimationRunning) {
return true;
}
- if (x < mEdgeTapAreaWidth
- && mStatusBar.getBarState() == StatusBarState.KEYGUARD) {
- onEdgeClicked(false /* right */);
- return true;
- } else if (x > getWidth() - mEdgeTapAreaWidth
- && mStatusBar.getBarState() == StatusBarState.KEYGUARD) {
- onEdgeClicked(true /* right */);
- return true;
- } else {
- return onMiddleClicked();
- }
+ return onMiddleClicked();
}
protected final Runnable mPostCollapseRunnable = new Runnable() {
@@ -994,8 +984,6 @@
protected abstract boolean onMiddleClicked();
- protected abstract void onEdgeClicked(boolean right);
-
protected abstract boolean isDozing();
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
diff --git a/packages/VpnDialogs/res/values-gu-rIN/strings.xml b/packages/VpnDialogs/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..a0fb98a
--- /dev/null
+++ b/packages/VpnDialogs/res/values-gu-rIN/strings.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="prompt" msgid="3183836924226407828">"કનેક્શન વિનંતી"</string>
+ <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> VPN કનેક્શન સેટ કરવા માગે છે જે તેને નેટવર્ક ટ્રાફિક મૉનિટર કરવાની મંજૂરી આપે છે. જો તમને સ્રોત પર વિશ્વાસ હોય તો જ સ્વીકારો. <br /> <br /> <img src=vpn_icon /> તમારી સ્ક્રીનની ટોચ પર ત્યારે દેખાય છે જ્યારે VPN સક્રિય હોય છે."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN કનેક્ટ કરેલું છે"</string>
+ <string name="configure" msgid="4905518375574791375">"ગોઠવો"</string>
+ <string name="disconnect" msgid="971412338304200056">"ડિસ્કનેક્ટ કરો"</string>
+ <string name="session" msgid="6470628549473641030">"સત્ર:"</string>
+ <string name="duration" msgid="3584782459928719435">"અવધિ:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"મોકલ્યું:"</string>
+ <string name="data_received" msgid="4062776929376067820">"પ્રાપ્ત કર્યુ:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> બાઇટ્સ / <xliff:g id="NUMBER_1">%2$s</xliff:g> પેકેટ્સ"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-pa-rIN/strings.xml b/packages/VpnDialogs/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..9e84007
--- /dev/null
+++ b/packages/VpnDialogs/res/values-pa-rIN/strings.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="prompt" msgid="3183836924226407828">"ਕਨੈਕਸ਼ਨ ਬੇਨਤੀ"</string>
+ <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> ਇੱਕ VPN ਕਨੈਕਸ਼ਨ ਸੈਟ ਅਪ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਨੈਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦਾ ਨਿਰੀਖਣ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਕੇਵਲ ਤਾਂ ਹੀ ਸਵੀਕਾਰ ਕਰੋ ਜੇਕਰ ਤੁਸੀਂ ਸ੍ਰੋਤ ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ। <br /> <br /> <img src=vpn_icon /> ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਟੌਪ ਤੇ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ ਜਦੋਂ VPN ਸਕਿਰਿਆ ਹੁੰਦਾ ਹੈ।"</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
+ <string name="configure" msgid="4905518375574791375">"ਕੌਂਫਿਗਰ ਕਰੋ"</string>
+ <string name="disconnect" msgid="971412338304200056">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="session" msgid="6470628549473641030">"ਸੈਸ਼ਨ:"</string>
+ <string name="duration" msgid="3584782459928719435">"ਮਿਆਦ:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"ਭੇਜਿਆ:"</string>
+ <string name="data_received" msgid="4062776929376067820">"ਪ੍ਰਾਪਤ ਕੀਤਾ:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> ਬਾਈਟਸ / <xliff:g id="NUMBER_1">%2$s</xliff:g> ਪੈਕੇਟਸ"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-sq-rAL/strings.xml b/packages/VpnDialogs/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..8dc8bfb
--- /dev/null
+++ b/packages/VpnDialogs/res/values-sq-rAL/strings.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 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="prompt" msgid="3183836924226407828">"Kërkesë për lidhje"</string>
+ <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> kërkon të vendosë një lidhje VPN-je që e lejon të monitorojë trafikun e rrjetit. Prano vetëm nëse i beson burimit. <br /> <br /> <img src=vpn_icon /> shfaqet në krye të ekranit kur VPN-ja është aktive."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN-ja është e lidhur"</string>
+ <string name="configure" msgid="4905518375574791375">"Konfiguro"</string>
+ <string name="disconnect" msgid="971412338304200056">"Shkëputu"</string>
+ <string name="session" msgid="6470628549473641030">"Sesioni:"</string>
+ <string name="duration" msgid="3584782459928719435">"Kohëzgjatja:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"Dërguar:"</string>
+ <string name="data_received" msgid="4062776929376067820">"Marrë:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> bajte / <xliff:g id="NUMBER_1">%2$s</xliff:g> paketa"</string>
+</resources>
diff --git a/rs/java/android/renderscript/ScriptGroup.java b/rs/java/android/renderscript/ScriptGroup.java
index 51c838f..be8b0fd 100644
--- a/rs/java/android/renderscript/ScriptGroup.java
+++ b/rs/java/android/renderscript/ScriptGroup.java
@@ -16,32 +16,30 @@
package android.renderscript;
+import android.util.Log;
+import android.util.Pair;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
- * ScriptGroup creates a group of kernels that are executed
- * together with one execution call as if they were a single kernel.
- * The kernels may be connected internally or to an external allocation.
- * The intermediate results for internal connections are not observable
- * after the execution of the script.
+ * A group of kernels that are executed
+ * together with one execution call as if they were a single kernel
* <p>
- * External connections are grouped into inputs and outputs.
- * All outputs are produced by a script kernel and placed into a
- * user-supplied allocation. Inputs provide the input of a kernel.
- * Inputs bound to script globals are set directly upon the script.
+ * In addition to kernels, a script group may contain invocable functions as well.
+ * A script group may take inputs and generate outputs, which are consumed and
+ * produced by its member kernels.
+ * Inside a script group, outputs from one kernel can be passed to another kernel as inputs.
+ * The API disallows cyclic dependencies among kernels in a script group,
+ * effectively making it a directed acyclic graph (DAG) of kernels.
* <p>
- * A ScriptGroup must contain at least one kernel. A ScriptGroup
- * must contain only a single directed acyclic graph (DAG) of
- * script kernels and connections. Attempting to create a
- * ScriptGroup with multiple DAGs or attempting to create
- * a cycle within a ScriptGroup will throw an exception.
- * <p>
- * Currently, all kernels in a ScriptGroup must be from separate
- * Script objects. Attempting to use multiple kernels from the same
- * Script object will result in an {@link android.renderscript.RSInvalidStateException}.
- *
+ * Grouping kernels together allows for more efficient execution. For example,
+ * runtime and compiler optimization can be applied to reduce computation and
+ * communication overhead, and to make better use of the CPU and the GPU.
**/
public final class ScriptGroup extends BaseObj {
+ private static final String TAG = "ScriptGroup";
IO mOutputs[];
IO mInputs[];
@@ -88,15 +86,364 @@
}
+ /**
+ * An opaque class for closures
+ * <p>
+ * A closure represents a function call to a kernel or invocable function,
+ * combined with arguments and values for global variables. A closure is
+ * created using the {@link android.renderscript.ScriptGroup.Builder2#addKernel} or
+ * {@link android.renderscript.ScriptGroup.Builder2#addInvoke}
+ * method.
+ */
+
+ public static final class Closure extends BaseObj {
+ private Object[] mArgs;
+ private Allocation mReturnValue;
+ private Map<Script.FieldID, Object> mBindings;
+
+ private Future mReturnFuture;
+ private Map<Script.FieldID, Future> mGlobalFuture;
+
+ private FieldPacker mFP;
+
+ private static final String TAG = "Closure";
+
+ Closure(long id, RenderScript rs) {
+ super(id, rs);
+ }
+
+ Closure(RenderScript rs, Script.KernelID kernelID, Type returnType,
+ Object[] args, Map<Script.FieldID, Object> globals) {
+ super(0, rs);
+
+ mArgs = args;
+ mReturnValue = Allocation.createTyped(rs, returnType);
+ mBindings = globals;
+ mGlobalFuture = new HashMap<Script.FieldID, Future>();
+
+ int numValues = args.length + globals.size();
+
+ long[] fieldIDs = new long[numValues];
+ long[] values = new long[numValues];
+ int[] sizes = new int[numValues];
+ long[] depClosures = new long[numValues];
+ long[] depFieldIDs = new long[numValues];
+
+ int i;
+ for (i = 0; i < args.length; i++) {
+ Object obj = args[i];
+ fieldIDs[i] = 0;
+ if (obj instanceof Input) {
+ Input unbound = (Input)obj;
+ unbound.addReference(this, i);
+ } else {
+ retrieveValueAndDependenceInfo(rs, i, args[i], values, sizes,
+ depClosures, depFieldIDs);
+ }
+ }
+
+ for (Map.Entry<Script.FieldID, Object> entry : globals.entrySet()) {
+ Object obj = entry.getValue();
+ Script.FieldID fieldID = entry.getKey();
+ fieldIDs[i] = fieldID.getID(rs);
+ if (obj instanceof Input) {
+ Input unbound = (Input)obj;
+ unbound.addReference(this, fieldID);
+ } else {
+ retrieveValueAndDependenceInfo(rs, i, obj, values,
+ sizes, depClosures, depFieldIDs);
+ }
+ i++;
+ }
+
+ long id = rs.nClosureCreate(kernelID.getID(rs), mReturnValue.getID(rs),
+ fieldIDs, values, sizes, depClosures, depFieldIDs);
+
+ setID(id);
+ }
+
+ Closure(RenderScript rs, Script.InvokeID invokeID,
+ Object[] args, Map<Script.FieldID, Object> globals) {
+ super(0, rs);
+ mFP = FieldPacker.createFromArray(args);
+
+ mArgs = args;
+ mBindings = globals;
+ mGlobalFuture = new HashMap<Script.FieldID, Future>();
+
+ int numValues = globals.size();
+
+ long[] fieldIDs = new long[numValues];
+ long[] values = new long[numValues];
+ int[] sizes = new int[numValues];
+ long[] depClosures = new long[numValues];
+ long[] depFieldIDs = new long[numValues];
+
+ int i = 0;
+ for (Map.Entry<Script.FieldID, Object> entry : globals.entrySet()) {
+ Object obj = entry.getValue();
+ Script.FieldID fieldID = entry.getKey();
+ fieldIDs[i] = fieldID.getID(rs);
+ if (obj instanceof Input) {
+ Input unbound = (Input)obj;
+ unbound.addReference(this, fieldID);
+ } else {
+ retrieveValueAndDependenceInfo(rs, i, obj, values,
+ sizes, depClosures, depFieldIDs);
+ }
+ i++;
+ }
+
+ long id = rs.nInvokeClosureCreate(invokeID.getID(rs), mFP.getData(), fieldIDs,
+ values, sizes);
+
+ setID(id);
+ }
+
+ private static
+ void retrieveValueAndDependenceInfo(RenderScript rs,
+ int index, Object obj,
+ long[] values, int[] sizes,
+ long[] depClosures,
+ long[] depFieldIDs) {
+
+ if (obj instanceof Future) {
+ Future f = (Future)obj;
+ obj = f.getValue();
+ depClosures[index] = f.getClosure().getID(rs);
+ Script.FieldID fieldID = f.getFieldID();
+ depFieldIDs[index] = fieldID != null ? fieldID.getID(rs) : 0;
+ if (obj == null) {
+ // Value is originally created by the owner closure
+ values[index] = 0;
+ sizes[index] = 0;
+ return;
+ }
+ } else {
+ depClosures[index] = 0;
+ depFieldIDs[index] = 0;
+ }
+
+ ValueAndSize vs = new ValueAndSize(rs, obj);
+ values[index] = vs.value;
+ sizes[index] = vs.size;
+ }
+
+ /**
+ * Returns the future for the return value
+ *
+ * @return a future
+ */
+
+ public Future getReturn() {
+ if (mReturnFuture == null) {
+ mReturnFuture = new Future(this, null, mReturnValue);
+ }
+
+ return mReturnFuture;
+ }
+
+ /**
+ * Returns the future for a global variable
+ *
+ * @param field the field ID for the global variable
+ * @return a future
+ */
+
+ public Future getGlobal(Script.FieldID field) {
+ Future f = mGlobalFuture.get(field);
+
+ if (f == null) {
+ // If the field is not bound to this closure, this will return a future
+ // without an associated value (reference). So this is not working for
+ // cross-module (cross-script) linking in this case where a field not
+ // explicitly bound.
+ f = new Future(this, field, mBindings.get(field));
+ mGlobalFuture.put(field, f);
+ }
+
+ return f;
+ }
+
+ void setArg(int index, Object obj) {
+ mArgs[index] = obj;
+ ValueAndSize vs = new ValueAndSize(mRS, obj);
+ mRS.nClosureSetArg(getID(mRS), index, vs.value, vs.size);
+ }
+
+ void setGlobal(Script.FieldID fieldID, Object obj) {
+ mBindings.put(fieldID, obj);
+ ValueAndSize vs = new ValueAndSize(mRS, obj);
+ mRS.nClosureSetGlobal(getID(mRS), fieldID.getID(mRS), vs.value, vs.size);
+ }
+
+ private static final class ValueAndSize {
+ public ValueAndSize(RenderScript rs, Object obj) {
+ if (obj instanceof Allocation) {
+ value = ((Allocation)obj).getID(rs);
+ size = -1;
+ } else if (obj instanceof Boolean) {
+ value = ((Boolean)obj).booleanValue() ? 1 : 0;
+ size = 4;
+ } else if (obj instanceof Integer) {
+ value = ((Integer)obj).longValue();
+ size = 4;
+ } else if (obj instanceof Long) {
+ value = ((Long)obj).longValue();
+ size = 8;
+ } else if (obj instanceof Float) {
+ value = ((Float)obj).longValue();
+ size = 4;
+ } else if (obj instanceof Double) {
+ value = ((Double)obj).longValue();
+ size = 8;
+ }
+ }
+ public long value;
+ public int size;
+ }
+ }
+
+ /**
+ * An opaque class for futures
+ * <p>
+ * A future represents an output of a closure, either the return value of
+ * the function, or the value of a global variable written by the function.
+ * A future is created by calling the {@link Closure#getReturn} or
+ * {@link Closure#getGlobal} method.
+ */
+
+ public static final class Future {
+ Closure mClosure;
+ Script.FieldID mFieldID;
+ Object mValue;
+
+ Future(Closure closure, Script.FieldID fieldID, Object value) {
+ mClosure = closure;
+ mFieldID = fieldID;
+ mValue = value;
+ }
+
+ Closure getClosure() { return mClosure; }
+ Script.FieldID getFieldID() { return mFieldID; }
+ Object getValue() { return mValue; }
+ }
+
+ /**
+ * An opaque class for script group inputs
+ * <p>
+ * Created by calling the {@link Builder2#addInput} method. The value
+ * is assigned in {@link ScriptGroup#execute(Object...)} method as
+ * one of its arguments. Arguments to the execute method should be in
+ * the same order as intputs are added using the addInput method.
+ */
+
+ public static final class Input {
+ // Either mFieldID or mArgIndex should be set but not both.
+ List<Pair<Closure, Script.FieldID>> mFieldID;
+ // -1 means unset. Legal values are 0 .. n-1, where n is the number of
+ // arguments for the referencing closure.
+ List<Pair<Closure, Integer>> mArgIndex;
+
+ Input() {
+ mFieldID = new ArrayList<Pair<Closure, Script.FieldID>>();
+ mArgIndex = new ArrayList<Pair<Closure, Integer>>();
+ }
+
+ void addReference(Closure closure, int index) {
+ mArgIndex.add(Pair.create(closure, Integer.valueOf(index)));
+ }
+
+ void addReference(Closure closure, Script.FieldID fieldID) {
+ mFieldID.add(Pair.create(closure, fieldID));
+ }
+
+ void set(Object value) {
+ for (Pair<Closure, Integer> p : mArgIndex) {
+ Closure closure = p.first;
+ int index = p.second.intValue();
+ closure.setArg(index, value);
+ }
+ for (Pair<Closure, Script.FieldID> p : mFieldID) {
+ Closure closure = p.first;
+ Script.FieldID fieldID = p.second;
+ closure.setGlobal(fieldID, value);
+ }
+ }
+ }
+
+ private String mName;
+ private List<Closure> mClosures;
+ private List<Input> mInputs2;
+ private Future[] mOutputs2;
+
ScriptGroup(long id, RenderScript rs) {
super(id, rs);
}
+ ScriptGroup(RenderScript rs, String name, List<Closure> closures,
+ List<Input> inputs, Future[] outputs) {
+ super(0, rs);
+ mName = name;
+ mClosures = closures;
+ mInputs2 = inputs;
+ mOutputs2 = outputs;
+
+ long[] closureIDs = new long[closures.size()];
+ for (int i = 0; i < closureIDs.length; i++) {
+ closureIDs[i] = closures.get(i).getID(rs);
+ }
+ long id = rs.nScriptGroup2Create(name, ScriptC.mCachePath, closureIDs);
+ setID(id);
+ }
+
+ /**
+ * Executes a script group
+ *
+ * @param inputs inputs to the script group
+ * @return outputs of the script group as an array of objects
+ */
+
+ public Object[] execute(Object... inputs) {
+ if (inputs.length < mInputs2.size()) {
+ Log.e(TAG, this.toString() + " receives " + inputs.length + " inputs, " +
+ "less than expected " + mInputs2.size());
+ return null;
+ }
+
+ if (inputs.length > mInputs2.size()) {
+ Log.i(TAG, this.toString() + " receives " + inputs.length + " inputs, " +
+ "more than expected " + mInputs2.size());
+ }
+
+ for (int i = 0; i < mInputs2.size(); i++) {
+ Object obj = inputs[i];
+ if (obj instanceof Future || obj instanceof Input) {
+ Log.e(TAG, this.toString() + ": input " + i +
+ " is a future or unbound value");
+ return null;
+ }
+ Input unbound = mInputs2.get(i);
+ unbound.set(obj);
+ }
+
+ mRS.nScriptGroup2Execute(getID(mRS));
+
+ Object[] outputObjs = new Object[mOutputs2.length];
+ int i = 0;
+ for (Future f : mOutputs2) {
+ outputObjs[i++] = f.getValue();
+ }
+ return outputObjs;
+ }
+
/**
* Sets an input of the ScriptGroup. This specifies an
* Allocation to be used for kernels that require an input
* Allocation provided from outside of the ScriptGroup.
*
+ * @deprecated Set arguments to {@link #execute(Object...)} instead.
+ *
* @param s The ID of the kernel where the allocation should be
* connected.
* @param a The allocation to connect.
@@ -117,6 +464,8 @@
* Allocation to be used for the kernels that require an output
* Allocation visible after the ScriptGroup is executed.
*
+ * @deprecated Use return value of {@link #execute(Object...)} instead.
+ *
* @param s The ID of the kernel where the allocation should be
* connected.
* @param a The allocation to connect.
@@ -136,6 +485,9 @@
* Execute the ScriptGroup. This will run all the kernels in
* the ScriptGroup. No internal connection results will be visible
* after execution of the ScriptGroup.
+ *
+ * @deprecated Use {@link #execute} instead.
+ *
*/
public void execute() {
mRS.nScriptGroupExecute(getID(mRS));
@@ -164,6 +516,8 @@
* Once all connections are made, a call to {@link #create} will
* return the ScriptGroup object.
*
+ * @deprecated Use {@link Builder2} instead.
+ *
*/
public static final class Builder {
private RenderScript mRS;
@@ -464,7 +818,210 @@
}
+ /**
+ * Represents a binding of a value to a global variable in a
+ * kernel or invocable function. Used in closure creation.
+ */
+
+ public static final class Binding {
+ private final Script.FieldID mField;
+ private final Object mValue;
+
+ /**
+ * Returns a Binding object that binds value to field
+ *
+ * @param field the Script.FieldID of the global variable
+ * @param value the value
+ */
+
+ public Binding(Script.FieldID field, Object value) {
+ mField = field;
+ mValue = value;
+ }
+
+ /**
+ * Returns the field ID
+ */
+
+ public Script.FieldID getField() { return mField; }
+
+ /**
+ * Returns the value
+ */
+
+ public Object getValue() { return mValue; }
+ }
+
+ /**
+ * The builder class for creating script groups
+ * <p>
+ * A script group is created using closures (see class {@link Closure}).
+ * A closure is a function call to a kernel or
+ * invocable function. Each function argument or global variable accessed inside
+ * the function is bound to 1) a known value, 2) a script group input
+ * (see class {@link Input}), or 3) a
+ * future (see class {@link Future}).
+ * A future is the output of a closure, either the return value of the
+ * function or a global variable written by that function.
+ * <p>
+ * Closures are created using the {@link #addKernel} or {@link #addInvoke}
+ * methods.
+ * When a closure is created, futures from previously created closures
+ * can be used as its inputs.
+ * External script group inputs can be used as inputs to individual closures as well.
+ * An external script group input is created using the {@link #addInput} method.
+ * A script group is created by a call to the {@link #create} method, which
+ * accepts an array of futures as the outputs for the script group.
+ * <p>
+ * Closures in a script group can be evaluated in any order as long as the
+ * following conditions are met:
+ * 1) a closure must be evaluated before any other closures that take its
+ * futures as inputs;
+ * 2) all closures added before an invoke closure must be evaluated
+ * before it;
+ * and 3) all closures added after an invoke closure must be evaluated after
+ * it.
+ * As a special case, the order that the closures are added is a legal
+ * evaluation order. However, other evaluation orders are possible, including
+ * concurrently evaluating independent closures.
+ */
+
+ public static final class Builder2 {
+ RenderScript mRS;
+ List<Closure> mClosures;
+ List<Input> mInputs;
+ private static final String TAG = "ScriptGroup.Builder2";
+
+ /**
+ * Returns a Builder object
+ *
+ * @param rs the RenderScript context
+ */
+ public Builder2(RenderScript rs) {
+ mRS = rs;
+ mClosures = new ArrayList<Closure>();
+ mInputs = new ArrayList<Input>();
+ }
+
+ /**
+ * Adds a closure for a kernel
+ *
+ * @param k Kernel ID for the kernel function
+ * @param returnType Allocation type for the return value
+ * @param args arguments to the kernel function
+ * @param globalBindings bindings for global variables
+ * @return a closure
+ */
+
+ private Closure addKernelInternal(Script.KernelID k, Type returnType, Object[] args,
+ Map<Script.FieldID, Object> globalBindings) {
+ Closure c = new Closure(mRS, k, returnType, args, globalBindings);
+ mClosures.add(c);
+ return c;
+ }
+
+ /**
+ * Adds a closure for an invocable function
+ *
+ * @param invoke Invoke ID for the invocable function
+ * @param args arguments to the invocable function
+ * @param globalBindings bindings for global variables
+ * @return a closure
+ */
+
+ private Closure addInvokeInternal(Script.InvokeID invoke, Object[] args,
+ Map<Script.FieldID, Object> globalBindings) {
+ Closure c = new Closure(mRS, invoke, args, globalBindings);
+ mClosures.add(c);
+ return c;
+ }
+
+ /**
+ * Adds a script group input
+ *
+ * @return a script group input, which can be used as an argument or a value to
+ * a global variable for creating closures
+ */
+ public Input addInput() {
+ Input unbound = new Input();
+ mInputs.add(unbound);
+ return unbound;
+ }
+
+ /**
+ * Adds a closure for a kernel
+ *
+ * @param k Kernel ID for the kernel function
+ * @param argsAndBindings arguments followed by bindings for global variables
+ * @return a closure
+ */
+
+ public Closure addKernel(Script.KernelID k, Type returnType, Object... argsAndBindings) {
+ ArrayList<Object> args = new ArrayList<Object>();
+ Map<Script.FieldID, Object> bindingMap = new HashMap<Script.FieldID, Object>();
+ if (!seperateArgsAndBindings(argsAndBindings, args, bindingMap)) {
+ return null;
+ }
+ return addKernelInternal(k, returnType, args.toArray(), bindingMap);
+ }
+
+ /**
+ * Adds a closure for an invocable function
+ *
+ * @param invoke Invoke ID for the invocable function
+ * @param argsAndBindings arguments followed by bindings for global variables
+ * @return a closure
+ */
+
+ public Closure addInvoke(Script.InvokeID invoke, Object... argsAndBindings) {
+ ArrayList<Object> args = new ArrayList<Object>();
+ Map<Script.FieldID, Object> bindingMap = new HashMap<Script.FieldID, Object>();
+ if (!seperateArgsAndBindings(argsAndBindings, args, bindingMap)) {
+ return null;
+ }
+ return addInvokeInternal(invoke, args.toArray(), bindingMap);
+ }
+
+ /**
+ * Creates a script group
+ *
+ * @param name name for the script group. Legal names can only contain letters, digits,
+ * '-', or '_'. The name can be no longer than 100 characters.
+ * @param outputs futures intended as outputs of the script group
+ * @return a script group
+ */
+
+ public ScriptGroup create(String name, Future... outputs) {
+ if (name == null || name.isEmpty() || name.length() > 100 ||
+ !name.equals(name.replaceAll("[^a-zA-Z0-9-]", "_"))) {
+ throw new RSIllegalArgumentException("invalid script group name");
+ }
+ ScriptGroup ret = new ScriptGroup(mRS, name, mClosures, mInputs, outputs);
+ return ret;
+ }
+
+ private boolean seperateArgsAndBindings(Object[] argsAndBindings,
+ ArrayList<Object> args,
+ Map<Script.FieldID, Object> bindingMap) {
+ int i;
+ for (i = 0; i < argsAndBindings.length; i++) {
+ if (argsAndBindings[i] instanceof Binding) {
+ break;
+ }
+ args.add(argsAndBindings[i]);
+ }
+
+ for (; i < argsAndBindings.length; i++) {
+ if (!(argsAndBindings[i] instanceof Binding)) {
+ return false;
+ }
+ Binding b = (Binding)argsAndBindings[i];
+ bindingMap.put(b.getField(), b.getValue());
+ }
+
+ return true;
+ }
+
+ }
}
-
-
diff --git a/rs/java/android/renderscript/ScriptGroup2.java b/rs/java/android/renderscript/ScriptGroup2.java
deleted file mode 100644
index 96bb6e2..0000000
--- a/rs/java/android/renderscript/ScriptGroup2.java
+++ /dev/null
@@ -1,592 +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.renderscript;
-
-import android.util.Log;
-import android.util.Pair;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * ScriptGroup2 is a new, enhanced API for script groups.
- * A script group is a collection of kernels or invocable functions, with
- * data dependencies defined among them. A script group is launched for
- * execution as a whole, rather than launching each kernel or invocable function
- * separately. Once created, a script group can be repeatedly used with
- * different inputs.
- * <p>
- * In the new ScriptGroup2 API, a script group is modeled using closures.
- * A closure, in this context, is defined as a function call to a kernel or
- * invocable function. Each function argument or global variable accessed inside
- * the function is bound to 1) a known value, 2) a script group input, or 3) a
- * future. A future is the output of a closure, i.e., the return value of the
- * function or a global variable written by that function.
- * <p>
- * A script group is a directed acyclic graph (DAG), in which closures are the
- * vertices and the dependencies among them are the edges.
- * The way the ScriptGroup2 API is designed makes cycles impossible in a script
- * group. For example, it is impossible to make forward references to futures,
- * i.e., it is impossible to set as input to a closure the future from itself or
- * a future from another closure that directly or indirectly depends on it.
- * <p>
- * Grouping kernels and invocable functions together allows to execute them more
- * efficiently. Runtime and compiler optimizations are applied to script
- * groups, to reduce computation or communication overhead, and to make more
- * efficient use of the CPU and the GPU.
- */
-
-public class ScriptGroup2 extends BaseObj {
-
- /**
- * An opaque class for closures
- */
-
- public static class Closure extends BaseObj {
- private Object[] mArgs;
- private Allocation mReturnValue;
- private Map<Script.FieldID, Object> mBindings;
-
- private Future mReturnFuture;
- private Map<Script.FieldID, Future> mGlobalFuture;
-
- private FieldPacker mFP;
-
- private static final String TAG = "Closure";
-
- public Closure(long id, RenderScript rs) {
- super(id, rs);
- }
-
- public Closure(RenderScript rs, Script.KernelID kernelID, Type returnType,
- Object[] args, Map<Script.FieldID, Object> globals) {
- super(0, rs);
-
- mArgs = args;
- mReturnValue = Allocation.createTyped(rs, returnType);
- mBindings = globals;
- mGlobalFuture = new HashMap<Script.FieldID, Future>();
-
- int numValues = args.length + globals.size();
-
- long[] fieldIDs = new long[numValues];
- long[] values = new long[numValues];
- int[] sizes = new int[numValues];
- long[] depClosures = new long[numValues];
- long[] depFieldIDs = new long[numValues];
-
- int i;
- for (i = 0; i < args.length; i++) {
- Object obj = args[i];
- fieldIDs[i] = 0;
- if (obj instanceof UnboundValue) {
- UnboundValue unbound = (UnboundValue)obj;
- unbound.addReference(this, i);
- } else {
- retrieveValueAndDependenceInfo(rs, i, args[i], values, sizes,
- depClosures, depFieldIDs);
- }
- }
-
- for (Map.Entry<Script.FieldID, Object> entry : globals.entrySet()) {
- Object obj = entry.getValue();
- Script.FieldID fieldID = entry.getKey();
- fieldIDs[i] = fieldID.getID(rs);
- if (obj instanceof UnboundValue) {
- UnboundValue unbound = (UnboundValue)obj;
- unbound.addReference(this, fieldID);
- } else {
- retrieveValueAndDependenceInfo(rs, i, obj, values,
- sizes, depClosures, depFieldIDs);
- }
- i++;
- }
-
- long id = rs.nClosureCreate(kernelID.getID(rs), mReturnValue.getID(rs),
- fieldIDs, values, sizes, depClosures, depFieldIDs);
-
- setID(id);
- }
-
- public Closure(RenderScript rs, Script.InvokeID invokeID,
- Object[] args, Map<Script.FieldID, Object> globals) {
- super(0, rs);
- mFP = FieldPacker.createFromArray(args);
-
- mArgs = args;
- mBindings = globals;
- mGlobalFuture = new HashMap<Script.FieldID, Future>();
-
- int numValues = globals.size();
-
- long[] fieldIDs = new long[numValues];
- long[] values = new long[numValues];
- int[] sizes = new int[numValues];
- long[] depClosures = new long[numValues];
- long[] depFieldIDs = new long[numValues];
-
- int i = 0;
- for (Map.Entry<Script.FieldID, Object> entry : globals.entrySet()) {
- Object obj = entry.getValue();
- Script.FieldID fieldID = entry.getKey();
- fieldIDs[i] = fieldID.getID(rs);
- if (obj instanceof UnboundValue) {
- UnboundValue unbound = (UnboundValue)obj;
- unbound.addReference(this, fieldID);
- } else {
- retrieveValueAndDependenceInfo(rs, i, obj, values,
- sizes, depClosures, depFieldIDs);
- }
- i++;
- }
-
- long id = rs.nInvokeClosureCreate(invokeID.getID(rs), mFP.getData(), fieldIDs,
- values, sizes);
-
- setID(id);
- }
-
- private static
- void retrieveValueAndDependenceInfo(RenderScript rs,
- int index, Object obj,
- long[] values, int[] sizes,
- long[] depClosures,
- long[] depFieldIDs) {
-
- if (obj instanceof Future) {
- Future f = (Future)obj;
- obj = f.getValue();
- depClosures[index] = f.getClosure().getID(rs);
- Script.FieldID fieldID = f.getFieldID();
- depFieldIDs[index] = fieldID != null ? fieldID.getID(rs) : 0;
- if (obj == null) {
- // Value is originally created by the owner closure
- values[index] = 0;
- sizes[index] = 0;
- return;
- }
- } else {
- depClosures[index] = 0;
- depFieldIDs[index] = 0;
- }
-
- ValueAndSize vs = new ValueAndSize(rs, obj);
- values[index] = vs.value;
- sizes[index] = vs.size;
- }
-
- /**
- * Returns the future for the return value
- *
- * @return a future
- */
-
- public Future getReturn() {
- if (mReturnFuture == null) {
- mReturnFuture = new Future(this, null, mReturnValue);
- }
-
- return mReturnFuture;
- }
-
- /**
- * Returns the future for a global variable
- *
- * @param field the field ID for the global variable
- * @return a future
- */
-
- public Future getGlobal(Script.FieldID field) {
- Future f = mGlobalFuture.get(field);
-
- if (f == null) {
- // If the field is not bound to this closure, this will return a future
- // without an associated value (reference). So this is not working for
- // cross-module (cross-script) linking in this case where a field not
- // explicitly bound.
- f = new Future(this, field, mBindings.get(field));
- mGlobalFuture.put(field, f);
- }
-
- return f;
- }
-
- void setArg(int index, Object obj) {
- mArgs[index] = obj;
- ValueAndSize vs = new ValueAndSize(mRS, obj);
- mRS.nClosureSetArg(getID(mRS), index, vs.value, vs.size);
- }
-
- void setGlobal(Script.FieldID fieldID, Object obj) {
- mBindings.put(fieldID, obj);
- ValueAndSize vs = new ValueAndSize(mRS, obj);
- mRS.nClosureSetGlobal(getID(mRS), fieldID.getID(mRS), vs.value, vs.size);
- }
-
- private static final class ValueAndSize {
- public ValueAndSize(RenderScript rs, Object obj) {
- if (obj instanceof Allocation) {
- value = ((Allocation)obj).getID(rs);
- size = -1;
- } else if (obj instanceof Boolean) {
- value = ((Boolean)obj).booleanValue() ? 1 : 0;
- size = 4;
- } else if (obj instanceof Integer) {
- value = ((Integer)obj).longValue();
- size = 4;
- } else if (obj instanceof Long) {
- value = ((Long)obj).longValue();
- size = 8;
- } else if (obj instanceof Float) {
- value = ((Float)obj).longValue();
- size = 4;
- } else if (obj instanceof Double) {
- value = ((Double)obj).longValue();
- size = 8;
- }
- }
- public long value;
- public int size;
- }
- }
-
- /**
- * An opaque class for futures
- */
-
- public static class Future {
- Closure mClosure;
- Script.FieldID mFieldID;
- Object mValue;
-
- Future(Closure closure, Script.FieldID fieldID, Object value) {
- mClosure = closure;
- mFieldID = fieldID;
- mValue = value;
- }
-
- Closure getClosure() { return mClosure; }
- Script.FieldID getFieldID() { return mFieldID; }
- Object getValue() { return mValue; }
- }
-
- /**
- * An opaque class for unbound values (a.k.a. script group inputs)
- */
-
- public static class UnboundValue {
- // Either mFieldID or mArgIndex should be set but not both.
- List<Pair<Closure, Script.FieldID>> mFieldID;
- // -1 means unset. Legal values are 0 .. n-1, where n is the number of
- // arguments for the referencing closure.
- List<Pair<Closure, Integer>> mArgIndex;
-
- UnboundValue() {
- mFieldID = new ArrayList<Pair<Closure, Script.FieldID>>();
- mArgIndex = new ArrayList<Pair<Closure, Integer>>();
- }
-
- void addReference(Closure closure, int index) {
- mArgIndex.add(Pair.create(closure, Integer.valueOf(index)));
- }
-
- void addReference(Closure closure, Script.FieldID fieldID) {
- mFieldID.add(Pair.create(closure, fieldID));
- }
-
- void set(Object value) {
- for (Pair<Closure, Integer> p : mArgIndex) {
- Closure closure = p.first;
- int index = p.second.intValue();
- closure.setArg(index, value);
- }
- for (Pair<Closure, Script.FieldID> p : mFieldID) {
- Closure closure = p.first;
- Script.FieldID fieldID = p.second;
- closure.setGlobal(fieldID, value);
- }
- }
- }
-
- String mName;
- List<Closure> mClosures;
- List<UnboundValue> mInputs;
- Future[] mOutputs;
-
- private static final String TAG = "ScriptGroup2";
-
- public ScriptGroup2(long id, RenderScript rs) {
- super(id, rs);
- }
-
- ScriptGroup2(RenderScript rs, String name, List<Closure> closures,
- List<UnboundValue> inputs, Future[] outputs) {
- super(0, rs);
- mName = name;
- mClosures = closures;
- mInputs = inputs;
- mOutputs = outputs;
-
- long[] closureIDs = new long[closures.size()];
- for (int i = 0; i < closureIDs.length; i++) {
- closureIDs[i] = closures.get(i).getID(rs);
- }
- long id = rs.nScriptGroup2Create(name, ScriptC.mCachePath, closureIDs);
- setID(id);
- }
-
- /**
- * Executes a script group
- *
- * @param inputs inputs to the script group
- * @return outputs of the script group as an array of objects
- */
-
- public Object[] execute(Object... inputs) {
- if (inputs.length < mInputs.size()) {
- Log.e(TAG, this.toString() + " receives " + inputs.length + " inputs, " +
- "less than expected " + mInputs.size());
- return null;
- }
-
- if (inputs.length > mInputs.size()) {
- Log.i(TAG, this.toString() + " receives " + inputs.length + " inputs, " +
- "more than expected " + mInputs.size());
- }
-
- for (int i = 0; i < mInputs.size(); i++) {
- Object obj = inputs[i];
- if (obj instanceof Future || obj instanceof UnboundValue) {
- Log.e(TAG, this.toString() + ": input " + i +
- " is a future or unbound value");
- return null;
- }
- UnboundValue unbound = mInputs.get(i);
- unbound.set(obj);
- }
-
- mRS.nScriptGroup2Execute(getID(mRS));
-
- Object[] outputObjs = new Object[mOutputs.length];
- int i = 0;
- for (Future f : mOutputs) {
- outputObjs[i++] = f.getValue();
- }
- return outputObjs;
- }
-
- /**
- * A class representing a binding of a value to a global variable in a
- * kernel or invocable function. Such a binding can be used to create a
- * closure.
- */
-
- public static final class Binding {
- private Script.FieldID mField;
- private Object mValue;
-
- /**
- * Returns a Binding object that binds value to field
- *
- * @param field the Script.FieldID of the global variable
- * @param value the value
- */
-
- public Binding(Script.FieldID field, Object value) {
- mField = field;
- mValue = value;
- }
-
- /**
- * Returns the field ID
- */
-
- public Script.FieldID getField() { return mField; }
-
- /**
- * Returns the value
- */
-
- public Object getValue() { return mValue; }
- }
-
- /**
- * The builder class to create a script group.
- * <p>
- * Closures are created using the {@link #addKernel} or {@link #addInvoke}
- * methods.
- * When a closure is created, futures from previously created closures
- * can be used as inputs.
- * Unbound values can be used as inputs to create closures as well.
- * An unbound value is created using the {@link #addInput} method.
- * Unbound values become inputs to the script group to be created,
- * in the order that they are added.
- * A script group is created by a call to the {@link #create} method, which
- * accepts an array of futures as the outputs for the script group.
- * <p>
- * Closures in a script group can be evaluated in any order as long as the
- * following conditions are met.
- * First, a closure must be evaluated before any other closures that take its
- * futures as inputs.
- * Second, all closures added before an invoke closure must be evaluated
- * before it.
- * Third, all closures added after an invoke closure must be evaluated after
- * it.
- * <p>
- * As a special case, the order that the closures are added is a legal
- * evaluation order. However, other evaluation orders are allowed, including
- * concurrently evaluating independent closures.
- */
-
- public static final class Builder {
- RenderScript mRS;
- List<Closure> mClosures;
- List<UnboundValue> mInputs;
- private static final String TAG = "ScriptGroup2.Builder";
-
- /**
- * Returns a Builder object
- *
- * @param rs the RenderScript context
- */
- public Builder(RenderScript rs) {
- mRS = rs;
- mClosures = new ArrayList<Closure>();
- mInputs = new ArrayList<UnboundValue>();
- }
-
- /**
- * Adds a closure for a kernel
- *
- * @param k Kernel ID for the kernel function
- * @param returnType Allocation type for the return value
- * @param args arguments to the kernel function
- * @param globalBindings bindings for global variables
- * @return a closure
- */
-
- public Closure addKernel(Script.KernelID k, Type returnType, Object[] args,
- Map<Script.FieldID, Object> globalBindings) {
- Closure c = new Closure(mRS, k, returnType, args, globalBindings);
- mClosures.add(c);
- return c;
- }
-
- /**
- * Adds a closure for an invocable function
- *
- * @param invoke Invoke ID for the invocable function
- * @param args arguments to the invocable function
- * @param globalBindings bindings for global variables
- * @return a closure
- */
-
- public Closure addInvoke(Script.InvokeID invoke, Object[] args,
- Map<Script.FieldID, Object> globalBindings) {
- Closure c = new Closure(mRS, invoke, args, globalBindings);
- mClosures.add(c);
- return c;
- }
-
- /**
- * Adds a script group input
- *
- * @return a unbound value that can be used to create a closure
- */
- public UnboundValue addInput() {
- UnboundValue unbound = new UnboundValue();
- mInputs.add(unbound);
- return unbound;
- }
-
- /**
- * Adds a closure for a kernel
- *
- * @param k Kernel ID for the kernel function
- * @param argsAndBindings arguments followed by bindings for global variables
- * @return a closure
- */
-
- public Closure addKernel(Script.KernelID k, Type returnType, Object... argsAndBindings) {
- ArrayList<Object> args = new ArrayList<Object>();
- Map<Script.FieldID, Object> bindingMap = new HashMap<Script.FieldID, Object>();
- if (!seperateArgsAndBindings(argsAndBindings, args, bindingMap)) {
- return null;
- }
- return addKernel(k, returnType, args.toArray(), bindingMap);
- }
-
- /**
- * Adds a closure for an invocable function
- *
- * @param invoke Invoke ID for the invocable function
- * @param argsAndBindings arguments followed by bindings for global variables
- * @return a closure
- */
-
- public Closure addInvoke(Script.InvokeID invoke, Object... argsAndBindings) {
- ArrayList<Object> args = new ArrayList<Object>();
- Map<Script.FieldID, Object> bindingMap = new HashMap<Script.FieldID, Object>();
- if (!seperateArgsAndBindings(argsAndBindings, args, bindingMap)) {
- return null;
- }
- return addInvoke(invoke, args.toArray(), bindingMap);
- }
-
- /**
- * Creates a script group
- *
- * @param name name for the script group. Legal names can only contain letters, digits,
- * '-', or '_'. The name can be no longer than 100 characters.
- * @param outputs futures intended as outputs of the script group
- * @return a script group
- */
-
- public ScriptGroup2 create(String name, Future... outputs) {
- if (name == null || name.isEmpty() || name.length() > 100 ||
- !name.equals(name.replaceAll("[^a-zA-Z0-9-]", "_"))) {
- throw new RSIllegalArgumentException("invalid script group name");
- }
- ScriptGroup2 ret = new ScriptGroup2(mRS, name, mClosures, mInputs, outputs);
- return ret;
- }
-
- private boolean seperateArgsAndBindings(Object[] argsAndBindings,
- ArrayList<Object> args,
- Map<Script.FieldID, Object> bindingMap) {
- int i;
- for (i = 0; i < argsAndBindings.length; i++) {
- if (argsAndBindings[i] instanceof Binding) {
- break;
- }
- args.add(argsAndBindings[i]);
- }
-
- for (; i < argsAndBindings.length; i++) {
- if (!(argsAndBindings[i] instanceof Binding)) {
- return false;
- }
- Binding b = (Binding)argsAndBindings[i];
- bindingMap.put(b.getField(), b.getValue());
- }
-
- return true;
- }
-
- }
-}
diff --git a/rs/jni/Android.mk b/rs/jni/Android.mk
index 94f0859..0658620 100644
--- a/rs/jni/Android.mk
+++ b/rs/jni/Android.mk
@@ -25,6 +25,7 @@
$(JNI_H_INCLUDE) \
frameworks/rs \
frameworks/base/core/jni \
+ frameworks/base/libs/hwui \
$(rs_generated_include_dir)
LOCAL_CFLAGS += -Wno-unused-parameter -std=c++11
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index 9f80fd8..0e3867d 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -460,6 +460,7 @@
// set to null if in idle mode; while in this mode, any alarms we don't want
// to run during this time are placed in mPendingWhileIdleAlarms
Alarm mPendingIdleUntil = null;
+ Alarm mNextWakeFromIdle = null;
final ArrayList<Alarm> mPendingWhileIdleAlarms = new ArrayList<>();
public AlarmManagerService(Context context) {
@@ -565,13 +566,22 @@
}
void restorePendingWhileIdleAlarmsLocked() {
+ // Bring pending alarms back into the main list.
final long nowElapsed = SystemClock.elapsedRealtime();
- for (int i=mPendingWhileIdleAlarms.size() - 1; i >= 0 && mPendingIdleUntil != null; i --) {
+ for (int i=mPendingWhileIdleAlarms.size() - 1; i >= 0 && mPendingIdleUntil == null; i--) {
Alarm a = mPendingWhileIdleAlarms.remove(i);
reAddAlarmLocked(a, nowElapsed, false);
}
+
+ // Reschedule everything.
rescheduleKernelAlarmsLocked();
updateNextAlarmClockLocked();
+
+ // And send a TIME_TICK right now, since it is important to get the UI updated.
+ try {
+ mTimeTickSender.send();
+ } catch (PendingIntent.CanceledException e) {
+ }
}
static final class InFlight extends Intent {
@@ -583,7 +593,7 @@
final int mAlarmType;
InFlight(AlarmManagerService service, PendingIntent pendingIntent, WorkSource workSource,
- int alarmType, String tag) {
+ int alarmType, String tag, long nowELAPSED) {
mPendingIntent = pendingIntent;
mWorkSource = workSource;
mTag = tag;
@@ -593,6 +603,7 @@
fs = new FilterStats(mBroadcastStats, mTag);
mBroadcastStats.filterStats.put(mTag, fs);
}
+ fs.lastTime = nowELAPSED;
mFilterStats = fs;
mAlarmType = alarmType;
}
@@ -602,6 +613,7 @@
final BroadcastStats mBroadcastStats;
final String mTag;
+ long lastTime;
long aggregateTime;
int count;
int numWakeup;
@@ -806,33 +818,38 @@
setImplLocked(a, false, doValidate);
}
+ private void updateNextWakeFromIdleFuzzLocked() {
+ if (mNextWakeFromIdle != null) {
+
+ }
+ }
+
private void setImplLocked(Alarm a, boolean rebatching, boolean doValidate) {
if ((a.flags&AlarmManager.FLAG_IDLE_UNTIL) != 0) {
- // This is a special alarm that will put the system idle until it goes off.
+ // This is a special alarm that will put the system into idle until it goes off.
// The caller has given the time they want this to happen at, however we need
// to pull that earlier if there are existing alarms that have requested to
// bring us out of idle.
- final int N = mAlarmBatches.size();
- for (int i = 0; i < N; i++) {
- Batch b = mAlarmBatches.get(i);
- if (a.whenElapsed > b.end) {
- // There are no interesting things happening before our idle until,
- // so keep the requested time.
- break;
- }
- if ((b.flags&AlarmManager.FLAG_WAKE_FROM_IDLE) != 0) {
- a.when = a.whenElapsed = a.maxWhenElapsed = b.end;
- break;
- }
+ if (mNextWakeFromIdle != null) {
+ a.when = a.whenElapsed = a.maxWhenElapsed = mNextWakeFromIdle.whenElapsed;
}
// Add fuzz to make the alarm go off some time before the actual desired time.
final long nowElapsed = SystemClock.elapsedRealtime();
- long fuzz = fuzzForDuration(a.whenElapsed-nowElapsed);
+ final int fuzz = fuzzForDuration(a.whenElapsed-nowElapsed);
if (fuzz > 0) {
if (mRandom == null) {
mRandom = new Random();
}
- a.whenElapsed -= mRandom.nextLong() % fuzz;
+ final int delta = mRandom.nextInt(fuzz);
+ a.whenElapsed -= delta;
+ if (false) {
+ Slog.d(TAG, "Alarm when: " + a.whenElapsed);
+ Slog.d(TAG, "Delta until alarm: " + (a.whenElapsed-nowElapsed));
+ Slog.d(TAG, "Applied fuzz: " + fuzz);
+ Slog.d(TAG, "Final delta: " + delta);
+ Slog.d(TAG, "Final when: " + a.whenElapsed);
+ }
+ a.when = a.maxWhenElapsed = a.whenElapsed;
}
} else if (mPendingIdleUntil != null) {
@@ -869,11 +886,16 @@
if ((a.flags&AlarmManager.FLAG_IDLE_UNTIL) != 0) {
mPendingIdleUntil = a;
needRebatch = true;
- } else if ((a.flags&AlarmManager.FLAG_WAKE_FROM_IDLE) != 0 && mPendingIdleUntil != null) {
- // If we are adding an alarm that asks to wake from idle, and we are currently
- // idling, then we need to rebatch alarms in case the idle until time needs to
- // be updated.
- needRebatch = true;
+ } else if ((a.flags&AlarmManager.FLAG_WAKE_FROM_IDLE) != 0) {
+ if (mNextWakeFromIdle == null || mNextWakeFromIdle.whenElapsed > a.whenElapsed) {
+ mNextWakeFromIdle = a;
+ // If this wake from idle is earlier than whatever was previously scheduled,
+ // and we are currently idling, then we need to rebatch alarms in case the idle
+ // until time needs to be updated.
+ if (mPendingIdleUntil != null) {
+ needRebatch = true;
+ }
+ }
}
if (!rebatching) {
@@ -960,6 +982,11 @@
}
@Override
+ public long getNextWakeFromIdleTime() {
+ return getNextWakeFromIdleTimeImpl();
+ }
+
+ @Override
public AlarmManager.AlarmClockInfo getNextAlarmClock(int userId) {
userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
Binder.getCallingUid(), userId, false /* allowAll */, false /* requireFull */,
@@ -1030,10 +1057,15 @@
pw.println();
pw.println("Idle mode state:");
pw.print(" Idling until: "); pw.println(mPendingIdleUntil);
- mPendingIdleUntil.dump(pw, " ", nowELAPSED, nowRTC, sdf);
+ mPendingIdleUntil.dump(pw, " ", nowRTC, nowELAPSED, sdf);
pw.println(" Pending alarms:");
dumpAlarmList(pw, mPendingWhileIdleAlarms, " ", nowELAPSED, nowRTC, sdf);
}
+ if (mNextWakeFromIdle != null) {
+ pw.println();
+ pw.print(" Next wake from idle: "); pw.println(mNextWakeFromIdle);
+ mNextWakeFromIdle.dump(pw, " ", nowRTC, nowELAPSED, sdf);
+ }
pw.println();
pw.print("Past-due non-wakeup alarms: ");
@@ -1140,7 +1172,10 @@
TimeUtils.formatDuration(fs.aggregateTime, pw);
pw.print(" "); pw.print(fs.numWakeup);
pw.print(" wakes " ); pw.print(fs.count);
- pw.print(" alarms: ");
+ pw.print(" alarms, last ");
+ TimeUtils.formatDuration(fs.lastTime, nowELAPSED, pw);
+ pw.println(":");
+ pw.print(" ");
pw.print(fs.mTag);
pw.println();
}
@@ -1216,7 +1251,13 @@
return null;
}
- private AlarmManager.AlarmClockInfo getNextAlarmClockImpl(int userId) {
+ long getNextWakeFromIdleTimeImpl() {
+ synchronized (mLock) {
+ return mNextWakeFromIdle != null ? mNextWakeFromIdle.whenElapsed : Long.MAX_VALUE;
+ }
+ }
+
+ AlarmManager.AlarmClockInfo getNextAlarmClockImpl(int userId) {
synchronized (mLock) {
return mNextAlarmClockForUser.get(userId);
}
@@ -1398,6 +1439,9 @@
mPendingIdleUntil = null;
restorePending = true;
}
+ if (mNextWakeFromIdle != null && mNextWakeFromIdle.operation.equals(operation)) {
+ mNextWakeFromIdle = null;
+ }
rebatchAllAlarmsLocked(true);
if (restorePending) {
restorePendingWhileIdleAlarmsLocked();
@@ -1585,11 +1629,19 @@
Alarm alarm = batch.get(i);
alarm.count = 1;
triggerList.add(alarm);
+ if ((alarm.flags&AlarmManager.FLAG_WAKE_FROM_IDLE) != 0) {
+ EventLogTags.writeDeviceIdleWakeFromIdle(mPendingIdleUntil != null ? 1 : 0,
+ alarm.tag);
+ }
if (mPendingIdleUntil == alarm) {
mPendingIdleUntil = null;
rebatchAllAlarmsLocked(false);
restorePendingWhileIdleAlarmsLocked();
}
+ if (mNextWakeFromIdle == alarm) {
+ mNextWakeFromIdle = null;
+ rebatchAllAlarmsLocked(false);
+ }
// Recurring alarms may have passed several alarm intervals while the
// phone was asleep or off, so pass a trigger count when sending them.
@@ -1655,7 +1707,7 @@
public final long origWhen;
public final boolean wakeup;
public final PendingIntent operation;
- public final String tag;
+ public final String tag;
public final WorkSource workSource;
public final int flags;
public int count;
@@ -1725,6 +1777,12 @@
pw.print(" repeatInterval="); pw.print(repeatInterval);
pw.print(" count="); pw.print(count);
pw.print(" flags=0x"); pw.println(Integer.toHexString(flags));
+ if (alarmClock != null) {
+ pw.print(prefix); pw.println("Alarm clock:");
+ pw.print(prefix); pw.print(" triggerTime=");
+ pw.println(sdf.format(new Date(alarmClock.getTriggerTime())));
+ pw.print(prefix); pw.print(" showIntent="); pw.println(alarmClock.getShowIntent());
+ }
pw.print(prefix); pw.print("operation="); pw.println(operation);
}
}
@@ -1762,11 +1820,11 @@
}
}
- static long fuzzForDuration(long duration) {
+ static int fuzzForDuration(long duration) {
if (duration < 15*60*1000) {
// If the duration until the time is less than 15 minutes, the maximum fuzz
// is the duration.
- return duration;
+ return (int)duration;
} else if (duration < 90*60*1000) {
// If duration is less than 1 1/2 hours, the maximum fuzz is 15 minutes,
return 15*60*1000;
@@ -1824,7 +1882,7 @@
mWakeLock.acquire();
}
final InFlight inflight = new InFlight(AlarmManagerService.this,
- alarm.operation, alarm.workSource, alarm.type, alarm.tag);
+ alarm.operation, alarm.workSource, alarm.type, alarm.tag, nowELAPSED);
mInFlight.add(inflight);
mBroadcastRefCount++;
diff --git a/services/core/java/com/android/server/AssetAtlasService.java b/services/core/java/com/android/server/AssetAtlasService.java
index 66cc29a..9e28b64 100644
--- a/services/core/java/com/android/server/AssetAtlasService.java
+++ b/services/core/java/com/android/server/AssetAtlasService.java
@@ -199,9 +199,6 @@
private final ArrayList<Bitmap> mBitmaps;
private final int mPixelCount;
- private long mNativeBitmap;
-
- // Used for debugging only
private Bitmap mAtlasBitmap;
Renderer(ArrayList<Bitmap> bitmaps, int pixelCount) {
@@ -299,9 +296,7 @@
}
final long endRender = System.nanoTime();
- if (mNativeBitmap != 0) {
- result = nUploadAtlas(buffer, mNativeBitmap);
- }
+ result = nUploadAtlas(buffer, mAtlasBitmap);
final long endUpload = System.nanoTime();
if (DEBUG_ATLAS) {
@@ -326,14 +321,8 @@
* @param height
*/
private Canvas acquireCanvas(int width, int height) {
- if (DEBUG_ATLAS_TEXTURE) {
- mAtlasBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- return new Canvas(mAtlasBitmap);
- } else {
- Canvas canvas = new Canvas();
- mNativeBitmap = nAcquireAtlasCanvas(canvas, width, height);
- return canvas;
- }
+ mAtlasBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+ return new Canvas(mAtlasBitmap);
}
/**
@@ -343,8 +332,8 @@
* to disk in /data/system/atlas.png for debugging.
*/
private void releaseCanvas(Canvas canvas) {
+ canvas.setBitmap(null);
if (DEBUG_ATLAS_TEXTURE) {
- canvas.setBitmap(null);
File systemDirectory = new File(Environment.getDataDirectory(), "system");
File dataFile = new File(systemDirectory, "atlas.png");
@@ -358,18 +347,13 @@
} catch (IOException e) {
// Ignore
}
-
- mAtlasBitmap.recycle();
- mAtlasBitmap = null;
- } else {
- nReleaseAtlasCanvas(canvas, mNativeBitmap);
}
+ mAtlasBitmap.recycle();
+ mAtlasBitmap = null;
}
}
- private static native long nAcquireAtlasCanvas(Canvas canvas, int width, int height);
- private static native void nReleaseAtlasCanvas(Canvas canvas, long bitmap);
- private static native boolean nUploadAtlas(GraphicBuffer buffer, long bitmap);
+ private static native boolean nUploadAtlas(GraphicBuffer buffer, Bitmap bitmap);
@Override
public boolean isCompatible(int ppid) {
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index bba3580..7d8e9de 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -3454,7 +3454,7 @@
}
@Override
- public boolean requestBwUpdate(Network network) {
+ public boolean requestBandwidthUpdate(Network network) {
enforceAccessPermission();
NetworkAgentInfo nai = null;
if (network == null) {
@@ -3518,10 +3518,34 @@
getCallingUid(), 0, operation));
}
+ // In order to implement the compatibility measure for pre-M apps that call
+ // WifiManager.enableNetwork(..., true) without also binding to that network explicitly,
+ // WifiManager registers a network listen for the purpose of calling setProcessDefaultNetwork.
+ // This ensures it has permission to do so.
+ private boolean hasWifiNetworkListenPermission(NetworkCapabilities nc) {
+ if (nc == null) {
+ return false;
+ }
+ int[] transportTypes = nc.getTransportTypes();
+ if (transportTypes.length != 1 || transportTypes[0] != NetworkCapabilities.TRANSPORT_WIFI) {
+ return false;
+ }
+ try {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.ACCESS_WIFI_STATE,
+ "ConnectivityService");
+ } catch (SecurityException e) {
+ return false;
+ }
+ return true;
+ }
+
@Override
public NetworkRequest listenForNetwork(NetworkCapabilities networkCapabilities,
Messenger messenger, IBinder binder) {
- enforceAccessPermission();
+ if (!hasWifiNetworkListenPermission(networkCapabilities)) {
+ enforceAccessPermission();
+ }
NetworkRequest networkRequest = new NetworkRequest(new NetworkCapabilities(
networkCapabilities), TYPE_NONE, nextNetworkRequestId());
diff --git a/services/core/java/com/android/server/EventLogTags.logtags b/services/core/java/com/android/server/EventLogTags.logtags
index 694e851..abd2ca0 100644
--- a/services/core/java/com/android/server/EventLogTags.logtags
+++ b/services/core/java/com/android/server/EventLogTags.logtags
@@ -72,7 +72,7 @@
# when a notification action button has been clicked
27521 notification_action_clicked (key|3),(action_index|1)
# when a notification has been canceled
-27530 notification_canceled (key|3),(reason|1)
+27530 notification_canceled (key|3),(reason|1),(lifespan|1)
# ---------------------------
# Watchdog.java
@@ -173,6 +173,13 @@
# ---------------------------
33000 wp_wallpaper_crashed (component|3)
+# ---------------------------
+# Device idle
+# ---------------------------
+34000 device_idle (state|1|5), (reason|3)
+34001 device_idle_step
+34002 device_idle_wake_from_idle (is_idle|1|5), (reason|3)
+
# ---------------------------
# ConnectivityService.java
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java
index 649fcde..f88802a 100644
--- a/services/core/java/com/android/server/MountService.java
+++ b/services/core/java/com/android/server/MountService.java
@@ -823,7 +823,10 @@
case VoldResponseCode.DISK_CREATED: {
if (cooked.length != 3) break;
final String id = cooked[1];
- final int flags = Integer.parseInt(cooked[2]);
+ int flags = Integer.parseInt(cooked[2]);
+ if (SystemProperties.getBoolean(StorageManager.PROP_FORCE_ADOPTABLE, false)) {
+ flags |= DiskInfo.FLAG_ADOPTABLE;
+ }
mDisks.put(id, new DiskInfo(id, flags));
break;
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index b658932..a48a4d9 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -33,7 +33,6 @@
import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_DONT_LOCK;
import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_LAUNCHABLE;
import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_PINNABLE;
-import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_WHITELISTED;
import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
@@ -114,6 +113,7 @@
import android.app.ActivityManager.RunningTaskInfo;
import android.app.ActivityManager.StackInfo;
import android.app.ActivityManagerInternal;
+import android.app.ActivityManagerInternal.SleepToken;
import android.app.ActivityManagerNative;
import android.app.ActivityOptions;
import android.app.ActivityThread;
@@ -437,6 +437,11 @@
*/
SparseArray<String[]> mLockTaskPackages = new SparseArray<>();
+ /**
+ * The package name of the DeviceOwner. This package is not permitted to have its data cleared.
+ */
+ String mDeviceOwnerName;
+
public class PendingAssistExtras extends Binder implements Runnable {
public final ActivityRecord activity;
public final Bundle extras;
@@ -1013,6 +1018,13 @@
*/
private int mWakefulness = PowerManagerInternal.WAKEFULNESS_AWAKE;
+ /**
+ * A list of tokens that cause the top activity to be put to sleep.
+ * They are used by components that may hide and block interaction with underlying
+ * activities.
+ */
+ final ArrayList<SleepToken> mSleepTokens = new ArrayList<SleepToken>();
+
static final int LOCK_SCREEN_HIDDEN = 0;
static final int LOCK_SCREEN_LEAVING = 1;
static final int LOCK_SCREEN_SHOWN = 2;
@@ -1312,10 +1324,11 @@
final ServiceThread mHandlerThread;
final MainHandler mHandler;
+ final UiHandler mUiHandler;
- final class MainHandler extends Handler {
- public MainHandler(Looper looper) {
- super(looper, null, true);
+ final class UiHandler extends Handler {
+ public UiHandler() {
+ super(com.android.server.UiThread.get().getLooper(), null, true);
}
@Override
@@ -1428,15 +1441,6 @@
d.show();
ensureBootCompleted();
} break;
- case UPDATE_CONFIGURATION_MSG: {
- final ContentResolver resolver = mContext.getContentResolver();
- Settings.System.putConfiguration(resolver, (Configuration)msg.obj);
- } break;
- case GC_BACKGROUND_PROCESSES_MSG: {
- synchronized (ActivityManagerService.this) {
- performAppGcsIfAppropriateLocked();
- }
- } break;
case WAIT_FOR_DEBUGGER_MSG: {
synchronized (ActivityManagerService.this) {
ProcessRecord app = (ProcessRecord)msg.obj;
@@ -1457,6 +1461,88 @@
}
}
} break;
+ case SHOW_UID_ERROR_MSG: {
+ if (mShowDialogs) {
+ AlertDialog d = new BaseErrorDialog(mContext);
+ d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
+ d.setCancelable(false);
+ d.setTitle(mContext.getText(R.string.android_system_label));
+ d.setMessage(mContext.getText(R.string.system_error_wipe_data));
+ d.setButton(DialogInterface.BUTTON_POSITIVE, mContext.getText(R.string.ok),
+ obtainMessage(DISMISS_DIALOG_MSG, d));
+ d.show();
+ }
+ } break;
+ case SHOW_FINGERPRINT_ERROR_MSG: {
+ if (mShowDialogs) {
+ AlertDialog d = new BaseErrorDialog(mContext);
+ d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
+ d.setCancelable(false);
+ d.setTitle(mContext.getText(R.string.android_system_label));
+ d.setMessage(mContext.getText(R.string.system_error_manufacturer));
+ d.setButton(DialogInterface.BUTTON_POSITIVE, mContext.getText(R.string.ok),
+ obtainMessage(DISMISS_DIALOG_MSG, d));
+ d.show();
+ }
+ } break;
+ case SHOW_COMPAT_MODE_DIALOG_MSG: {
+ synchronized (ActivityManagerService.this) {
+ ActivityRecord ar = (ActivityRecord) msg.obj;
+ if (mCompatModeDialog != null) {
+ if (mCompatModeDialog.mAppInfo.packageName.equals(
+ ar.info.applicationInfo.packageName)) {
+ return;
+ }
+ mCompatModeDialog.dismiss();
+ mCompatModeDialog = null;
+ }
+ if (ar != null && false) {
+ if (mCompatModePackages.getPackageAskCompatModeLocked(
+ ar.packageName)) {
+ int mode = mCompatModePackages.computeCompatModeLocked(
+ ar.info.applicationInfo);
+ if (mode == ActivityManager.COMPAT_MODE_DISABLED
+ || mode == ActivityManager.COMPAT_MODE_ENABLED) {
+ mCompatModeDialog = new CompatModeDialog(
+ ActivityManagerService.this, mContext,
+ ar.info.applicationInfo);
+ mCompatModeDialog.show();
+ }
+ }
+ }
+ }
+ break;
+ }
+ case START_USER_SWITCH_MSG: {
+ showUserSwitchDialog(msg.arg1, (String) msg.obj);
+ break;
+ }
+ case DISMISS_DIALOG_MSG: {
+ final Dialog d = (Dialog) msg.obj;
+ d.dismiss();
+ break;
+ }
+ }
+ }
+ }
+
+ final class MainHandler extends Handler {
+ public MainHandler(Looper looper) {
+ super(looper, null, true);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case UPDATE_CONFIGURATION_MSG: {
+ final ContentResolver resolver = mContext.getContentResolver();
+ Settings.System.putConfiguration(resolver, (Configuration) msg.obj);
+ } break;
+ case GC_BACKGROUND_PROCESSES_MSG: {
+ synchronized (ActivityManagerService.this) {
+ performAppGcsIfAppropriateLocked();
+ }
+ } break;
case SERVICE_TIMEOUT_MSG: {
if (mDidDexOpt) {
mDidDexOpt = false;
@@ -1521,30 +1607,6 @@
}
}
} break;
- case SHOW_UID_ERROR_MSG: {
- if (mShowDialogs) {
- AlertDialog d = new BaseErrorDialog(mContext);
- d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
- d.setCancelable(false);
- d.setTitle(mContext.getText(R.string.android_system_label));
- d.setMessage(mContext.getText(R.string.system_error_wipe_data));
- d.setButton(DialogInterface.BUTTON_POSITIVE, mContext.getText(R.string.ok),
- mHandler.obtainMessage(DISMISS_DIALOG_MSG, d));
- d.show();
- }
- } break;
- case SHOW_FINGERPRINT_ERROR_MSG: {
- if (mShowDialogs) {
- AlertDialog d = new BaseErrorDialog(mContext);
- d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
- d.setCancelable(false);
- d.setTitle(mContext.getText(R.string.android_system_label));
- d.setMessage(mContext.getText(R.string.system_error_manufacturer));
- d.setButton(DialogInterface.BUTTON_POSITIVE, mContext.getText(R.string.ok),
- mHandler.obtainMessage(DISMISS_DIALOG_MSG, d));
- d.show();
- }
- } break;
case PROC_START_TIMEOUT_MSG: {
if (mDidDexOpt) {
mDidDexOpt = false;
@@ -1645,34 +1707,6 @@
sendMessageDelayed(nmsg, POWER_CHECK_DELAY);
}
} break;
- case SHOW_COMPAT_MODE_DIALOG_MSG: {
- synchronized (ActivityManagerService.this) {
- ActivityRecord ar = (ActivityRecord)msg.obj;
- if (mCompatModeDialog != null) {
- if (mCompatModeDialog.mAppInfo.packageName.equals(
- ar.info.applicationInfo.packageName)) {
- return;
- }
- mCompatModeDialog.dismiss();
- mCompatModeDialog = null;
- }
- if (ar != null && false) {
- if (mCompatModePackages.getPackageAskCompatModeLocked(
- ar.packageName)) {
- int mode = mCompatModePackages.computeCompatModeLocked(
- ar.info.applicationInfo);
- if (mode == ActivityManager.COMPAT_MODE_DISABLED
- || mode == ActivityManager.COMPAT_MODE_ENABLED) {
- mCompatModeDialog = new CompatModeDialog(
- ActivityManagerService.this, mContext,
- ar.info.applicationInfo);
- mCompatModeDialog.show();
- }
- }
- }
- }
- break;
- }
case DISPATCH_PROCESSES_CHANGED: {
dispatchProcessesChanged();
break;
@@ -1693,10 +1727,6 @@
thread.start();
break;
}
- case START_USER_SWITCH_MSG: {
- showUserSwitchDialog(msg.arg1, (String) msg.obj);
- break;
- }
case REPORT_USER_SWITCH_MSG: {
dispatchUserSwitch((UserStartedState) msg.obj, msg.arg1, msg.arg2);
break;
@@ -1803,11 +1833,6 @@
}
break;
}
- case DISMISS_DIALOG_MSG: {
- final Dialog d = (Dialog) msg.obj;
- d.dismiss();
- break;
- }
case NOTIFY_TASK_STACK_CHANGE_LISTENERS_MSG: {
synchronized (ActivityManagerService.this) {
int i = mTaskStackListeners.beginBroadcast();
@@ -2196,6 +2221,7 @@
android.os.Process.THREAD_PRIORITY_FOREGROUND, false /*allowIo*/);
mHandlerThread.start();
mHandler = new MainHandler(mHandlerThread.getLooper());
+ mUiHandler = new UiHandler();
mFgBroadcastQueue = new BroadcastQueue(this, mHandler,
"foreground", BROADCAST_FG_TIMEOUT, false);
@@ -2596,7 +2622,7 @@
Message msg = Message.obtain();
msg.what = SHOW_COMPAT_MODE_DIALOG_MSG;
msg.obj = r.task.askedCompatMode ? null : r;
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
}
private int updateLruProcessInternalLocked(ProcessRecord app, long now, int index,
@@ -4778,20 +4804,20 @@
map.put("activity", activity);
}
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
}
}
final void showLaunchWarningLocked(final ActivityRecord cur, final ActivityRecord next) {
if (!mLaunchWarningShown) {
mLaunchWarningShown = true;
- mHandler.post(new Runnable() {
+ mUiHandler.post(new Runnable() {
@Override
public void run() {
synchronized (ActivityManagerService.this) {
final Dialog d = new LaunchWarningWindow(mContext, cur, next);
d.show();
- mHandler.postDelayed(new Runnable() {
+ mUiHandler.postDelayed(new Runnable() {
@Override
public void run() {
synchronized (ActivityManagerService.this) {
@@ -4810,6 +4836,9 @@
public boolean clearApplicationUserData(final String packageName,
final IPackageDataObserver observer, int userId) {
enforceNotIsolatedCaller("clearApplicationUserData");
+ if (packageName != null && packageName.equals(mDeviceOwnerName)) {
+ throw new SecurityException("Clearing DeviceOwner data is forbidden.");
+ }
int uid = Binder.getCallingUid();
int pid = Binder.getCallingPid();
userId = handleIncomingUser(pid, uid,
@@ -7750,7 +7779,7 @@
msg.what = WAIT_FOR_DEBUGGER_MSG;
msg.obj = app;
msg.arg1 = waiting ? 1 : 0;
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
}
}
@@ -8542,6 +8571,17 @@
}
@Override
+ public void updateDeviceOwner(String packageName) {
+ final int callingUid = Binder.getCallingUid();
+ if (callingUid != 0 && callingUid != Process.SYSTEM_UID) {
+ throw new SecurityException("updateDeviceOwner called from non-system process");
+ }
+ synchronized (this) {
+ mDeviceOwnerName = packageName;
+ }
+ }
+
+ @Override
public void updateLockTaskPackages(int userId, String[] packages) {
final int callingUid = Binder.getCallingUid();
if (callingUid != 0 && callingUid != Process.SYSTEM_UID) {
@@ -8682,6 +8722,17 @@
}
}
+ @Override
+ public void showLockTaskEscapeMessage(IBinder token) {
+ synchronized (this) {
+ final ActivityRecord r = ActivityRecord.forTokenLocked(token);
+ if (r == null) {
+ return;
+ }
+ mStackSupervisor.showLockTaskEscapeMessageLocked(r.task);
+ }
+ }
+
// =========================================================
// CONTENT PROVIDERS
// =========================================================
@@ -9813,15 +9864,14 @@
return false;
}
+ // TODO: Transform the lock screen state into a sleep token instead.
switch (mWakefulness) {
case PowerManagerInternal.WAKEFULNESS_AWAKE:
case PowerManagerInternal.WAKEFULNESS_DREAMING:
- // If we're interactive but applications are already paused then defer
- // resuming them until the lock screen is hidden.
- return mSleeping && mLockScreenShown != LOCK_SCREEN_HIDDEN;
case PowerManagerInternal.WAKEFULNESS_DOZING:
- // If we're dozing then pause applications whenever the lock screen is shown.
- return mLockScreenShown != LOCK_SCREEN_HIDDEN;
+ // Pause applications whenever the lock screen is shown or any sleep
+ // tokens have been acquired.
+ return (mLockScreenShown != LOCK_SCREEN_HIDDEN || !mSleepTokens.isEmpty());
case PowerManagerInternal.WAKEFULNESS_ASLEEP:
default:
// If we're asleep then pause applications unconditionally.
@@ -11177,7 +11227,7 @@
Message msg = Message.obtain();
msg.what = SHOW_FACTORY_ERROR_MSG;
msg.getData().putCharSequence("msg", errorMsg);
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
}
}
}
@@ -11227,14 +11277,14 @@
if (AppGlobals.getPackageManager().hasSystemUidErrors()) {
Slog.e(TAG, "UIDs on the system are inconsistent, you need to wipe your"
+ " data partition or your device will be unstable.");
- mHandler.obtainMessage(SHOW_UID_ERROR_MSG).sendToTarget();
+ mUiHandler.obtainMessage(SHOW_UID_ERROR_MSG).sendToTarget();
}
} catch (RemoteException e) {
}
if (!Build.isBuildConsistent()) {
Slog.e(TAG, "Build fingerprint is not consistent, warning user");
- mHandler.obtainMessage(SHOW_FINGERPRINT_ERROR_MSG).sendToTarget();
+ mUiHandler.obtainMessage(SHOW_FINGERPRINT_ERROR_MSG).sendToTarget();
}
long ident = Binder.clearCallingIdentity();
@@ -11521,7 +11571,7 @@
data.put("violationMask", violationMask);
data.put("info", info);
msg.obj = data;
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
Binder.restoreCallingIdentity(origId);
}
@@ -11976,7 +12026,7 @@
data.put("result", result);
data.put("app", r);
msg.obj = data;
- mHandler.sendMessage(msg);
+ mUiHandler.sendMessage(msg);
Binder.restoreCallingIdentity(origId);
}
@@ -12950,6 +13000,7 @@
if (dumpPackage == null) {
pw.println(" mWakefulness="
+ PowerManagerInternal.wakefulnessToString(mWakefulness));
+ pw.println(" mSleepTokens=" + mSleepTokens);
pw.println(" mSleeping=" + mSleeping + " mLockScreenShown="
+ lockScreenShownToString());
pw.println(" mShuttingDown=" + mShuttingDown + " mTestPssMode=" + mTestPssMode);
@@ -14754,7 +14805,7 @@
}
}
- for (int i=0; i<cpr.connections.size(); i++) {
+ for (int i = cpr.connections.size() - 1; i >= 0; i--) {
ContentProviderConnection conn = cpr.connections.get(i);
if (conn.waiting) {
// If this connection is waiting for the provider, then we don't
@@ -14846,10 +14897,11 @@
boolean restart = false;
// Remove published content providers.
- for (int i=app.pubProviders.size()-1; i>=0; i--) {
+ for (int i = app.pubProviders.size() - 1; i >= 0; i--) {
ContentProviderRecord cpr = app.pubProviders.valueAt(i);
final boolean always = app.bad || !allowRestart;
- if (removeDyingProviderLocked(app, cpr, always) || always) {
+ boolean inLaunching = removeDyingProviderLocked(app, cpr, always);
+ if ((inLaunching || always) && !cpr.connections.isEmpty()) {
// We left the provider in the launching list, need to
// restart it.
restart = true;
@@ -14867,7 +14919,7 @@
// Unregister from connected content providers.
if (!app.conProviders.isEmpty()) {
- for (int i=0; i<app.conProviders.size(); i++) {
+ for (int i = app.conProviders.size() - 1; i >= 0; i--) {
ContentProviderConnection conn = app.conProviders.get(i);
conn.provider.connections.remove(conn);
stopAssociationLocked(app.uid, app.processName, conn.provider.uid,
@@ -14882,9 +14934,8 @@
// XXX Commented out for now. Trying to figure out a way to reproduce
// the actual situation to identify what is actually going on.
if (false) {
- for (int i=0; i<mLaunchingProviders.size(); i++) {
- ContentProviderRecord cpr = (ContentProviderRecord)
- mLaunchingProviders.get(i);
+ for (int i = mLaunchingProviders.size() - 1; i >= 0; i--) {
+ ContentProviderRecord cpr = mLaunchingProviders.get(i);
if (cpr.connections.size() <= 0 && !cpr.hasExternalProcessHandles()) {
synchronized (cpr) {
cpr.launchingApp = null;
@@ -14897,7 +14948,7 @@
skipCurrentReceiverLocked(app);
// Unregister any receivers.
- for (int i=app.receivers.size()-1; i>=0; i--) {
+ for (int i = app.receivers.size() - 1; i >= 0; i--) {
removeReceiverLocked(app.receivers.valueAt(i));
}
app.receivers.clear();
@@ -14915,7 +14966,7 @@
}
}
- for (int i = mPendingProcessChanges.size()-1; i>=0; i--) {
+ for (int i = mPendingProcessChanges.size() - 1; i >= 0; i--) {
ProcessChangeItem item = mPendingProcessChanges.get(i);
if (item.pid == app.pid) {
mPendingProcessChanges.remove(i);
@@ -14990,18 +15041,14 @@
// and if any run in this process then either schedule a restart of
// the process or kill the client waiting for it if this process has
// gone bad.
- int NL = mLaunchingProviders.size();
boolean restart = false;
- for (int i=0; i<NL; i++) {
+ for (int i = mLaunchingProviders.size() - 1; i >= 0; i--) {
ContentProviderRecord cpr = mLaunchingProviders.get(i);
if (cpr.launchingApp == app) {
- if (!alwaysBad && !app.bad) {
+ if (!alwaysBad && !app.bad && !cpr.connections.isEmpty()) {
restart = true;
} else {
removeDyingProviderLocked(app, cpr, true);
- // cpr should have been removed from mLaunchingProviders
- NL = mLaunchingProviders.size();
- i--;
}
}
}
@@ -18966,8 +19013,8 @@
userName = userInfo.name;
mTargetUserId = userId;
}
- mHandler.removeMessages(START_USER_SWITCH_MSG);
- mHandler.sendMessage(mHandler.obtainMessage(START_USER_SWITCH_MSG, userId, 0, userName));
+ mUiHandler.removeMessages(START_USER_SWITCH_MSG);
+ mUiHandler.sendMessage(mUiHandler.obtainMessage(START_USER_SWITCH_MSG, userId, 0, userName));
return true;
}
@@ -19723,6 +19770,42 @@
return ActivityManagerService.this.startIsolatedProcess(entryPoint, entryPointArgs,
processName, abiOverride, uid, crashHandler);
}
+
+ @Override
+ public SleepToken acquireSleepToken(String tag) {
+ Preconditions.checkNotNull(tag);
+
+ synchronized (ActivityManagerService.this) {
+ SleepTokenImpl token = new SleepTokenImpl(tag);
+ mSleepTokens.add(token);
+ updateSleepIfNeededLocked();
+ return token;
+ }
+ }
+ }
+
+ private final class SleepTokenImpl extends SleepToken {
+ private final String mTag;
+ private final long mAcquireTime;
+
+ public SleepTokenImpl(String tag) {
+ mTag = tag;
+ mAcquireTime = SystemClock.uptimeMillis();
+ }
+
+ @Override
+ public void release() {
+ synchronized (ActivityManagerService.this) {
+ if (mSleepTokens.remove(this)) {
+ updateSleepIfNeededLocked();
+ }
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "{\"" + mTag + "\", acquire at " + TimeUtils.formatUptime(mAcquireTime) + "}";
+ }
}
/**
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 1585f61..8c98f9f 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -166,6 +166,7 @@
static final int LOCK_TASK_END_MSG = FIRST_SUPERVISOR_STACK_MSG + 10;
static final int CONTAINER_CALLBACK_TASK_LIST_EMPTY = FIRST_SUPERVISOR_STACK_MSG + 11;
static final int LAUNCH_TASK_BEHIND_COMPLETE = FIRST_SUPERVISOR_STACK_MSG + 12;
+ static final int SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG = FIRST_SUPERVISOR_STACK_MSG + 13;
private final static String VIRTUAL_DISPLAY_BASE_NAME = "ActivityViewVirtualDisplay";
@@ -463,7 +464,7 @@
mHomeStack.moveHomeStackTaskToTop(homeStackTaskType);
- final ActivityRecord top = mHomeStack.topRunningActivityLocked(null);
+ final ActivityRecord top = getHomeActivity();
if (top == null) {
return false;
}
@@ -486,7 +487,8 @@
prev.task.setTaskToReturnTo(APPLICATION_ACTIVITY_TYPE);
}
- ActivityRecord r = mHomeStack.topRunningActivityLocked(null);
+ mHomeStack.moveHomeStackTaskToTop(homeStackTaskType);
+ ActivityRecord r = getHomeActivity();
if (r != null) {
mService.setFocusedActivityLocked(r, reason);
return resumeTopActivitiesLocked(mHomeStack, prev, null);
@@ -3652,6 +3654,12 @@
mLockTaskNotify.showToast(mLockTaskModeState);
}
+ void showLockTaskEscapeMessageLocked(TaskRecord task) {
+ if (mLockTaskModeTasks.contains(task)) {
+ mHandler.sendEmptyMessage(SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG);
+ }
+ }
+
void setLockTaskModeLocked(TaskRecord task, int lockTaskModeState, String reason) {
if (task == null) {
// Take out of lock task mode if necessary
@@ -3897,6 +3905,12 @@
mLockTaskModeState = LOCK_TASK_MODE_NONE;
}
} break;
+ case SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG: {
+ if (mLockTaskNotify == null) {
+ mLockTaskNotify = new LockTaskNotify(mService.mContext);
+ }
+ mLockTaskNotify.showToast(LOCK_TASK_MODE_PINNED);
+ } break;
case CONTAINER_CALLBACK_TASK_LIST_EMPTY: {
final ActivityContainer container = (ActivityContainer) msg.obj;
final IActivityContainerCallback callback = container.mCallback;
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java
index 905adc0..58665d7 100644
--- a/services/core/java/com/android/server/am/BatteryStatsService.java
+++ b/services/core/java/com/android/server/am/BatteryStatsService.java
@@ -982,9 +982,18 @@
if (noOutput) {
return;
}
- if (BatteryStatsHelper.checkWifiOnly(mContext)) {
- flags |= BatteryStats.DUMP_DEVICE_WIFI_ONLY;
+
+ long ident = Binder.clearCallingIdentity();
+ try {
+ if (BatteryStatsHelper.checkWifiOnly(mContext)) {
+ flags |= BatteryStats.DUMP_DEVICE_WIFI_ONLY;
+ }
+ // Fetch data from external sources and update the BatteryStatsImpl object with them.
+ updateExternalStats("dump");
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
+
if (reqUid >= 0) {
// By default, if the caller is only interested in a specific package, then
// we only dump the aggregated data since charged.
@@ -995,9 +1004,6 @@
}
}
- // Fetch data from external sources and update the BatteryStatsImpl object with them.
- updateExternalStats("dump");
-
if (useCheckinFormat) {
List<ApplicationInfo> apps = mContext.getPackageManager().getInstalledApplications(0);
if (isRealCheckin) {
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 5b5ebef..a91a7ca 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -18,7 +18,9 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import android.app.ActivityManager;
import android.app.AppGlobals;
@@ -95,14 +97,27 @@
final ArrayList<BroadcastRecord> mOrderedBroadcasts = new ArrayList<BroadcastRecord>();
/**
- * Historical data of past broadcasts, for debugging.
+ * Historical data of past broadcasts, for debugging. This is a ring buffer
+ * whose last element is at mHistoryNext.
*/
final BroadcastRecord[] mBroadcastHistory = new BroadcastRecord[MAX_BROADCAST_HISTORY];
+ int mHistoryNext = 0;
/**
- * Summary of historical data of past broadcasts, for debugging.
+ * Summary of historical data of past broadcasts, for debugging. This is a
+ * ring buffer whose last element is at mSummaryHistoryNext.
*/
final Intent[] mBroadcastSummaryHistory = new Intent[MAX_BROADCAST_SUMMARY_HISTORY];
+ int mSummaryHistoryNext = 0;
+
+ /**
+ * Various milestone timestamps of entries in the mBroadcastSummaryHistory ring
+ * buffer, also tracked via the mSummaryHistoryNext index. These are all in wall
+ * clock time, not elapsed.
+ */
+ final long[] mSummaryHistoryEnqueueTime = new long[MAX_BROADCAST_SUMMARY_HISTORY];
+ final long[] mSummaryHistoryDispatchTime = new long[MAX_BROADCAST_SUMMARY_HISTORY];
+ final long[] mSummaryHistoryFinishTime = new long[MAX_BROADCAST_SUMMARY_HISTORY];
/**
* Set when we current have a BROADCAST_INTENT_MSG in flight.
@@ -765,7 +780,8 @@
try {
perm = AppGlobals.getPackageManager().
checkPermission(r.requiredPermission,
- info.activityInfo.applicationInfo.packageName, r.userId);
+ info.activityInfo.applicationInfo.packageName,
+ UserHandle.getUserId(info.activityInfo.applicationInfo.uid));
} catch (RemoteException e) {
perm = PackageManager.PERMISSION_DENIED;
}
@@ -1059,18 +1075,28 @@
}
}
+ private final int ringAdvance(int x, final int increment, final int ringSize) {
+ x += increment;
+ if (x < 0) return (ringSize - 1);
+ else if (x >= ringSize) return 0;
+ else return x;
+ }
+
private final void addBroadcastToHistoryLocked(BroadcastRecord r) {
if (r.callingUid < 0) {
// This was from a registerReceiver() call; ignore it.
return;
}
- System.arraycopy(mBroadcastHistory, 0, mBroadcastHistory, 1,
- MAX_BROADCAST_HISTORY-1);
r.finishTime = SystemClock.uptimeMillis();
- mBroadcastHistory[0] = r;
- System.arraycopy(mBroadcastSummaryHistory, 0, mBroadcastSummaryHistory, 1,
- MAX_BROADCAST_SUMMARY_HISTORY-1);
- mBroadcastSummaryHistory[0] = r.intent;
+
+ mBroadcastHistory[mHistoryNext] = r;
+ mHistoryNext = ringAdvance(mHistoryNext, 1, MAX_BROADCAST_HISTORY);
+
+ mBroadcastSummaryHistory[mSummaryHistoryNext] = r.intent;
+ mSummaryHistoryEnqueueTime[mSummaryHistoryNext] = r.enqueueClockTime;
+ mSummaryHistoryDispatchTime[mSummaryHistoryNext] = r.dispatchClockTime;
+ mSummaryHistoryFinishTime[mSummaryHistoryNext] = System.currentTimeMillis();
+ mSummaryHistoryNext = ringAdvance(mSummaryHistoryNext, 1, MAX_BROADCAST_SUMMARY_HISTORY);
}
final void logBroadcastReceiverDiscardLocked(BroadcastRecord r) {
@@ -1157,11 +1183,20 @@
int i;
boolean printed = false;
- for (i=0; i<MAX_BROADCAST_HISTORY; i++) {
- BroadcastRecord r = mBroadcastHistory[i];
+
+ i = -1;
+ int lastIndex = mHistoryNext;
+ int ringIndex = lastIndex;
+ do {
+ // increasing index = more recent entry, and we want to print the most
+ // recent first and work backwards, so we roll through the ring backwards.
+ ringIndex = ringAdvance(ringIndex, -1, MAX_BROADCAST_HISTORY);
+ BroadcastRecord r = mBroadcastHistory[ringIndex];
if (r == null) {
- break;
+ continue;
}
+
+ i++; // genuine record of some sort even if we're filtering it out
if (dumpPackage != null && !dumpPackage.equals(r.callerPackage)) {
continue;
}
@@ -1189,17 +1224,33 @@
pw.print(" extras: "); pw.println(bundle.toString());
}
}
- }
+ } while (ringIndex != lastIndex);
if (dumpPackage == null) {
+ lastIndex = ringIndex = mSummaryHistoryNext;
if (dumpAll) {
- i = 0;
printed = false;
+ i = -1;
+ } else {
+ // roll over the 'i' full dumps that have already been issued
+ for (int j = i;
+ j > 0 && ringIndex != lastIndex;) {
+ ringIndex = ringAdvance(ringIndex, -1, MAX_BROADCAST_SUMMARY_HISTORY);
+ BroadcastRecord r = mBroadcastHistory[ringIndex];
+ if (r == null) {
+ continue;
+ }
+ j--;
+ }
}
- for (; i<MAX_BROADCAST_SUMMARY_HISTORY; i++) {
- Intent intent = mBroadcastSummaryHistory[i];
+ // done skipping; dump the remainder of the ring. 'i' is still the ordinal within
+ // the overall broadcast history.
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ do {
+ ringIndex = ringAdvance(ringIndex, -1, MAX_BROADCAST_SUMMARY_HISTORY);
+ Intent intent = mBroadcastSummaryHistory[ringIndex];
if (intent == null) {
- break;
+ continue;
}
if (!printed) {
if (needSep) {
@@ -1213,13 +1264,17 @@
pw.println(" ...");
break;
}
+ i++;
pw.print(" #"); pw.print(i); pw.print(": ");
pw.println(intent.toShortString(false, true, true, false));
+ pw.print(" enq="); pw.print(sdf.format(new Date(mSummaryHistoryEnqueueTime[ringIndex])));
+ pw.print(" disp="); pw.print(sdf.format(new Date(mSummaryHistoryDispatchTime[ringIndex])));
+ pw.print(" fin="); pw.println(sdf.format(new Date(mSummaryHistoryFinishTime[ringIndex])));
Bundle bundle = intent.getExtras();
if (bundle != null) {
pw.print(" extras: "); pw.println(bundle.toString());
}
- }
+ } while (ringIndex != lastIndex);
}
return needSep;
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 790a78d..f3b4516 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -385,10 +385,8 @@
}
void setTaskToReturnTo(int taskToReturnTo) {
- if (IGNORE_RETURN_TO_RECENTS && taskToReturnTo == RECENTS_ACTIVITY_TYPE) {
- taskToReturnTo = HOME_ACTIVITY_TYPE;
- }
- mTaskToReturnTo = taskToReturnTo;
+ mTaskToReturnTo = (IGNORE_RETURN_TO_RECENTS && taskToReturnTo == RECENTS_ACTIVITY_TYPE)
+ ? HOME_ACTIVITY_TYPE : taskToReturnTo;
}
int getTaskToReturnTo() {
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
index 770df82..28597c1 100644
--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
@@ -67,6 +67,9 @@
private static final int FINGERPRINT_TEMPLATE_ENROLLING = 3;
private static final int FINGERPRINT_TEMPLATE_REMOVED = 4;
private static final int FINGERPRINT_AUTHENTICATED = 5;
+ private static final long MS_PER_SEC = 1000;
+ private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30*1000;
+ private static final int MAX_FAILED_ATTEMPTS = 5;
Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
@@ -91,14 +94,6 @@
}
};
- private static final int STATE_IDLE = 0;
- private static final int STATE_AUTHENTICATING = 1;
- private static final int STATE_ENROLLING = 2;
- private static final int STATE_REMOVING = 3;
- private static final long MS_PER_SEC = 1000;
- private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30*1000;
- private static final int MAX_FAILED_ATTEMPTS = 5;
-
public FingerprintService(Context context) {
super(context);
mContext = context;
@@ -116,6 +111,7 @@
static native int nativeOpenHal();
static native int nativeCloseHal();
static native void nativeInit(MessageQueue queue, FingerprintService service);
+ static native long nativeGetAuthenticatorId();
static final class FpHalMsg {
int type; // Type of the message. One of the constants in fingerprint.h
@@ -427,6 +423,7 @@
private boolean sendEnrollResult(int fpId, int groupId, int remaining) {
IFingerprintServiceReceiver rx = receiver.get();
if (rx == null) return true; // client not listening
+ FingerprintUtils.vibrateFingerprintSuccess(getContext());
try {
rx.onEnrollResult(mHalDeviceId, fpId, groupId, remaining);
return remaining == 0;
@@ -453,8 +450,10 @@
result = true; // client not listening
}
if (fpId <= 0) {
+ FingerprintUtils.vibrateFingerprintError(getContext());
result |= handleFailedAttempt(this);
} else {
+ FingerprintUtils.vibrateFingerprintSuccess(getContext());
result |= true; // we have a valid fingerprint
mLockoutReset.run();
}
@@ -597,6 +596,12 @@
checkPermission(USE_FINGERPRINT);
return FingerprintService.this.hasEnrolledFingerprints(groupId);
}
+
+ @Override
+ public long getAuthenticatorId() {
+ checkPermission(USE_FINGERPRINT);
+ return nativeGetAuthenticatorId();
+ }
}
@Override
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
index b24bc65..8031c05 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
@@ -176,6 +176,7 @@
void init() {
assertRunOnServiceThread();
mPreferredAddress = getPreferredAddress();
+ mPendingActionClearedCallback = null;
}
/**
@@ -837,16 +838,16 @@
*
* @param initiatedByCec true if this sequence is initiated
* by the reception the CEC messages like <Standby>
- * @param origialCallback callback interface to get notified when all pending actions are
+ * @param originalCallback callback interface to get notified when all pending actions are
* cleared
*/
protected void disableDevice(boolean initiatedByCec,
- final PendingActionClearedCallback origialCallback) {
+ final PendingActionClearedCallback originalCallback) {
mPendingActionClearedCallback = new PendingActionClearedCallback() {
@Override
public void onCleared(HdmiCecLocalDevice device) {
mHandler.removeMessages(MSG_DISABLE_DEVICE_TIMEOUT);
- origialCallback.onCleared(device);
+ originalCallback.onCleared(device);
}
};
mHandler.sendMessageDelayed(Message.obtain(mHandler, MSG_DISABLE_DEVICE_TIMEOUT),
@@ -865,6 +866,9 @@
action.finish(false);
iter.remove();
}
+ if (mPendingActionClearedCallback != null) {
+ mPendingActionClearedCallback.onCleared(this);
+ }
}
/**
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index 94f8dee..c4f410f 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -1109,11 +1109,13 @@
@ServiceThreadOnly
protected boolean handleTerminateArc(HdmiCecMessage message) {
assertRunOnServiceThread();
- // In cast of termination, do not check ARC configuration in that AVR device
- // might be removed already.
-
- // In case where <Terminate Arc> is started by <Request ARC Termination>
- // need to clean up RequestArcInitiationAction.
+ if (mService .isPowerStandbyOrTransient()) {
+ setArcStatus(false);
+ return true;
+ }
+ // Do not check ARC configuration since the AVR might have been already removed.
+ // Clean up RequestArcTerminationAction in case <Terminate Arc> was started by
+ // <Request ARC Termination>.
removeAction(RequestArcTerminationAction.class);
SetArcTransmissionStateAction action = new SetArcTransmissionStateAction(this,
message.getSource(), false);
diff --git a/services/core/java/com/android/server/location/GpsLocationProvider.java b/services/core/java/com/android/server/location/GpsLocationProvider.java
index a72c77e..d3240ec 100644
--- a/services/core/java/com/android/server/location/GpsLocationProvider.java
+++ b/services/core/java/com/android/server/location/GpsLocationProvider.java
@@ -550,14 +550,19 @@
}
}
- try {
- // Convert properties to string contents and send it to HAL.
- ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
- properties.store(baos, null);
- native_configuration_update(baos.toString());
- Log.d(TAG, "final config = " + baos.toString());
- } catch (IOException ex) {
- Log.w(TAG, "failed to dump properties contents");
+ if (native_is_gnss_configuration_supported()) {
+ try {
+ // Convert properties to string contents and send it to HAL.
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
+ properties.store(baos, null);
+ native_configuration_update(baos.toString());
+ Log.d(TAG, "final config = " + baos.toString());
+ } catch (IOException ex) {
+ Log.w(TAG, "failed to dump properties contents");
+ }
+ } else if (DEBUG) {
+ Log.d(TAG, "Skipped configuration update because GNSS configuration in GPS HAL is not"
+ + " supported");
}
// SUPL_ES configuration.
@@ -732,16 +737,21 @@
}
if (info != null) {
- boolean dataEnabled = TelephonyManager.getDefault().getDataEnabled();
- boolean networkAvailable = info.isAvailable() && dataEnabled;
- String defaultApn = getSelectedApn();
- if (defaultApn == null) {
- defaultApn = "dummy-apn";
- }
+ if (native_is_agps_ril_supported()) {
+ boolean dataEnabled = TelephonyManager.getDefault().getDataEnabled();
+ boolean networkAvailable = info.isAvailable() && dataEnabled;
+ String defaultApn = getSelectedApn();
+ if (defaultApn == null) {
+ defaultApn = "dummy-apn";
+ }
- native_update_network_state(info.isConnected(), info.getType(),
- info.isRoaming(), networkAvailable,
- info.getExtraInfo(), defaultApn);
+ native_update_network_state(info.isConnected(), info.getType(),
+ info.isRoaming(), networkAvailable,
+ info.getExtraInfo(), defaultApn);
+ } else if (DEBUG) {
+ Log.d(TAG, "Skipped network state update because AGPS-RIL in GPS HAL is not"
+ + " supported");
+ }
}
if (info != null && info.getType() == ConnectivityManager.TYPE_MOBILE_SUPL
@@ -1752,7 +1762,7 @@
// NI Client support
//=============================================================
private final INetInitiatedListener mNetInitiatedListener = new INetInitiatedListener.Stub() {
- // Sends a response for an NI reqeust to HAL.
+ // Sends a response for an NI request to HAL.
@Override
public boolean sendNiResponse(int notificationId, int userResponse)
{
@@ -1843,7 +1853,7 @@
private void requestSetID(int flags) {
TelephonyManager phone = (TelephonyManager)
mContext.getSystemService(Context.TELEPHONY_SERVICE);
- int type = AGPS_SETID_TYPE_NONE;
+ int type = AGPS_SETID_TYPE_NONE;
String data = "";
if ((flags & AGPS_RIL_REQUEST_SETID_IMSI) == AGPS_RIL_REQUEST_SETID_IMSI) {
@@ -1994,20 +2004,26 @@
.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
// listen for events
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(Intents.DATA_SMS_RECEIVED_ACTION);
- intentFilter.addDataScheme("sms");
- intentFilter.addDataAuthority("localhost","7275");
- mContext.registerReceiver(mBroadcastReceiver, intentFilter, null, this);
+ IntentFilter intentFilter;
+ if (native_is_agps_ril_supported()) {
+ intentFilter = new IntentFilter();
+ intentFilter.addAction(Intents.DATA_SMS_RECEIVED_ACTION);
+ intentFilter.addDataScheme("sms");
+ intentFilter.addDataAuthority("localhost", "7275");
+ mContext.registerReceiver(mBroadcastReceiver, intentFilter, null, this);
- intentFilter = new IntentFilter();
- intentFilter.addAction(Intents.WAP_PUSH_RECEIVED_ACTION);
- try {
- intentFilter.addDataType("application/vnd.omaloc-supl-init");
- } catch (IntentFilter.MalformedMimeTypeException e) {
- Log.w(TAG, "Malformed SUPL init mime type");
+ intentFilter = new IntentFilter();
+ intentFilter.addAction(Intents.WAP_PUSH_RECEIVED_ACTION);
+ try {
+ intentFilter.addDataType("application/vnd.omaloc-supl-init");
+ } catch (IntentFilter.MalformedMimeTypeException e) {
+ Log.w(TAG, "Malformed SUPL init mime type");
+ }
+ mContext.registerReceiver(mBroadcastReceiver, intentFilter, null, this);
+ } else if (DEBUG) {
+ Log.d(TAG, "Skipped registration for SMS/WAP-PUSH messages because AGPS Ril in GPS"
+ + " HAL is not supported");
}
- mContext.registerReceiver(mBroadcastReceiver, intentFilter, null, this);
intentFilter = new IntentFilter();
intentFilter.addAction(ALARM_WAKEUP);
@@ -2187,6 +2203,8 @@
static { class_init_native(); }
private static native void class_init_native();
private static native boolean native_is_supported();
+ private static native boolean native_is_agps_ril_supported();
+ private static native boolean native_is_gnss_configuration_supported();
private native boolean native_init();
private native void native_cleanup();
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 2df79b2..1008653 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -2701,7 +2701,8 @@
// Save it for users of getHistoricalNotifications()
mArchive.record(r.sbn);
- EventLogTags.writeNotificationCanceled(canceledKey, reason);
+ int lifespan = (int) (System.currentTimeMillis() - r.getCreationTimeMs());
+ EventLogTags.writeNotificationCanceled(canceledKey, reason, lifespan);
}
/**
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 39fd9ab..5569a09 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -62,6 +62,9 @@
// The timestamp used for ranking.
private long mRankingTimeMs;
+ // The first post time, stable across updates.
+ private long mCreationTimeMs;
+
// Is this record an update of an old record?
public boolean isUpdate;
private int mPackagePriority;
@@ -77,6 +80,7 @@
this.score = score;
mOriginalFlags = sbn.getNotification().flags;
mRankingTimeMs = calculateRankingTimeMs(0L);
+ mCreationTimeMs = sbn.getPostTime();
}
// copy any notes that the ranking system may have made before the update
@@ -87,6 +91,7 @@
mPackageVisibility = previous.mPackageVisibility;
mIntercept = previous.mIntercept;
mRankingTimeMs = calculateRankingTimeMs(previous.getRankingTimeMs());
+ mCreationTimeMs = previous.mCreationTimeMs;
// Don't copy mGlobalSortKey, recompute it.
}
@@ -167,6 +172,7 @@
pw.println(prefix + " mIntercept=" + mIntercept);
pw.println(prefix + " mGlobalSortKey=" + mGlobalSortKey);
pw.println(prefix + " mRankingTimeMs=" + mRankingTimeMs);
+ pw.println(prefix + " mCreationTimeMs=" + mCreationTimeMs);
}
@@ -263,6 +269,13 @@
}
/**
+ * Returns the timestamp of the first post, ignoring updates.
+ */
+ public long getCreationTimeMs() {
+ return mCreationTimeMs;
+ }
+
+ /**
* @param previousRankingTimeMs for updated notifications, {@link #getRankingTimeMs()}
* of the previous notification record, 0 otherwise
*/
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 4c36fa6..a42e4e7 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -199,7 +199,8 @@
@Nullable
private String createOatDirIfSupported(PackageParser.Package pkg, String dexInstructionSet)
throws IOException {
- if (pkg.isSystemApp() && !pkg.isUpdatedSystemApp()) {
+ if ((pkg.isSystemApp() && !pkg.isUpdatedSystemApp()) || pkg.isForwardLocked()
+ || pkg.applicationInfo.isExternalAsec()) {
return null;
}
File codePath = new File(pkg.codePath);
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 24cc909..1c339f5 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -11067,7 +11067,7 @@
final boolean onExternal = (((installFlags & PackageManager.INSTALL_EXTERNAL) != 0)
|| (args.volumeUuid != null));
boolean replace = false;
- final int scanFlags = SCAN_NEW_INSTALL | SCAN_FORCE_DEX | SCAN_UPDATE_SIGNATURE;
+ int scanFlags = SCAN_NEW_INSTALL | SCAN_FORCE_DEX | SCAN_UPDATE_SIGNATURE;
// Result object to be returned
res.returnCode = PackageManager.INSTALL_SUCCEEDED;
@@ -11234,13 +11234,18 @@
return;
}
- // Run dexopt before old package gets removed, to minimize time when app is not available
- int result = mPackageDexOptimizer
- .performDexOpt(pkg, null /* instruction sets */, true /* forceDex */,
- false /* defer */, false /* inclDependencies */);
- if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
- res.setError(INSTALL_FAILED_DEXOPT, "Dexopt failed for " + pkg.codePath);
- return;
+ // If app directory is not writable, dexopt will be called after the rename
+ if (!forwardLocked && !pkg.applicationInfo.isExternalAsec()) {
+ // Enable SCAN_NO_DEX flag to skip dexopt at a later stage
+ scanFlags |= SCAN_NO_DEX;
+ // Run dexopt before old package gets removed, to minimize time when app is unavailable
+ int result = mPackageDexOptimizer
+ .performDexOpt(pkg, null /* instruction sets */, true /* forceDex */,
+ false /* defer */, false /* inclDependencies */);
+ if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
+ res.setError(INSTALL_FAILED_DEXOPT, "Dexopt failed for " + pkg.codePath);
+ return;
+ }
}
if (!args.doRename(res.returnCode, pkg, oldCodePath)) {
@@ -11250,13 +11255,12 @@
startIntentFilterVerifications(args.user.getIdentifier(), pkg);
- // Call with SCAN_NO_DEX, since dexopt has already been made
if (replace) {
- replacePackageLI(pkg, parseFlags, scanFlags | SCAN_REPLACING | SCAN_NO_DEX, args.user,
+ replacePackageLI(pkg, parseFlags, scanFlags | SCAN_REPLACING, args.user,
installerPackageName, volumeUuid, res);
} else {
- installNewPackageLI(pkg, parseFlags, scanFlags | SCAN_DELETE_DATA_ON_FAILURES
- | SCAN_NO_DEX, args.user, installerPackageName, volumeUuid, res);
+ installNewPackageLI(pkg, parseFlags, scanFlags | SCAN_DELETE_DATA_ON_FAILURES,
+ args.user, installerPackageName, volumeUuid, res);
}
synchronized (mPackages) {
final PackageSetting ps = mSettings.mPackages.get(pkgName);
diff --git a/services/core/java/com/android/server/pm/PermissionsState.java b/services/core/java/com/android/server/pm/PermissionsState.java
index 829ec39..3749957 100644
--- a/services/core/java/com/android/server/pm/PermissionsState.java
+++ b/services/core/java/com/android/server/pm/PermissionsState.java
@@ -61,6 +61,9 @@
private static final int[] NO_GIDS = {};
+ private static final int FLAG_INSTALL_PERMISSIONS = 1 << 0;
+ private static final int FLAG_RUNTIME_PERMISSIONS = 1 << 1;
+
private ArrayMap<String, PermissionData> mPermissions;
private int[] mGlobalGids = NO_GIDS;
@@ -90,6 +93,9 @@
* @param other The other instance.
*/
public void copyFrom(PermissionsState other) {
+ if (other == this) {
+ return;
+ }
if (mPermissions != null) {
if (other.mPermissions == null) {
mPermissions = null;
@@ -274,31 +280,7 @@
* @return The permissions or an empty set.
*/
public Set<String> getPermissions(int userId) {
- enforceValidUserId(userId);
-
- if (mPermissions == null) {
- return Collections.emptySet();
- }
-
- Set<String> permissions = new ArraySet<>();
-
- final int permissionCount = mPermissions.size();
- for (int i = 0; i < permissionCount; i++) {
- String permission = mPermissions.keyAt(i);
- if (userId == UserHandle.USER_ALL) {
- if (hasInstallPermission(permission)) {
- permissions.add(permission);
- }
- } else {
- if (hasInstallPermission(permission)) {
- permissions.add(permission);
- } else if (hasRuntimePermission(permission, userId)) {
- permissions.add(permission);
- }
- }
- }
-
- return permissions;
+ return getPermissionsInternal(FLAG_INSTALL_PERMISSIONS | FLAG_RUNTIME_PERMISSIONS, userId);
}
/**
@@ -307,7 +289,7 @@
* @return The permissions or an empty set.
*/
public Set<String> getRuntimePermissions(int userId) {
- return getPermissions(userId);
+ return getPermissionsInternal(FLAG_RUNTIME_PERMISSIONS, userId);
}
/**
@@ -316,7 +298,7 @@
* @return The permissions or an empty set.
*/
public Set<String> getInstallPermissions() {
- return getPermissions(UserHandle.USER_ALL);
+ return getPermissionsInternal(FLAG_INSTALL_PERMISSIONS, UserHandle.USER_ALL);
}
/**
@@ -375,6 +357,38 @@
mPermissions = null;
}
+ private Set<String> getPermissionsInternal(int flags, int userId) {
+ enforceValidUserId(userId);
+
+ if (mPermissions == null) {
+ return Collections.emptySet();
+ }
+
+ if (userId == UserHandle.USER_ALL) {
+ flags = FLAG_INSTALL_PERMISSIONS;
+ }
+
+ Set<String> permissions = new ArraySet<>();
+
+ final int permissionCount = mPermissions.size();
+ for (int i = 0; i < permissionCount; i++) {
+ String permission = mPermissions.keyAt(i);
+
+ if ((flags & FLAG_INSTALL_PERMISSIONS) != 0) {
+ if (hasInstallPermission(permission)) {
+ permissions.add(permission);
+ }
+ }
+ if ((flags & FLAG_RUNTIME_PERMISSIONS) != 0) {
+ if (hasRuntimePermission(permission, userId)) {
+ permissions.add(permission);
+ }
+ }
+ }
+
+ return permissions;
+ }
+
private int grantPermission(BasePermission permission, int userId) {
if (hasPermission(permission.name, userId)) {
return PERMISSION_OPERATION_FAILURE;
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index f3fdb0d..252c16a 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -4269,10 +4269,14 @@
serializer.endTag(null, TAG_RUNTIME_PERMISSIONS);
serializer.endDocument();
destination.finishWrite(out);
- } catch (IOException e) {
+
+ // Any error while writing is fatal.
+ } catch (Throwable t) {
Slog.wtf(PackageManagerService.TAG,
- "Failed to write settings, restoring backup", e);
+ "Failed to write settings, restoring backup", t);
destination.failWrite(out);
+ throw new IllegalStateException("Failed to write runtime permissions,"
+ + " restoring backup", t);
} finally {
IoUtils.closeQuietly(out);
}
@@ -4319,9 +4323,10 @@
XmlPullParser parser = Xml.newPullParser();
parser.setInput(in, null);
parseRuntimePermissionsLPr(parser, userId);
- } catch (XmlPullParserException | IOException ise) {
+
+ } catch (XmlPullParserException | IOException e) {
throw new IllegalStateException("Failed parsing permissions file: "
- + permissionsFile , ise);
+ + permissionsFile , e);
} finally {
IoUtils.closeQuietly(in);
}
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index ad85b59..25857c5 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -17,6 +17,8 @@
package com.android.server.policy;
import android.app.ActivityManager;
+import android.app.ActivityManagerInternal;
+import android.app.ActivityManagerInternal.SleepToken;
import android.app.ActivityManagerNative;
import android.app.AppOpsManager;
import android.app.IUiModeManager;
@@ -252,6 +254,7 @@
WindowManagerFuncs mWindowManagerFuncs;
WindowManagerInternal mWindowManagerInternal;
PowerManager mPowerManager;
+ ActivityManagerInternal mActivityManagerInternal;
DreamManagerInternal mDreamManagerInternal;
IStatusBarService mStatusBarService;
boolean mPreloadedRecentApps;
@@ -493,6 +496,8 @@
boolean mShowingLockscreen;
boolean mShowingDream;
boolean mDreamingLockscreen;
+ boolean mDreamingSleepTokenNeeded;
+ SleepToken mDreamingSleepToken;
boolean mKeyguardSecure;
boolean mKeyguardSecureIncludingHidden;
volatile boolean mKeyguardOccluded;
@@ -599,6 +604,7 @@
private static final int MSG_LAUNCH_VOICE_ASSIST_WITH_WAKE_LOCK = 12;
private static final int MSG_POWER_DELAYED_PRESS = 13;
private static final int MSG_POWER_LONG_PRESS = 14;
+ private static final int MSG_UPDATE_DREAMING_SLEEP_TOKEN = 15;
private class PolicyHandler extends Handler {
@Override
@@ -647,6 +653,9 @@
case MSG_POWER_LONG_PRESS:
powerLongPress();
break;
+ case MSG_UPDATE_DREAMING_SLEEP_TOKEN:
+ updateDreamingSleepToken(msg.arg1 != 0);
+ break;
}
}
}
@@ -1220,6 +1229,7 @@
mWindowManager = windowManager;
mWindowManagerFuncs = windowManagerFuncs;
mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
+ mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class);
mDreamManagerInternal = LocalServices.getService(DreamManagerInternal.class);
// Init display burn-in protection
@@ -4239,6 +4249,15 @@
// while the dream is showing.
if (!mShowingDream) {
mDreamingLockscreen = mShowingLockscreen;
+ if (mDreamingSleepTokenNeeded) {
+ mDreamingSleepTokenNeeded = false;
+ mHandler.obtainMessage(MSG_UPDATE_DREAMING_SLEEP_TOKEN, 0, 1).sendToTarget();
+ }
+ } else {
+ if (!mDreamingSleepTokenNeeded) {
+ mDreamingSleepTokenNeeded = true;
+ mHandler.obtainMessage(MSG_UPDATE_DREAMING_SLEEP_TOKEN, 1, 1).sendToTarget();
+ }
}
if (mStatusBar != null) {
@@ -5851,6 +5870,18 @@
}
}
+ private void updateDreamingSleepToken(boolean acquire) {
+ if (acquire) {
+ if (mDreamingSleepToken == null) {
+ mDreamingSleepToken = mActivityManagerInternal.acquireSleepToken("Dream");
+ }
+ } else {
+ if (mDreamingSleepToken != null) {
+ mDreamingSleepToken.release();
+ }
+ }
+ }
+
/** {@inheritDoc} */
@Override
public void enableScreenAfterBoot() {
@@ -6487,7 +6518,8 @@
pw.print(" mStatusBarLayer="); pw.println(mStatusBarLayer);
pw.print(prefix); pw.print("mShowingLockscreen="); pw.print(mShowingLockscreen);
pw.print(" mShowingDream="); pw.print(mShowingDream);
- pw.print(" mDreamingLockscreen="); pw.println(mDreamingLockscreen);
+ pw.print(" mDreamingLockscreen="); pw.print(mDreamingLockscreen);
+ pw.print(" mDreamingSleepToken="); pw.println(mDreamingSleepToken);
if (mLastInputMethodWindow != null) {
pw.print(prefix); pw.print("mLastInputMethodWindow=");
pw.println(mLastInputMethodWindow);
diff --git a/services/core/java/com/android/server/power/DeviceIdleController.java b/services/core/java/com/android/server/power/DeviceIdleController.java
index a23a87b..6b29b9a 100644
--- a/services/core/java/com/android/server/power/DeviceIdleController.java
+++ b/services/core/java/com/android/server/power/DeviceIdleController.java
@@ -41,6 +41,7 @@
import com.android.internal.app.IBatteryStats;
import com.android.server.SystemService;
import com.android.server.am.BatteryStatsService;
+import com.android.server.EventLogTags;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -100,6 +101,11 @@
* Scaling factor to apply to current idle timeout each time we cycle through that state.
*/
private static final float DEFAULT_IDLE_FACTOR = 2f;
+ /**
+ * This is the minimum time we will allow until the next upcoming alarm for us to
+ * actually go in to idle mode.
+ */
+ private static final long DEFAULT_MIN_TIME_TO_ALARM = 60*60*1000L;
private AlarmManager mAlarmManager;
private IBatteryStats mBatteryStats;
@@ -239,7 +245,7 @@
becomeInactiveIfAppropriateLocked();
} else if (screenOn) {
mScreenOn = true;
- becomeActiveLocked();
+ becomeActiveLocked("screen");
}
}
@@ -249,12 +255,13 @@
becomeInactiveIfAppropriateLocked();
} else if (charging) {
mCharging = charging;
- becomeActiveLocked();
+ becomeActiveLocked("charging");
}
}
- void becomeActiveLocked() {
+ void becomeActiveLocked(String reason) {
if (mState != STATE_ACTIVE) {
+ EventLogTags.writeDeviceIdle(STATE_ACTIVE, reason);
mLocalPowerManager.setDeviceIdleMode(false);
try {
mNetworkPolicyManager.setDeviceIdleMode(false);
@@ -281,10 +288,22 @@
mNextIdlePendingDelay = 0;
mNextIdleDelay = 0;
scheduleAlarmLocked(mInactiveTimeout, false);
+ EventLogTags.writeDeviceIdle(mState, "no activity");
}
}
void stepIdleStateLocked() {
+ EventLogTags.writeDeviceIdleStep();
+
+ final long now = SystemClock.elapsedRealtime();
+ if ((now+DEFAULT_MIN_TIME_TO_ALARM) > mAlarmManager.getNextWakeFromIdleTime()) {
+ // Whoops, there is an upcoming alarm. We don't actually want to go idle.
+ if (mState != STATE_ACTIVE) {
+ becomeActiveLocked("alarm");
+ }
+ return;
+ }
+
switch (mState) {
case STATE_INACTIVE:
// We have now been inactive long enough, it is time to start looking
@@ -295,6 +314,7 @@
mNextIdlePendingDelay = DEFAULT_IDLE_PENDING_TIMEOUT;
mNextIdleDelay = DEFAULT_IDLE_TIMEOUT;
mState = STATE_IDLE_PENDING;
+ EventLogTags.writeDeviceIdle(mState, "step");
break;
case STATE_IDLE_PENDING:
// We have been waiting to become idle, and now it is time! This is the
@@ -307,6 +327,7 @@
mNextIdleDelay = DEFAULT_MAX_IDLE_TIMEOUT;
}
mState = STATE_IDLE;
+ EventLogTags.writeDeviceIdle(mState, "step");
mLocalPowerManager.setDeviceIdleMode(true);
try {
mNetworkPolicyManager.setDeviceIdleMode(true);
@@ -323,6 +344,7 @@
mNextIdlePendingDelay = DEFAULT_MAX_IDLE_PENDING_TIMEOUT;
}
mState = STATE_IDLE_PENDING;
+ EventLogTags.writeDeviceIdle(mState, "step");
mLocalPowerManager.setDeviceIdleMode(false);
try {
mNetworkPolicyManager.setDeviceIdleMode(false);
@@ -352,6 +374,7 @@
}
mState = STATE_ACTIVE;
mInactiveTimeout = DEFAULT_MOTION_INACTIVE_TIMEOUT;
+ EventLogTags.writeDeviceIdle(mState, "motion");
becomeInactiveIfAppropriateLocked();
}
}
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index 4c06cbe..9033c9c 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -501,12 +501,15 @@
return a;
}
- private Animation createClipRevealAnimationLocked(int transit, boolean enter,
- int appWidth, int appHeight) {
+ private Animation createClipRevealAnimationLocked(int transit, boolean enter, Rect appFrame) {
final Animation anim;
if (enter) {
// Reveal will expand and move faster in horizontal direction
+ // Start from upper left of start and move to final position
+ final int appWidth = appFrame.width();
+ final int appHeight = appFrame.height();
+
// Start from size of launch icon, expand to full width/height
Animation clipAnimLR = new ClipRectLRAnimation(
(appWidth - mNextAppTransitionStartWidth) / 2,
@@ -521,9 +524,9 @@
// Start from middle of launch icon area, move to 0, 0
int startMiddleX = mNextAppTransitionStartX +
- (mNextAppTransitionStartWidth - appWidth) / 2;
+ (mNextAppTransitionStartWidth - appWidth) / 2 - appFrame.left;
int startMiddleY = mNextAppTransitionStartY +
- (mNextAppTransitionStartHeight - appHeight) / 2;
+ (mNextAppTransitionStartHeight - appHeight) / 2 - appFrame.top;
TranslateXAnimation translateX = new TranslateXAnimation(
Animation.ABSOLUTE, startMiddleX, Animation.ABSOLUTE, 0);
@@ -940,7 +943,7 @@
Animation loadAnimation(WindowManager.LayoutParams lp, int transit, boolean enter,
int appWidth, int appHeight, int orientation, Rect containingFrame, Rect contentInsets,
- boolean isFullScreen, boolean isVoiceInteraction) {
+ Rect appFrame, boolean isFullScreen, boolean isVoiceInteraction) {
Animation a;
if (isVoiceInteraction && (transit == TRANSIT_ACTIVITY_OPEN
|| transit == TRANSIT_TASK_OPEN
@@ -977,9 +980,7 @@
+ " anim=" + a + " nextAppTransition=ANIM_CUSTOM_IN_PLACE"
+ " transit=" + transit + " Callers=" + Debug.getCallers(3));
} else if (mNextAppTransitionType == NEXT_TRANSIT_TYPE_CLIP_REVEAL) {
- a = createClipRevealAnimationLocked(transit, enter,
- containingFrame.right - containingFrame.left,
- containingFrame.bottom - containingFrame.top);
+ a = createClipRevealAnimationLocked(transit, enter, appFrame);
if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.v(TAG,
"applyAnimation:"
+ " anim=" + a + " nextAppTransition=ANIM_CLIP_REVEAL"
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index f29d524..38fc959 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -624,6 +624,12 @@
static final int WALLPAPER_DRAW_TIMEOUT = 2;
int mWallpaperDrawState = WALLPAPER_DRAW_NORMAL;
+ // Set to the wallpaper window we would like to hide once the transition animations are done.
+ // This is useful in cases where we don't want the wallpaper to be hidden when the close app
+ // is a wallpaper target and is done animating out, but the opening app isn't a wallpaper
+ // target and isn't done animating in.
+ WindowState mDeferredHideWallpaper = null;
+
AppWindowToken mFocusedApp = null;
PowerManager mPowerManager;
@@ -1781,17 +1787,24 @@
}
void hideWallpapersLocked(final WindowState winGoingAway) {
- if (mWallpaperTarget != null &&
- (mWallpaperTarget != winGoingAway || mLowerWallpaperTarget != null)) {
+ if (mWallpaperTarget != null
+ && (mWallpaperTarget != winGoingAway || mLowerWallpaperTarget != null)) {
+ return;
+ }
+ if (mAppTransition.isRunning()) {
+ // Defer hiding the wallpaper when app transition is running until the animations
+ // are done.
+ mDeferredHideWallpaper = winGoingAway;
return;
}
+ final boolean wasDeferred = (mDeferredHideWallpaper == winGoingAway);
for (int i = mWallpaperTokens.size() - 1; i >= 0; i--) {
final WindowToken token = mWallpaperTokens.get(i);
for (int j = token.windows.size() - 1; j >= 0; j--) {
final WindowState wallpaper = token.windows.get(j);
final WindowStateAnimator winAnimator = wallpaper.mWinAnimator;
- if (!winAnimator.mLastHidden) {
+ if (!winAnimator.mLastHidden || wasDeferred) {
winAnimator.hide();
dispatchWallpaperVisibility(wallpaper, false);
final DisplayContent displayContent = wallpaper.getDisplayContent();
@@ -2270,12 +2283,15 @@
}
/**
- * Check wallpaper for visiblity change and notify window if so.
+ * Check wallpaper for visibility change and notify window if so.
* @param wallpaper The wallpaper to test and notify.
* @param visible Current visibility.
*/
void dispatchWallpaperVisibility(final WindowState wallpaper, final boolean visible) {
- if (wallpaper.mWallpaperVisible != visible) {
+ // Only send notification if the visibility actually changed and we are not trying to hide
+ // the wallpaper when we are deferring hiding of the wallpaper.
+ if (wallpaper.mWallpaperVisible != visible
+ && (mDeferredHideWallpaper == null || visible)) {
wallpaper.mWallpaperVisible = visible;
try {
if (DEBUG_VISIBILITY || DEBUG_WALLPAPER_LIGHT) Slog.v(TAG,
@@ -3412,6 +3428,7 @@
WindowState win = atoken.findMainWindow();
Rect containingFrame = new Rect(0, 0, width, height);
Rect contentInsets = new Rect();
+ Rect appFrame = new Rect(0, 0, width, height);
boolean isFullScreen = true;
if (win != null) {
if (win.mContainingFrame != null) {
@@ -3420,6 +3437,9 @@
if (win.mContentInsets != null) {
contentInsets.set(win.mContentInsets);
}
+ if (win.mFrame != null) {
+ appFrame.set(win.mFrame);
+ }
isFullScreen =
((win.mSystemUiVisibility & SYSTEM_UI_FLAGS_LAYOUT_STABLE_FULLSCREEN) ==
SYSTEM_UI_FLAGS_LAYOUT_STABLE_FULLSCREEN) ||
@@ -3433,8 +3453,8 @@
enter = false;
}
Animation a = mAppTransition.loadAnimation(lp, transit, enter, width, height,
- mCurConfiguration.orientation, containingFrame, contentInsets, isFullScreen,
- isVoiceInteraction);
+ mCurConfiguration.orientation, containingFrame, contentInsets, appFrame,
+ isFullScreen, isVoiceInteraction);
if (a != null) {
if (DEBUG_ANIM) {
RuntimeException e = null;
@@ -9523,6 +9543,12 @@
int changes = 0;
mAppTransition.setIdle();
+
+ if (mDeferredHideWallpaper != null) {
+ hideWallpapersLocked(mDeferredHideWallpaper);
+ mDeferredHideWallpaper = null;
+ }
+
// Restore window app tokens to the ActivityManager views
ArrayList<TaskStack> stacks = getDefaultDisplayContentLocked().getStacks();
for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 4f795a6..cd9689e 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -523,8 +523,9 @@
public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf, Rect dcf, Rect sf) {
mHaveFrame = true;
- TaskStack stack = mAppToken != null ? getStack() : null;
- if (stack != null && !stack.isFullscreen()) {
+ final TaskStack stack = mAppToken != null ? getStack() : null;
+ final boolean nonFullscreenStack = stack != null && !stack.isFullscreen();
+ if (nonFullscreenStack) {
stack.getBounds(mContainingFrame);
final WindowState imeWin = mService.mInputMethodWindow;
if (imeWin != null && imeWin.isVisibleNow() && mService.mInputMethodTarget == this
@@ -607,9 +608,13 @@
y = mAttrs.y;
}
- // Make sure window fits in containing frame required by {@link Gravity#apply} call.
- w = Math.min(w, pw);
- h = Math.min(h, ph);
+ if (nonFullscreenStack) {
+ // Make sure window fits in containing frame since it is in a non-fullscreen stack as
+ // required by {@link Gravity#apply} call.
+ w = Math.min(w, pw);
+ h = Math.min(h, ph);
+ }
+
Gravity.apply(mAttrs.gravity, w, h, mContainingFrame,
(int) (x + mAttrs.horizontalMargin * pw),
(int) (y + mAttrs.verticalMargin * ph), mFrame);
@@ -1630,6 +1635,10 @@
pw.println();
pw.print(prefix); pw.print("mSystemDecorRect="); mSystemDecorRect.printShortString(pw);
pw.print(" last="); mLastSystemDecorRect.printShortString(pw);
+ if (mWinAnimator.mHasClipRect) {
+ pw.print(" mLastClipRect=");
+ mWinAnimator.mLastClipRect.printShortString(pw);
+ }
pw.println();
}
if (mEnforceSizeCompat) {
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 1a30cba..d6726c1 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1139,8 +1139,6 @@
mShownAlpha *= appTransformation.getAlpha();
if (appTransformation.hasClipRect()) {
mClipRect.set(appTransformation.getClipRect());
- // Account for non-fullscreen windows
- mClipRect.offset(frame.left, frame.top);
if (mWin.mHScale > 0) {
mClipRect.left /= mWin.mHScale;
mClipRect.right /= mWin.mHScale;
@@ -1223,7 +1221,7 @@
}
}
- void applyDecorRect(final Rect decorRect) {
+ private void applyDecorRect(final Rect decorRect) {
final WindowState w = mWin;
final int width = w.mFrame.width();
final int height = w.mFrame.height();
diff --git a/services/core/jni/Android.mk b/services/core/jni/Android.mk
index 19ca2b4..a5546cf 100644
--- a/services/core/jni/Android.mk
+++ b/services/core/jni/Android.mk
@@ -33,6 +33,7 @@
$(JNI_H_INCLUDE) \
frameworks/base/services \
frameworks/base/libs \
+ frameworks/base/libs/hwui \
frameworks/base/core/jni \
frameworks/native/services \
libcore/include \
diff --git a/services/core/jni/com_android_server_AssetAtlasService.cpp b/services/core/jni/com_android_server_AssetAtlasService.cpp
index e4f242e..ad1d0f5 100644
--- a/services/core/jni/com_android_server_AssetAtlasService.cpp
+++ b/services/core/jni/com_android_server_AssetAtlasService.cpp
@@ -47,40 +47,9 @@
#define FENCE_TIMEOUT 2000000000
// ----------------------------------------------------------------------------
-// JNI Helpers
-// ----------------------------------------------------------------------------
-
-static struct {
- jmethodID setNativeBitmap;
-} gCanvasClassInfo;
-
-#define INVOKEV(object, method, ...) \
- env->CallVoidMethod(object, method, __VA_ARGS__)
-
-// ----------------------------------------------------------------------------
// Canvas management
// ----------------------------------------------------------------------------
-static jlong com_android_server_AssetAtlasService_acquireCanvas(JNIEnv* env, jobject,
- jobject canvas, jint width, jint height) {
-
- SkBitmap* bitmap = new SkBitmap;
- bitmap->allocN32Pixels(width, height);
- bitmap->eraseColor(0);
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, reinterpret_cast<jlong>(bitmap));
-
- return reinterpret_cast<jlong>(bitmap);
-}
-
-static void com_android_server_AssetAtlasService_releaseCanvas(JNIEnv* env, jobject,
- jobject canvas, jlong bitmapHandle) {
-
- SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
- INVOKEV(canvas, gCanvasClassInfo.setNativeBitmap, (jlong)0);
-
- delete bitmap;
-}
-
#define CLEANUP_GL_AND_RETURN(result) \
if (fence != EGL_NO_SYNC_KHR) eglDestroySyncKHR(display, fence); \
if (image) eglDestroyImageKHR(display, image); \
@@ -93,9 +62,11 @@
return result;
static jboolean com_android_server_AssetAtlasService_upload(JNIEnv* env, jobject,
- jobject graphicBuffer, jlong bitmapHandle) {
+ jobject graphicBuffer, jobject bitmapHandle) {
- SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
+ SkBitmap& bitmap = *GraphicsJNI::getSkBitmap(env, bitmapHandle);
+ SkAutoLockPixels alp(bitmap);
+
// The goal of this method is to copy the bitmap into the GraphicBuffer
// using the GPU to swizzle the texture content
sp<GraphicBuffer> buffer(graphicBufferForJavaObject(env, graphicBuffer));
@@ -186,9 +157,9 @@
}
// Upload the content of the bitmap in the GraphicBuffer
- glPixelStorei(GL_UNPACK_ALIGNMENT, bitmap->bytesPerPixel());
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bitmap->width(), bitmap->height(),
- GL_RGBA, GL_UNSIGNED_BYTE, bitmap->getPixels());
+ glPixelStorei(GL_UNPACK_ALIGNMENT, bitmap.bytesPerPixel());
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bitmap.width(), bitmap.height(),
+ GL_RGBA, GL_UNSIGNED_BYTE, bitmap.getPixels());
if (glGetError() != GL_NO_ERROR) {
ALOGW("Could not upload to texture");
CLEANUP_GL_AND_RETURN(JNI_FALSE);
@@ -233,20 +204,11 @@
const char* const kClassPathName = "com/android/server/AssetAtlasService";
static JNINativeMethod gMethods[] = {
- { "nAcquireAtlasCanvas", "(Landroid/graphics/Canvas;II)J",
- (void*) com_android_server_AssetAtlasService_acquireCanvas },
- { "nReleaseAtlasCanvas", "(Landroid/graphics/Canvas;J)V",
- (void*) com_android_server_AssetAtlasService_releaseCanvas },
- { "nUploadAtlas", "(Landroid/view/GraphicBuffer;J)Z",
+ { "nUploadAtlas", "(Landroid/view/GraphicBuffer;Landroid/graphics/Bitmap;)Z",
(void*) com_android_server_AssetAtlasService_upload },
};
int register_android_server_AssetAtlasService(JNIEnv* env) {
- jclass clazz;
-
- FIND_CLASS(clazz, "android/graphics/Canvas");
- GET_METHOD_ID(gCanvasClassInfo.setNativeBitmap, clazz, "setNativeBitmap", "(J)V");
-
return jniRegisterNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods));
}
diff --git a/services/core/jni/com_android_server_fingerprint_FingerprintService.cpp b/services/core/jni/com_android_server_fingerprint_FingerprintService.cpp
index 5a86923..7dbfaf6 100644
--- a/services/core/jni/com_android_server_fingerprint_FingerprintService.cpp
+++ b/services/core/jni/com_android_server_fingerprint_FingerprintService.cpp
@@ -177,6 +177,10 @@
return reinterpret_cast<jint>(ret);
}
+static jlong nativeGetAuthenticatorId(JNIEnv *, jobject clazz) {
+ return gContext.device->get_authenticator_id(gContext.device);
+}
+
static jint nativeOpenHal(JNIEnv* env, jobject clazz) {
ALOG(LOG_VERBOSE, LOG_TAG, "nativeOpenHal()\n");
int err;
@@ -229,6 +233,7 @@
return -ENOSYS; // TODO
}
+
// ----------------------------------------------------------------------------
@@ -240,6 +245,7 @@
{ "nativePreEnroll", "()J", (void*)nativePreEnroll },
{ "nativeStopEnrollment", "()I", (void*)nativeStopEnrollment },
{ "nativeRemove", "(II)I", (void*)nativeRemove },
+ { "nativeGetAuthenticatorId", "()J", (void*)nativeGetAuthenticatorId },
{ "nativeOpenHal", "()I", (void*)nativeOpenHal },
{ "nativeCloseHal", "()I", (void*)nativeCloseHal },
{ "nativeInit","(Landroid/os/MessageQueue;"
diff --git a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp
index 0cd6eb5..3804e1d 100644
--- a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp
@@ -509,13 +509,22 @@
}
}
-static jboolean android_location_GpsLocationProvider_is_supported(JNIEnv* /* env */,
- jclass /* clazz */) {
- if (sGpsInterface != NULL) {
- return JNI_TRUE;
- } else {
- return JNI_FALSE;
- }
+static jboolean android_location_GpsLocationProvider_is_supported(
+ JNIEnv* /* env */, jclass /* clazz */)
+{
+ return (sGpsInterface != NULL) ? JNI_TRUE : JNI_FALSE;
+}
+
+static jboolean android_location_GpsLocationProvider_is_agps_ril_supported(
+ JNIEnv* /* env */, jclass /* clazz */)
+{
+ return (sAGpsRilInterface != NULL) ? JNI_TRUE : JNI_FALSE;
+}
+
+static jboolean android_location_gpsLocationProvider_is_gnss_configuration_supported(
+ JNIEnv* /* env */, jclass /* jclazz */)
+{
+ return (sGnssConfigurationInterface != NULL) ? JNI_TRUE : JNI_FALSE;
}
static jboolean android_location_GpsLocationProvider_init(JNIEnv* env, jobject obj)
@@ -715,14 +724,10 @@
sGpsInterface->inject_location(latitude, longitude, accuracy);
}
-static jboolean android_location_GpsLocationProvider_supports_xtra(JNIEnv* /* env */,
- jobject /* obj */)
+static jboolean android_location_GpsLocationProvider_supports_xtra(
+ JNIEnv* /* env */, jobject /* obj */)
{
- if (sGpsXtraInterface != NULL) {
- return JNI_TRUE;
- } else {
- return JNI_FALSE;
- }
+ return (sGpsXtraInterface != NULL) ? JNI_TRUE : JNI_FALSE;
}
static void android_location_GpsLocationProvider_inject_xtra_data(JNIEnv* env, jobject /* obj */,
@@ -844,13 +849,10 @@
}
}
-static jboolean android_location_GpsLocationProvider_is_geofence_supported(JNIEnv* /* env */,
- jobject /* obj */)
+static jboolean android_location_GpsLocationProvider_is_geofence_supported(
+ JNIEnv* /* env */, jobject /* obj */)
{
- if (sGpsGeofencingInterface != NULL) {
- return JNI_TRUE;
- }
- return JNI_FALSE;
+ return (sGpsGeofencingInterface != NULL) ? JNI_TRUE : JNI_FALSE;
}
static jboolean android_location_GpsLocationProvider_add_geofence(JNIEnv* /* env */,
@@ -1436,6 +1438,10 @@
/* name, signature, funcPtr */
{"class_init_native", "()V", (void *)android_location_GpsLocationProvider_class_init_native},
{"native_is_supported", "()Z", (void*)android_location_GpsLocationProvider_is_supported},
+ {"native_is_agps_ril_supported", "()Z",
+ (void*)android_location_GpsLocationProvider_is_agps_ril_supported},
+ {"native_is_gnss_configuration_supported", "()Z",
+ (void*)android_location_gpsLocationProvider_is_gnss_configuration_supported},
{"native_init", "()Z", (void*)android_location_GpsLocationProvider_init},
{"native_cleanup", "()V", (void*)android_location_GpsLocationProvider_cleanup},
{"native_set_position_mode",
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index c2e8ccc..20c74f1 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -22,6 +22,7 @@
import static android.app.admin.DevicePolicyManager.WIPE_RESET_PROTECTION_DATA;
import static android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES;
+import android.Manifest.permission;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.accounts.AccountManager;
import android.app.Activity;
@@ -45,6 +46,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
@@ -135,6 +137,7 @@
import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -302,7 +305,7 @@
final ArrayList<ComponentName> mRemovingAdmins = new ArrayList<>();
// This is the list of component allowed to start lock task mode.
- final List<String> mLockTaskPackages = new ArrayList<>();
+ List<String> mLockTaskPackages = new ArrayList<>();
boolean mStatusBarEnabledState = true;
@@ -1103,6 +1106,7 @@
void loadDeviceOwner() {
synchronized (this) {
mDeviceOwner = DeviceOwner.load();
+ updateDeviceOwnerLocked();
}
}
@@ -1645,14 +1649,30 @@
validatePasswordOwnerLocked(policy);
syncDeviceCapabilitiesLocked(policy);
updateMaximumTimeToLockLocked(policy);
- updateLockTaskPackagesLocked(policy, userHandle);
+ addDeviceInitializerToLockTaskPackagesLocked(userHandle);
+ updateLockTaskPackagesLocked(policy.mLockTaskPackages, userHandle);
+ if (!policy.mStatusBarEnabledState) {
+ setStatusBarEnabledStateInternal(policy.mStatusBarEnabledState, userHandle);
+ }
}
- private void updateLockTaskPackagesLocked(DevicePolicyData policy, int userId) {
+ private void updateLockTaskPackagesLocked(List<String> packages, int userId) {
IActivityManager am = ActivityManagerNative.getDefault();
long ident = Binder.clearCallingIdentity();
try {
- am.updateLockTaskPackages(userId, policy.mLockTaskPackages.toArray(new String[0]));
+ am.updateLockTaskPackages(userId, packages.toArray(new String[packages.size()]));
+ } catch (RemoteException e) {
+ // Not gonna happen.
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+
+ private void updateDeviceOwnerLocked() {
+ IActivityManager am = ActivityManagerNative.getDefault();
+ long ident = Binder.clearCallingIdentity();
+ try {
+ am.updateDeviceOwner(getDeviceOwner());
} catch (RemoteException e) {
// Not gonna happen.
} finally {
@@ -1720,7 +1740,7 @@
if (!mHasFeature) {
return;
}
- DevicePolicyData policy = getUserData(UserHandle.USER_OWNER);
+ getUserData(UserHandle.USER_OWNER);
loadDeviceOwner();
cleanUpOldUsers();
// Register an observer for watching for user setup complete.
@@ -1736,11 +1756,6 @@
updateScreenCaptureDisabledInWindowManager(userHandle,
getScreenCaptureDisabled(null, userHandle));
}
-
- if (mDeviceOwner != null && mDeviceOwner.hasDeviceOwner()
- && !policy.mStatusBarEnabledState) {
- setStatusBarEnabledStateInternal(STATUS_BAR_DISABLE_MASK, UserHandle.USER_OWNER);
- }
}
private void cleanUpOldUsers() {
@@ -3988,14 +4003,13 @@
if (mDeviceOwner == null) {
// Device owner is not set and does not exist, set it.
mDeviceOwner = DeviceOwner.createWithDeviceOwner(packageName, ownerName);
- mDeviceOwner.writeOwnerFile();
- return true;
} else {
// Device owner is not set but a profile owner exists, update Device owner state.
mDeviceOwner.setDeviceOwner(packageName, ownerName);
- mDeviceOwner.writeOwnerFile();
- return true;
}
+ mDeviceOwner.writeOwnerFile();
+ updateDeviceOwnerLocked();
+ return true;
}
}
@@ -4077,6 +4091,7 @@
if (mDeviceOwner != null) {
mDeviceOwner.clearDeviceOwner();
mDeviceOwner.writeOwnerFile();
+ updateDeviceOwnerLocked();
}
} finally {
Binder.restoreCallingIdentity(ident);
@@ -4105,16 +4120,15 @@
if (mDeviceOwner == null) {
// Device owner state does not exist, create it.
- mDeviceOwner = DeviceOwner.createWithDeviceInitializer(
- initializer, ownerName);
- mDeviceOwner.writeOwnerFile();
- return true;
+ mDeviceOwner = DeviceOwner.createWithDeviceInitializer(initializer, ownerName);
} else {
// Device owner already exists, update it.
mDeviceOwner.setDeviceInitializer(initializer, ownerName);
- mDeviceOwner.writeOwnerFile();
- return true;
}
+
+ addDeviceInitializerToLockTaskPackagesLocked(UserHandle.USER_OWNER);
+ mDeviceOwner.writeOwnerFile();
+ return true;
}
}
@@ -5095,20 +5109,21 @@
final IPackageManager ipm = AppGlobals.getPackageManager();
IActivityManager activityManager = ActivityManagerNative.getDefault();
+ final int userHandle = user.getIdentifier();
try {
// Install the profile owner if not present.
- if (!ipm.isPackageAvailable(profileOwnerPkg, user.getIdentifier())) {
- ipm.installExistingPackageAsUser(profileOwnerPkg, user.getIdentifier());
+ if (!ipm.isPackageAvailable(profileOwnerPkg, userHandle)) {
+ ipm.installExistingPackageAsUser(profileOwnerPkg, userHandle);
}
// Start user in background.
- activityManager.startUserInBackground(user.getIdentifier());
+ activityManager.startUserInBackground(userHandle);
} catch (RemoteException e) {
Slog.e(LOG_TAG, "Failed to make remote calls for configureUser", e);
}
- setActiveAdmin(profileOwnerComponent, true, user.getIdentifier(), adminExtras);
- setProfileOwner(profileOwnerComponent, ownerName, user.getIdentifier());
+ setActiveAdmin(profileOwnerComponent, true, userHandle, adminExtras);
+ setProfileOwner(profileOwnerComponent, ownerName, userHandle);
return user;
} finally {
restoreCallingIdentity(id);
@@ -5653,27 +5668,26 @@
* This function can only be called by the device owner.
* @param packages The list of packages allowed to enter lock task mode.
*/
- public void setLockTaskPackages(ComponentName who, String[] packages) throws SecurityException {
+ public void setLockTaskPackages(ComponentName who, String[] packages)
+ throws SecurityException {
Preconditions.checkNotNull(who, "ComponentName is null");
synchronized (this) {
getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
int userHandle = Binder.getCallingUserHandle().getIdentifier();
- DevicePolicyData policy = getUserData(userHandle);
- policy.mLockTaskPackages.clear();
- if (packages != null) {
- for (int j = 0; j < packages.length; j++) {
- String pkg = packages[j];
- policy.mLockTaskPackages.add(pkg);
- }
- }
-
- // Store the settings persistently.
- saveSettingsLocked(userHandle);
- updateLockTaskPackagesLocked(policy, userHandle);
+ setLockTaskPackagesLocked(userHandle, new ArrayList<>(Arrays.asList(packages)));
}
}
+ private void setLockTaskPackagesLocked(int userHandle, List<String> packages) {
+ DevicePolicyData policy = getUserData(userHandle);
+ policy.mLockTaskPackages = packages;
+
+ // Store the settings persistently.
+ saveSettingsLocked(userHandle);
+ updateLockTaskPackagesLocked(packages, userHandle);
+ }
+
/**
* This function returns the list of components allowed to start the task lock mode.
*/
@@ -5681,13 +5695,17 @@
Preconditions.checkNotNull(who, "ComponentName is null");
synchronized (this) {
getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
-
int userHandle = Binder.getCallingUserHandle().getIdentifier();
- DevicePolicyData policy = getUserData(userHandle);
- return policy.mLockTaskPackages.toArray(new String[policy.mLockTaskPackages.size()]);
+ final List<String> packages = getLockTaskPackagesLocked(userHandle);
+ return packages.toArray(new String[packages.size()]);
}
}
+ private List<String> getLockTaskPackagesLocked(int userHandle) {
+ final DevicePolicyData policy = getUserData(userHandle);
+ return policy.mLockTaskPackages;
+ }
+
/**
* This function lets the caller know whether the given package is allowed to start the
* lock task mode.
@@ -5909,22 +5927,20 @@
DevicePolicyData policy = getUserData(userId);
if (policy.mStatusBarEnabledState != enabled) {
policy.mStatusBarEnabledState = enabled;
- setStatusBarEnabledStateInternal(
- enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK,
- userId);
+ setStatusBarEnabledStateInternal(enabled, userId);
saveSettingsLocked(userId);
}
}
}
- private void setStatusBarEnabledStateInternal(int flags, int userId) {
+ private void setStatusBarEnabledStateInternal(boolean enabled, int userId) {
long ident = Binder.clearCallingIdentity();
try {
IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
if (statusBarService != null) {
- statusBarService.disableForUser(flags, mToken,
- mDeviceOwner.getDeviceOwnerPackageName(), userId);
+ int flags = enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK;
+ statusBarService.disableForUser(flags, mToken, mContext.getPackageName(), userId);
}
} catch (RemoteException e) {
Slog.e(LOG_TAG, "Failed to disable the status bar", e);
@@ -5953,6 +5969,8 @@
if (!policy.mUserSetupComplete) {
policy.mUserSetupComplete = true;
synchronized (this) {
+ // The DeviceInitializer was whitelisted but now should be removed.
+ removeDeviceInitializerFromLockTaskPackages(userHandle);
saveSettingsLocked(userHandle);
}
}
@@ -5960,6 +5978,35 @@
}
}
+ private void addDeviceInitializerToLockTaskPackagesLocked(int userHandle) {
+ if (hasUserSetupCompleted(userHandle)) {
+ return;
+ }
+
+ final String deviceInitializerPackage = getDeviceInitializer();
+ if (deviceInitializerPackage == null) {
+ return;
+ }
+
+ final List<String> packages = getLockTaskPackagesLocked(userHandle);
+ if (!packages.contains(deviceInitializerPackage)) {
+ packages.add(deviceInitializerPackage);
+ setLockTaskPackagesLocked(userHandle, packages);
+ }
+ }
+
+ private void removeDeviceInitializerFromLockTaskPackages(int userHandle) {
+ final String deviceInitializerPackage = getDeviceInitializer();
+ if (deviceInitializerPackage == null) {
+ return;
+ }
+
+ List<String> packages = getLockTaskPackagesLocked(userHandle);
+ if (packages.remove(deviceInitializerPackage)) {
+ setLockTaskPackagesLocked(userHandle, packages);
+ }
+ }
+
private class SetupContentObserver extends ContentObserver {
private final Uri mUserSetupComplete = Settings.Secure.getUriFor(
@@ -6090,4 +6137,42 @@
}
return false;
}
+
+ @Override
+ public void notifyPendingSystemUpdate(long updateReceivedTime) {
+ mContext.enforceCallingOrSelfPermission(permission.NOTIFY_PENDING_SYSTEM_UPDATE,
+ "Only the system update service can broadcast update information");
+
+ if (UserHandle.getCallingUserId() != UserHandle.USER_OWNER) {
+ Slog.w(LOG_TAG, "Only the system update service in the primary user" +
+ "can broadcast update information.");
+ return;
+ }
+ Intent intent = new Intent(DeviceAdminReceiver.ACTION_NOTIFY_PENDING_SYSTEM_UPDATE);
+ intent.putExtra(DeviceAdminReceiver.EXTRA_SYSTEM_UPDATE_RECEIVED_TIME,
+ updateReceivedTime);
+
+ synchronized (this) {
+ String deviceOwnerPackage = getDeviceOwner();
+ if (deviceOwnerPackage == null) {
+ return;
+ }
+
+ try {
+ ActivityInfo[] receivers = mContext.getPackageManager().getPackageInfo(
+ deviceOwnerPackage, PackageManager.GET_RECEIVERS).receivers;
+ if (receivers != null) {
+ for (int i = 0; i < receivers.length; i++) {
+ if (permission.BIND_DEVICE_ADMIN.equals(receivers[i].permission)) {
+ intent.setComponent(new ComponentName(deviceOwnerPackage,
+ receivers[i].name));
+ mContext.sendBroadcastAsUser(intent, UserHandle.OWNER);
+ }
+ }
+ }
+ } catch (NameNotFoundException e) {
+ Log.e(LOG_TAG, "Cannot find device owner package", e);
+ }
+ }
+ }
}
diff --git a/services/net/java/android/net/dhcp/DhcpClient.java b/services/net/java/android/net/dhcp/DhcpClient.java
index e9203a4..ab56493 100644
--- a/services/net/java/android/net/dhcp/DhcpClient.java
+++ b/services/net/java/android/net/dhcp/DhcpClient.java
@@ -92,6 +92,7 @@
private static final boolean DBG = true;
private static final boolean STATE_DBG = false;
private static final boolean MSG_DBG = false;
+ private static final boolean PACKET_DBG = true;
// Timers and timeouts.
private static final int SECONDS = 1000;
@@ -329,6 +330,9 @@
if (packet != null) {
maybeLog("Received packet: " + packet);
sendMessage(CMD_RECEIVED_PACKET, packet);
+ } else if (PACKET_DBG) {
+ Log.d(TAG,
+ "Can't parse packet" + HexDump.dumpHexString(mPacket, 0, length));
}
} catch (IOException|ErrnoException e) {
if (!stopped) {
diff --git a/services/net/java/android/net/dhcp/DhcpDeclinePacket.java b/services/net/java/android/net/dhcp/DhcpDeclinePacket.java
index 9d985ac..4a22b65 100644
--- a/services/net/java/android/net/dhcp/DhcpDeclinePacket.java
+++ b/services/net/java/android/net/dhcp/DhcpDeclinePacket.java
@@ -53,6 +53,9 @@
* Adds optional parameters to the DECLINE packet.
*/
void finishPacket(ByteBuffer buffer) {
- // None needed
+ addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_DECLINE);
+ addTlv(buffer, DHCP_CLIENT_IDENTIFIER, getClientId());
+ // RFC 2131 says we MUST NOT include our common client TLVs or the parameter request list.
+ addTlvEnd(buffer);
}
}
diff --git a/services/net/java/android/net/dhcp/DhcpDiscoverPacket.java b/services/net/java/android/net/dhcp/DhcpDiscoverPacket.java
index a031080..ed0fdc6 100644
--- a/services/net/java/android/net/dhcp/DhcpDiscoverPacket.java
+++ b/services/net/java/android/net/dhcp/DhcpDiscoverPacket.java
@@ -52,6 +52,7 @@
*/
void finishPacket(ByteBuffer buffer) {
addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_DISCOVER);
+ addTlv(buffer, DHCP_CLIENT_IDENTIFIER, getClientId());
addCommonClientTlvs(buffer);
addTlv(buffer, DHCP_PARAMETER_LIST, mRequestedParams);
addTlvEnd(buffer);
diff --git a/services/net/java/android/net/dhcp/DhcpInformPacket.java b/services/net/java/android/net/dhcp/DhcpInformPacket.java
index 8bc7cdd..2434fc9 100644
--- a/services/net/java/android/net/dhcp/DhcpInformPacket.java
+++ b/services/net/java/android/net/dhcp/DhcpInformPacket.java
@@ -53,12 +53,9 @@
* Adds additional parameters to the INFORM packet.
*/
void finishPacket(ByteBuffer buffer) {
- byte[] clientId = new byte[7];
-
- clientId[0] = CLIENT_ID_ETHER;
- System.arraycopy(mClientMac, 0, clientId, 1, 6);
-
- addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_REQUEST);
+ addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_INFORM);
+ addTlv(buffer, DHCP_CLIENT_IDENTIFIER, getClientId());
+ addCommonClientTlvs(buffer);
addTlv(buffer, DHCP_PARAMETER_LIST, mRequestedParams);
addTlvEnd(buffer);
}
diff --git a/services/net/java/android/net/dhcp/DhcpPacket.java b/services/net/java/android/net/dhcp/DhcpPacket.java
index d41629d..a64ee6f 100644
--- a/services/net/java/android/net/dhcp/DhcpPacket.java
+++ b/services/net/java/android/net/dhcp/DhcpPacket.java
@@ -285,6 +285,16 @@
}
/**
+ * Returns the client ID. This follows RFC 2132 and is based on the hardware address.
+ */
+ public byte[] getClientId() {
+ byte[] clientId = new byte[mClientMac.length + 1];
+ clientId[0] = CLIENT_ID_ETHER;
+ System.arraycopy(mClientMac, 0, clientId, 1, mClientMac.length);
+ return clientId;
+ }
+
+ /**
* Creates a new L3 packet (including IP header) containing the
* DHCP udp packet. This method relies upon the delegated method
* finishPacket() to insert the per-packet contents.
diff --git a/services/net/java/android/net/dhcp/DhcpRequestPacket.java b/services/net/java/android/net/dhcp/DhcpRequestPacket.java
index 42b7b0c..5d378b8 100644
--- a/services/net/java/android/net/dhcp/DhcpRequestPacket.java
+++ b/services/net/java/android/net/dhcp/DhcpRequestPacket.java
@@ -56,20 +56,14 @@
* Adds the optional parameters to the client-generated REQUEST packet.
*/
void finishPacket(ByteBuffer buffer) {
- byte[] clientId = new byte[7];
-
- // assemble client identifier
- clientId[0] = CLIENT_ID_ETHER;
- System.arraycopy(mClientMac, 0, clientId, 1, 6);
-
addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_REQUEST);
+ addTlv(buffer, DHCP_CLIENT_IDENTIFIER, getClientId());
if (!INADDR_ANY.equals(mRequestedIp)) {
addTlv(buffer, DHCP_REQUESTED_IP, mRequestedIp);
}
if (!INADDR_ANY.equals(mServerIdentifier)) {
addTlv(buffer, DHCP_SERVER_IDENTIFIER, mServerIdentifier);
}
- addTlv(buffer, DHCP_CLIENT_IDENTIFIER, clientId);
addCommonClientTlvs(buffer);
addTlv(buffer, DHCP_PARAMETER_LIST, mRequestedParams);
addTlvEnd(buffer);
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index a46585a..bbd5e30 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -213,7 +213,6 @@
/**
* For video calls, indicates whether the outgoing video for the call can be paused using
* the {@link android.telecom.VideoProfile.VideoState#PAUSED} VideoState.
- * @hide
*/
public static final int CAPABILITY_CAN_PAUSE_VIDEO = 0x00100000;
diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java
new file mode 100644
index 0000000..eef72fb
--- /dev/null
+++ b/telecomm/java/android/telecom/DefaultDialerManager.java
@@ -0,0 +1,174 @@
+/*
+ * 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.telecom;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Class for managing the default dialer application that will receive incoming calls, and be
+ * allowed to make emergency outgoing calls.
+ *
+ * @hide
+ */
+public class DefaultDialerManager {
+ private static final String TAG = "DefaultDialerManager";
+
+ /**
+ * Sets the specified package name as the default dialer application. The caller of this method
+ * needs to have permission to write to secure settings.
+ *
+ * @hide
+ * */
+ public static void setDefaultPhoneApplication(Context context, String packageName) {
+ // Get old package name
+ String oldPackageName = Settings.Secure.getString(context.getContentResolver(),
+ Settings.Secure.DIALER_DEFAULT_APPLICATION);
+
+ if (packageName != null && oldPackageName != null && packageName.equals(oldPackageName)) {
+ // No change
+ return;
+ }
+
+ // Only make the change if the new package belongs to a valid phone application
+ List<ComponentName> componentNames = getInstalledDialerApplications(context);
+ final ComponentName foundComponent = getComponentName(componentNames, packageName);
+
+ if (foundComponent != null) {
+ // Update the secure setting.
+ Settings.Secure.putString(context.getContentResolver(),
+ Settings.Secure.DIALER_DEFAULT_APPLICATION, foundComponent.getPackageName());
+ }
+ }
+
+ /**
+ * Returns the installed dialer application that will be used to receive incoming calls, and is
+ * allowed to make emergency calls.
+ *
+ * The application will be returned in order of preference:
+ * 1) User selected phone application (if still installed)
+ * 2) Pre-installed system dialer (if not disabled)
+ * 3) Null
+ *
+ * @hide
+ * */
+ public static ComponentName getDefaultDialerApplication(Context context) {
+ String defaultPackageName = Settings.Secure.getString(context.getContentResolver(),
+ Settings.Secure.DIALER_DEFAULT_APPLICATION);
+
+ final List<ComponentName> componentNames = getInstalledDialerApplications(context);
+ if (!TextUtils.isEmpty(defaultPackageName)) {
+ final ComponentName defaultDialer =
+ getComponentName(componentNames, defaultPackageName);
+ if (defaultDialer != null) {
+ return defaultDialer;
+ }
+ }
+
+ // No user-set dialer found, fallback to system dialer
+ ComponentName systemDialer = getTelecomManager(context).getDefaultPhoneApp();
+
+ if (systemDialer == null) {
+ // No system dialer configured at build time
+ return null;
+ }
+
+ // Verify that the system dialer has not been disabled.
+ return getComponentName(componentNames, systemDialer.getPackageName());
+ }
+
+ /**
+ * Returns a list of installed and available dialer applications.
+ *
+ * In order to appear in the list, a dialer application must implement an intent-filter with
+ * the DIAL intent for the following schemes:
+ *
+ * 1) Empty scheme
+ * 2) tel Uri scheme
+ *
+ * @hide
+ **/
+ public static List<ComponentName> getInstalledDialerApplications(Context context) {
+ PackageManager packageManager = context.getPackageManager();
+
+ // Get the list of apps registered for the DIAL intent with empty scheme
+ Intent intent = new Intent(Intent.ACTION_DIAL);
+ List<ResolveInfo> resolveInfoList = packageManager.queryIntentActivities(intent, 0);
+
+ List<ComponentName> componentNames = new ArrayList<ComponentName> ();
+
+ for (ResolveInfo resolveInfo : resolveInfoList) {
+ final ActivityInfo activityInfo = resolveInfo.activityInfo;
+ if (activityInfo == null) {
+ continue;
+ }
+ final ComponentName componentName =
+ new ComponentName(activityInfo.packageName, activityInfo.name);
+ componentNames.add(componentName);
+ }
+
+ // TODO: Filter for apps that don't handle DIAL intent with tel scheme
+ return componentNames;
+ }
+
+ /**
+ * Returns the {@link ComponentName} for the installed dialer application for a given package
+ * name.
+ *
+ * @param context A valid context.
+ * @param packageName to retrieve the {@link ComponentName} for.
+ *
+ * @return The {@link ComponentName} for the installed dialer application corresponding to the
+ * package name, or null if none is found.
+ *
+ * @hide
+ */
+ public static ComponentName getDialerApplicationForPackageName(Context context,
+ String packageName) {
+ return getComponentName(getInstalledDialerApplications(context), packageName);
+ }
+
+ /**
+ * Returns the component from a list of application components that corresponds to the package
+ * name.
+ *
+ * @param componentNames A list of component names
+ * @param packageName The package name to look for
+ * @return The {@link ComponentName} that matches the provided packageName, or null if not
+ * found.
+ */
+ private static ComponentName getComponentName(List<ComponentName> componentNames,
+ String packageName) {
+ for (ComponentName componentName : componentNames) {
+ if (TextUtils.equals(packageName, componentName.getPackageName())) {
+ return componentName;
+ }
+ }
+ return null;
+ }
+
+ private static TelecomManager getTelecomManager(Context context) {
+ return (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
+ }
+}
diff --git a/telephony/java/android/telephony/RadioAccessFamily.java b/telephony/java/android/telephony/RadioAccessFamily.java
index d10a7ea..9fea418 100644
--- a/telephony/java/android/telephony/RadioAccessFamily.java
+++ b/telephony/java/android/telephony/RadioAccessFamily.java
@@ -48,6 +48,13 @@
public static final int RAF_GSM = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GSM);
public static final int RAF_TD_SCDMA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_TD_SCDMA);
+ // Grouping of RAFs
+ private static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
+ private static final int HS = RAF_HSUPA | RAF_HSDPA | RAF_HSPA | RAF_HSPAP;
+ private static final int CDMA = RAF_IS95A | RAF_IS95B | RAF_1xRTT;
+ private static final int EVDO = RAF_EVDO_0 | RAF_EVDO_A | RAF_EVDO_B | RAF_EHRPD;
+ private static final int WCDMA = HS | RAF_UMTS;
+
/* Phone ID of phone */
private int mPhoneId;
@@ -136,12 +143,6 @@
};
public static int getRafFromNetworkType(int type) {
- final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
- final int HS = RAF_HSUPA | RAF_HSDPA | RAF_HSPA | RAF_HSPAP;
- final int CDMA = RAF_IS95A | RAF_IS95B | RAF_1xRTT;
- final int EVDO = RAF_EVDO_0 | RAF_EVDO_A | RAF_EVDO_B;
- final int WCDMA = HS | RAF_UMTS;
-
int raf;
switch (type) {
@@ -158,7 +159,7 @@
raf = GSM | WCDMA;
break;
case RILConstants.NETWORK_MODE_CDMA:
- raf = CDMA;
+ raf = CDMA | EVDO;
break;
case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO:
raf = RAF_LTE | CDMA | EVDO;
@@ -188,7 +189,71 @@
raf = RAF_UNKNOWN;
break;
}
+
return raf;
}
+
+ /**
+ * if the raf includes ANY bit set for a group
+ * adjust it to contain ALL the bits for that group
+ */
+ private static int getAdjustedRaf(int raf) {
+ raf = ((GSM & raf) > 0) ? (GSM | raf) : raf;
+ raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf;
+ raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf;
+ raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
+
+ return raf;
+ }
+
+ public static int getNetworkTypeFromRaf(int raf) {
+ int type;
+
+ raf = getAdjustedRaf(raf);
+
+ switch (raf) {
+ case (GSM | WCDMA):
+ type = RILConstants.NETWORK_MODE_WCDMA_PREF;
+ break;
+ case GSM:
+ type = RILConstants.NETWORK_MODE_GSM_ONLY;
+ break;
+ case WCDMA:
+ type = RILConstants.NETWORK_MODE_WCDMA_ONLY;
+ break;
+ case (CDMA | EVDO):
+ type = RILConstants.NETWORK_MODE_CDMA;
+ break;
+ case (RAF_LTE | CDMA | EVDO):
+ type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
+ break;
+ case (RAF_LTE | GSM | WCDMA):
+ type = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+ break;
+ case (RAF_LTE | CDMA | EVDO | GSM | WCDMA):
+ type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
+ break;
+ case RAF_LTE:
+ type = RILConstants.NETWORK_MODE_LTE_ONLY;
+ break;
+ case (RAF_LTE | WCDMA):
+ type = RILConstants.NETWORK_MODE_LTE_WCDMA;
+ break;
+ case CDMA:
+ type = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
+ break;
+ case EVDO:
+ type = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
+ break;
+ case (GSM | WCDMA | CDMA | EVDO):
+ type = RILConstants.NETWORK_MODE_GLOBAL;
+ break;
+ default:
+ type = RILConstants.PREFERRED_NETWORK_MODE ;
+ break;
+ }
+
+ return type;
+ }
}
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index 17db3fb..7b58755 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -470,8 +470,6 @@
/**
* Get signal level as an int from 0..4
- *
- * @hide
*/
public int getLevel() {
int level;
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 3ecf5ac..e4c003a 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -396,7 +396,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- subInfo = iSub.getActiveSubscriptionInfo(subId);
+ subInfo = iSub.getActiveSubscriptionInfo(subId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -424,7 +424,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getActiveSubscriptionInfoForIccId(iccId);
+ result = iSub.getActiveSubscriptionInfoForIccId(iccId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -450,7 +450,8 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getActiveSubscriptionInfoForSimSlotIndex(slotIdx);
+ result = iSub.getActiveSubscriptionInfoForSimSlotIndex(slotIdx,
+ mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -472,7 +473,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getAllSubInfoList();
+ result = iSub.getAllSubInfoList(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -510,7 +511,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getActiveSubscriptionInfoList();
+ result = iSub.getActiveSubscriptionInfoList(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -531,7 +532,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getAllSubInfoCount();
+ result = iSub.getAllSubInfoCount(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -551,7 +552,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.getActiveSubInfoCount();
+ result = iSub.getActiveSubInfoCount(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -600,7 +601,7 @@
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
// FIXME: This returns 1 on success, 0 on error should should we return it?
- iSub.addSubInfoRecord(iccId, slotId);
+ iSub.addSubInfoRecord(iccId, slotId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -630,7 +631,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.setIconTint(tint, subId);
+ result = iSub.setIconTint(tint, subId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -675,7 +676,8 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.setDisplayNameUsingSrc(displayName, subId, nameSource);
+ result = iSub.setDisplayNameUsingSrc(displayName, subId, nameSource,
+ mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -703,7 +705,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.setDisplayNumber(number, subId);
+ result = iSub.setDisplayNumber(number, subId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -732,7 +734,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- result = iSub.setDataRoaming(roaming, subId);
+ result = iSub.setDataRoaming(roaming, subId, mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -967,7 +969,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- iSub.clearSubInfo();
+ iSub.clearSubInfo(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
@@ -1001,7 +1003,7 @@
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
- iSub.clearDefaultsForInactiveSubIds();
+ iSub.clearDefaultsForInactiveSubIds(mContext.getOpPackageName());
}
} catch (RemoteException ex) {
// ignore it
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index acbc0aa..3f8aca0 100755
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -22,42 +22,48 @@
interface ISub {
/**
+ * @param callingPackage The package maing the call.
* @return a list of all subscriptions in the database, this includes
* all subscriptions that have been seen.
*/
- List<SubscriptionInfo> getAllSubInfoList();
+ List<SubscriptionInfo> getAllSubInfoList(String callingPackage);
/**
+ * @param callingPackage The package maing the call.
* @return the count of all subscriptions in the database, this includes
* all subscriptions that have been seen.
*/
- int getAllSubInfoCount();
+ int getAllSubInfoCount(String callingPackage);
/**
* Get the active SubscriptionInfo with the subId key
* @param subId The unique SubscriptionInfo key in database
+ * @param callingPackage The package maing the call.
* @return SubscriptionInfo, maybe null if its not active
*/
- SubscriptionInfo getActiveSubscriptionInfo(int subId);
+ SubscriptionInfo getActiveSubscriptionInfo(int subId, String callingPackage);
/**
* Get the active SubscriptionInfo associated with the iccId
* @param iccId the IccId of SIM card
+ * @param callingPackage The package maing the call.
* @return SubscriptionInfo, maybe null if its not active
*/
- SubscriptionInfo getActiveSubscriptionInfoForIccId(String iccId);
+ SubscriptionInfo getActiveSubscriptionInfoForIccId(String iccId, String callingPackage);
/**
* Get the active SubscriptionInfo associated with the slotIdx
* @param slotIdx the slot which the subscription is inserted
+ * @param callingPackage The package maing the call.
* @return SubscriptionInfo, maybe null if its not active
*/
- SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int slotIdx);
+ SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int slotIdx, String callingPackage);
/**
* Get the SubscriptionInfo(s) of the active subscriptions. The records will be sorted
* by {@link SubscriptionInfo#getSimSlotIndex} then by {@link SubscriptionInfo#getSubscriptionId}.
*
+ * @param callingPackage The package maing the call.
* @return Sorted list of the currently {@link SubscriptionInfo} records available on the device.
* <ul>
* <li>
@@ -74,12 +80,13 @@
* </li>
* </ul>
*/
- List<SubscriptionInfo> getActiveSubscriptionInfoList();
+ List<SubscriptionInfo> getActiveSubscriptionInfoList(String callingPackage);
/**
+ * @param callingPackage The package maing the call.
* @return the number of active subscriptions
*/
- int getActiveSubInfoCount();
+ int getActiveSubInfoCount(String callingPackage);
/**
* @return the maximum number of subscriptions this device will support at any one time.
@@ -90,50 +97,57 @@
* Add a new SubscriptionInfo to subinfo database if needed
* @param iccId the IccId of the SIM card
* @param slotId the slot which the SIM is inserted
+ * @param callingPackage The package maing the call.
* @return the URL of the newly created row or the updated row
*/
- int addSubInfoRecord(String iccId, int slotId);
+ int addSubInfoRecord(String iccId, int slotId, String callingPackage);
/**
* Set SIM icon tint color by simInfo index
* @param tint the icon tint color of the SIM
* @param subId the unique SubscriptionInfo index in database
+ * @param callingPackage The package maing the call.
* @return the number of records updated
*/
- int setIconTint(int tint, int subId);
+ int setIconTint(int tint, int subId, String callingPackage);
/**
* Set display name by simInfo index
* @param displayName the display name of SIM card
* @param subId the unique SubscriptionInfo index in database
+ * @param callingPackage The package maing the call.
* @return the number of records updated
*/
- int setDisplayName(String displayName, int subId);
+ int setDisplayName(String displayName, int subId, String callingPackage);
/**
* Set display name by simInfo index with name source
* @param displayName the display name of SIM card
* @param subId the unique SubscriptionInfo index in database
* @param nameSource, 0: DEFAULT_SOURCE, 1: SIM_SOURCE, 2: USER_INPUT
+ * @param callingPackage The package maing the call.
* @return the number of records updated
*/
- int setDisplayNameUsingSrc(String displayName, int subId, long nameSource);
+ int setDisplayNameUsingSrc(String displayName, int subId, long nameSource,
+ String callingPackage);
/**
* Set phone number by subId
* @param number the phone number of the SIM
* @param subId the unique SubscriptionInfo index in database
+ * @param callingPackage The package maing the call.
* @return the number of records updated
*/
- int setDisplayNumber(String number, int subId);
+ int setDisplayNumber(String number, int subId, String callingPackage);
/**
* Set data roaming by simInfo index
* @param roaming 0:Don't allow data when roaming, 1:Allow data when roaming
+ * @param callingPackage The package maing the call.
* @param subId the unique SubscriptionInfo index in database
* @return the number of records updated
*/
- int setDataRoaming(int roaming, int subId);
+ int setDataRoaming(int roaming, int subId, String callingPackage);
int getSlotId(int subId);
@@ -141,7 +155,7 @@
int getDefaultSubId();
- int clearSubInfo();
+ int clearSubInfo(String callingPackage);
int getPhoneId(int subId);
@@ -161,7 +175,7 @@
void setDefaultSmsSubId(int subId);
- void clearDefaultsForInactiveSubIds();
+ void clearDefaultsForInactiveSubIds(String callingPackage);
int[] getActiveSubIdList();
diff --git a/tests/LockTaskTests/res/layout/activity_main.xml b/tests/LockTaskTests/res/layout/activity_main.xml
index c2e93c4..dbdc9fa 100644
--- a/tests/LockTaskTests/res/layout/activity_main.xml
+++ b/tests/LockTaskTests/res/layout/activity_main.xml
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root_launch"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
@@ -37,5 +37,11 @@
android:layout_marginTop="16dp"
android:onClick="onButtonPressed"
android:text="@string/launch_always" />
-
+ <Button
+ android:id="@+id/toast_pinned"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:onClick="onToast"
+ android:text="@string/toast_pinned" />
</LinearLayout>
diff --git a/tests/LockTaskTests/res/values/strings.xml b/tests/LockTaskTests/res/values/strings.xml
index ae7768e..61c029f 100644
--- a/tests/LockTaskTests/res/values/strings.xml
+++ b/tests/LockTaskTests/res/values/strings.xml
@@ -22,4 +22,5 @@
<string name="try_lock">Call startLockMode()</string>
<string name="try_unlock">Call stopLockMode()</string>
+ <string name="toast_pinned">Show pinned toast message</string>
</resources>
diff --git a/tests/LockTaskTests/src/com/google/android/example/locktasktests/LaunchActivity.java b/tests/LockTaskTests/src/com/google/android/example/locktasktests/LaunchActivity.java
index 1fc53cb..ab60d485 100644
--- a/tests/LockTaskTests/src/com/google/android/example/locktasktests/LaunchActivity.java
+++ b/tests/LockTaskTests/src/com/google/android/example/locktasktests/LaunchActivity.java
@@ -21,47 +21,61 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.view.View;
import android.widget.EditText;
public class LaunchActivity extends Activity {
- EditText mEditText;
+ Runnable mBackgroundPolling;
+ boolean mRunning;
+ Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch);
- setBackgroundOnLockTaskMode();
+ mBackgroundPolling = new Runnable() {
+ @Override
+ public void run() {
+ if (!mRunning) {
+ return;
+ }
+ ActivityManager activityManager =
+ (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
+ final int color = activityManager.getLockTaskModeState() !=
+ ActivityManager.LOCK_TASK_MODE_NONE ? 0xFFFFC0C0 : 0xFFFFFFFF;
+ findViewById(R.id.root_launch).setBackgroundColor(color);
+ mHandler.postDelayed(this, 1000);
+ }
+ };
+ mHandler = new Handler(Looper.getMainLooper());
}
@Override
public void onResume() {
super.onResume();
- setBackgroundOnLockTaskMode();
+ mRunning = true;
+ mBackgroundPolling.run();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mRunning = false;
}
public void onTryLock(View view) {
startLockTask();
- setBackgroundOnLockTaskMode();
}
public void onTryUnlock(View view) {
stopLockTask();
- setBackgroundOnLockTaskMode();
}
public void onLaunchMain(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
-
- private void setBackgroundOnLockTaskMode() {
- ActivityManager activityManager =
- (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- final int color =
- activityManager.getLockTaskModeState() != ActivityManager.LOCK_TASK_MODE_NONE ?
- 0xFFFFC0C0 : 0xFFFFFFFF;
- findViewById(R.id.root_launch).setBackgroundColor(color);
- }
}
diff --git a/tests/LockTaskTests/src/com/google/android/example/locktasktests/MainActivity.java b/tests/LockTaskTests/src/com/google/android/example/locktasktests/MainActivity.java
index 82fac03..c2275c8 100644
--- a/tests/LockTaskTests/src/com/google/android/example/locktasktests/MainActivity.java
+++ b/tests/LockTaskTests/src/com/google/android/example/locktasktests/MainActivity.java
@@ -6,7 +6,6 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.util.Log;
import android.view.View;
public class MainActivity extends Activity {
@@ -17,13 +16,16 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- setBackgroundOnLockTaskMode();
}
@Override
public void onResume() {
super.onResume();
- setBackgroundOnLockTaskMode();
+ ActivityManager activityManager =
+ (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
+ final int color = activityManager.getLockTaskModeState() !=
+ ActivityManager.LOCK_TASK_MODE_NONE ? 0xFFFFC0C0 : 0xFFFFFFFF;
+ findViewById(R.id.root_launch).setBackgroundColor(color);
}
public void onButtonPressed(View v) {
@@ -47,12 +49,7 @@
startActivity(intent);
}
- private void setBackgroundOnLockTaskMode() {
- ActivityManager activityManager =
- (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- final int color =
- activityManager.getLockTaskModeState() != ActivityManager.LOCK_TASK_MODE_NONE ?
- 0xFFFFC0C0 : 0xFFFFFFFF;
- findViewById(R.id.root_launch).setBackgroundColor(color);
+ public void onToast(View v) {
+ showLockTaskEscapeMessage();
}
}
diff --git a/tests/VoiceInteraction/res/layout/main.xml b/tests/VoiceInteraction/res/layout/main.xml
index 092d37d..34a7563 100644
--- a/tests/VoiceInteraction/res/layout/main.xml
+++ b/tests/VoiceInteraction/res/layout/main.xml
@@ -34,6 +34,12 @@
android:text="@string/asyncStructure"
/>
+ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:assistBlocked="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="This won't be included in assist."
+ />
+
</LinearLayout>
diff --git a/tests/VoiceInteraction/res/xml/interaction_service.xml b/tests/VoiceInteraction/res/xml/interaction_service.xml
index ce5669c..789493a 100644
--- a/tests/VoiceInteraction/res/xml/interaction_service.xml
+++ b/tests/VoiceInteraction/res/xml/interaction_service.xml
@@ -20,4 +20,5 @@
<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
android:sessionService="com.android.test.voiceinteraction.MainInteractionSessionService"
android:recognitionService="com.android.test.voiceinteraction.MainRecognitionService"
- android:settingsActivity="com.android.test.voiceinteraction.SettingsActivity" />
+ android:settingsActivity="com.android.test.voiceinteraction.SettingsActivity"
+ android:supportsAssistGesture="true" />
diff --git a/tools/aapt/Bundle.h b/tools/aapt/Bundle.h
index e7cde74..3dae917 100644
--- a/tools/aapt/Bundle.h
+++ b/tools/aapt/Bundle.h
@@ -54,7 +54,7 @@
mWantUTF16(false), mValues(false), mIncludeMetaData(false),
mCompressionMethod(0), mJunkPath(false), mOutputAPKFile(NULL),
mManifestPackageNameOverride(NULL), mInstrumentationPackageNameOverride(NULL),
- mAutoAddOverlay(false), mGenDependencies(false),
+ mAutoAddOverlay(false), mGenDependencies(false), mNoVersionVectors(false),
mCrunchedOutputDir(NULL), mProguardFile(NULL),
mAndroidManifestFile(NULL), mPublicOutputFile(NULL),
mRClassDir(NULL), mResourceIntermediatesDir(NULL), mManifestMinSdkVersion(NULL),
@@ -203,6 +203,8 @@
void setSingleCrunchOutputFile(const char* val) { mSingleCrunchOutputFile = val; }
bool getBuildSharedLibrary() const { return mBuildSharedLibrary; }
void setBuildSharedLibrary(bool val) { mBuildSharedLibrary = val; }
+ void setNoVersionVectors(bool val) { mNoVersionVectors = val; }
+ bool getNoVersionVectors() const { return mNoVersionVectors; }
/*
* Set and get the file specification.
@@ -282,6 +284,7 @@
const char* mInstrumentationPackageNameOverride;
bool mAutoAddOverlay;
bool mGenDependencies;
+ bool mNoVersionVectors;
const char* mCrunchedOutputDir;
const char* mProguardFile;
const char* mAndroidManifestFile;
diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp
index 8b416aa..7dee585 100644
--- a/tools/aapt/Main.cpp
+++ b/tools/aapt/Main.cpp
@@ -211,7 +211,9 @@
" specified folder.\n"
" --ignore-assets\n"
" Assets to be ignored. Default pattern is:\n"
- " %s\n",
+ " %s\n"
+ " --no-version-vectors\n"
+ " Do not automatically generate versioned copies of vector XML resources.\n",
gDefaultIgnoreAssets);
}
@@ -673,6 +675,8 @@
gUserIgnoreAssets = argv[0];
} else if (strcmp(cp, "-pseudo-localize") == 0) {
bundle.setPseudolocalize(PSEUDO_ACCENTED | PSEUDO_BIDI);
+ } else if (strcmp(cp, "-no-version-vectors") == 0) {
+ bundle.setNoVersionVectors(true);
} else {
fprintf(stderr, "ERROR: Unknown option '-%s'\n", cp);
wantUsage = true;
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index c5fccbf..3b146da 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -4611,6 +4611,9 @@
const String16& resourceName,
const sp<AaptFile>& target,
const sp<XMLNode>& root) {
+ const String16 vector16("vector");
+ const String16 animatedVector16("animated-vector");
+
const int minSdk = getMinSdkVersion(bundle);
if (minSdk >= SDK_LOLLIPOP_MR1) {
// Lollipop MR1 and up handles public attributes differently, no
@@ -4620,8 +4623,8 @@
const ConfigDescription config(target->getGroupEntry().toParams());
if (target->getResourceType() == "" || config.sdkVersion >= SDK_LOLLIPOP_MR1) {
- // Skip resources that have no type (AndroidManifest.xml) or are already version qualified with v21
- // or higher.
+ // Skip resources that have no type (AndroidManifest.xml) or are already version qualified
+ // with v21 or higher.
return NO_ERROR;
}
@@ -4635,6 +4638,12 @@
sp<XMLNode> node = nodesToVisit.top();
nodesToVisit.pop();
+ if (bundle->getNoVersionVectors() && (node->getElementName() == vector16 ||
+ node->getElementName() == animatedVector16)) {
+ // We were told not to version vector tags, so skip the children here.
+ continue;
+ }
+
const Vector<XMLNode::attribute_entry>& attrs = node->getAttributes();
for (size_t i = 0; i < attrs.size(); i++) {
const XMLNode::attribute_entry& attr = attrs[i];
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 0f7dd61..3205351 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -2063,7 +2063,11 @@
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build();
mNetworkCallback = new PinningNetworkCallback();
- sCM.registerNetworkCallback(request, mNetworkCallback);
+ try {
+ sCM.registerNetworkCallback(request, mNetworkCallback);
+ } catch (SecurityException e) {
+ Log.d(TAG, "Failed to register network callback", e);
+ }
}
}
}
@@ -2072,7 +2076,11 @@
initConnectivityManager();
synchronized (sCM) {
if (mNetworkCallback != null) {
- sCM.unregisterNetworkCallback(mNetworkCallback);
+ try {
+ sCM.unregisterNetworkCallback(mNetworkCallback);
+ } catch (SecurityException e) {
+ Log.d(TAG, "Failed to unregister network callback", e);
+ }
mNetworkCallback = null;
}
}
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index cecd738..4ead972 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -722,7 +722,7 @@
/* private members and methods */
private static final String TAG = "WifiScanner";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
/* commands for Wifi Service */
private static final int BASE = Protocol.BASE_WIFI_SCANNER;