diff options
382 files changed, 2641 insertions, 12137 deletions
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index a2d34e42f298..2fa1ee6b3869 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -68,15 +68,25 @@ static const char SYSTEM_ENCRYPTED_BOOTANIMATION_FILE[] = "/system/media/bootani static const char SYSTEM_DATA_DIR_PATH[] = "/data/system"; static const char SYSTEM_TIME_DIR_NAME[] = "time"; static const char SYSTEM_TIME_DIR_PATH[] = "/data/system/time"; +static const char CLOCK_FONT_ASSET[] = "images/clock_font.png"; +static const char CLOCK_FONT_ZIP_NAME[] = "clock_font.png"; static const char LAST_TIME_CHANGED_FILE_NAME[] = "last_time_change"; static const char LAST_TIME_CHANGED_FILE_PATH[] = "/data/system/time/last_time_change"; static const char ACCURATE_TIME_FLAG_FILE_NAME[] = "time_is_accurate"; static const char ACCURATE_TIME_FLAG_FILE_PATH[] = "/data/system/time/time_is_accurate"; // Java timestamp format. Don't show the clock if the date is before 2000-01-01 00:00:00. static const long long ACCURATE_TIME_EPOCH = 946684800000; +static constexpr char FONT_BEGIN_CHAR = ' '; +static constexpr char FONT_END_CHAR = '~' + 1; +static constexpr size_t FONT_NUM_CHARS = FONT_END_CHAR - FONT_BEGIN_CHAR + 1; +static constexpr size_t FONT_NUM_COLS = 16; +static constexpr size_t FONT_NUM_ROWS = FONT_NUM_CHARS / FONT_NUM_COLS; +static const int TEXT_CENTER_VALUE = INT_MAX; +static const int TEXT_MISSING_VALUE = INT_MIN; static const char EXIT_PROP_NAME[] = "service.bootanim.exit"; static const char PLAY_SOUND_PROP_NAME[] = "persist.sys.bootanim.play_sound"; static const int ANIM_ENTRY_NAME_MAX = 256; +static constexpr size_t TEXT_POS_LEN_MAX = 16; static const char BOOT_COMPLETED_PROP_NAME[] = "sys.boot_completed"; static const char BOOTREASON_PROP_NAME[] = "ro.boot.bootreason"; // bootreasons list in "system/core/bootstat/bootstat.cpp". @@ -175,15 +185,14 @@ status_t BootAnimation::initTexture(Texture* texture, AssetManager& assets, glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + return NO_ERROR; } -status_t BootAnimation::initTexture(const Animation::Frame& frame) +status_t BootAnimation::initTexture(FileMap* map, int* width, int* height) { - //StopWatch watch("blah"); - SkBitmap bitmap; - SkMemoryStream stream(frame.map->getDataPtr(), frame.map->getDataLength()); + SkMemoryStream stream(map->getDataPtr(), map->getDataLength()); SkImageDecoder* codec = SkImageDecoder::Factory(&stream); if (codec != NULL) { codec->setDitherImage(false); @@ -196,7 +205,7 @@ status_t BootAnimation::initTexture(const Animation::Frame& frame) // FileMap memory is never released until application exit. // Release it now as the texture is already loaded and the memory used for // the packed resource can be released. - delete frame.map; + delete map; // ensure we can call getPixels(). No need to call unlock, since the // bitmap will go out of scope when we return from this method. @@ -242,6 +251,9 @@ status_t BootAnimation::initTexture(const Animation::Frame& frame) glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, crop); + *width = w; + *height = h; + return NO_ERROR; } @@ -404,7 +416,6 @@ bool BootAnimation::android() return false; } - void BootAnimation::checkExit() { // Allow surface flinger to gracefully request shutdown char value[PROPERTY_VALUE_MAX]; @@ -415,6 +426,47 @@ void BootAnimation::checkExit() { } } +bool BootAnimation::validClock(const Animation::Part& part) { + return part.clockPosX != TEXT_MISSING_VALUE && part.clockPosY != TEXT_MISSING_VALUE; +} + +bool parseTextCoord(const char* str, int* dest) { + if (strcmp("c", str) == 0) { + *dest = TEXT_CENTER_VALUE; + return true; + } + + char* end; + int val = (int) strtol(str, &end, 0); + if (end == str || *end != '\0' || val == INT_MAX || val == INT_MIN) { + return false; + } + *dest = val; + return true; +} + +// Parse two position coordinates. If only string is non-empty, treat it as the y value. +void parsePosition(const char* str1, const char* str2, int* x, int* y) { + bool success = false; + if (strlen(str1) == 0) { // No values were specified + // success = false + } else if (strlen(str2) == 0) { // we have only one value + if (parseTextCoord(str1, y)) { + *x = TEXT_CENTER_VALUE; + success = true; + } + } else { + if (parseTextCoord(str1, x) && parseTextCoord(str2, y)) { + success = true; + } + } + + if (!success) { + *x = TEXT_MISSING_VALUE; + *y = TEXT_MISSING_VALUE; + } +} + // Parse a color represented as an HTML-style 'RRGGBB' string: each pair of // characters in str is a hex number in [0, 255], which are converted to // floating point values in the range [0.0, 1.0] and placed in the @@ -461,69 +513,105 @@ static bool readFile(ZipFileRO* zip, const char* name, String8& outString) return true; } -// The time glyphs are stored in a single image of height 64 pixels. Each digit is 40 pixels wide, -// and the colon character is half that at 20 pixels. The glyph order is '0123456789:'. -// We render 24 hour time. -void BootAnimation::drawTime(const Texture& clockTex, const int yPos) { - static constexpr char TIME_FORMAT[] = "%H:%M"; - static constexpr int TIME_LENGTH = sizeof(TIME_FORMAT); +// The font image should be a 96x2 array of character images. The +// columns are the printable ASCII characters 0x20 - 0x7f. The +// top row is regular text; the bottom row is bold. +status_t BootAnimation::initFont(Font* font, const char* fallback) { + status_t status = NO_ERROR; - static constexpr int DIGIT_HEIGHT = 64; - static constexpr int DIGIT_WIDTH = 40; - static constexpr int COLON_WIDTH = DIGIT_WIDTH / 2; - static constexpr int TIME_WIDTH = (DIGIT_WIDTH * 4) + COLON_WIDTH; + if (font->map != nullptr) { + glGenTextures(1, &font->texture.name); + glBindTexture(GL_TEXTURE_2D, font->texture.name); - if (clockTex.h < DIGIT_HEIGHT || clockTex.w < (10 * DIGIT_WIDTH + COLON_WIDTH)) { - ALOGE("Clock texture is too small; abandoning boot animation clock"); - mClockEnabled = false; - return; + status = initTexture(font->map, &font->texture.w, &font->texture.h); + + glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + } else if (fallback != nullptr) { + status = initTexture(&font->texture, mAssets, fallback); + } else { + return NO_INIT; } - time_t rawtime; - time(&rawtime); - struct tm* timeInfo = localtime(&rawtime); + if (status == NO_ERROR) { + font->char_width = font->texture.w / FONT_NUM_COLS; + font->char_height = font->texture.h / FONT_NUM_ROWS / 2; // There are bold and regular rows + } - char timeBuff[TIME_LENGTH]; - size_t length = strftime(timeBuff, TIME_LENGTH, TIME_FORMAT, timeInfo); + return status; +} - if (length != TIME_LENGTH - 1) { - ALOGE("Couldn't format time; abandoning boot animation clock"); - mClockEnabled = false; - return; +void BootAnimation::drawText(const char* str, const Font& font, bool bold, int* x, int* y) { + glEnable(GL_BLEND); // Allow us to draw on top of the animation + glBindTexture(GL_TEXTURE_2D, font.texture.name); + + const int len = strlen(str); + const int strWidth = font.char_width * len; + + if (*x == TEXT_CENTER_VALUE) { + *x = (mWidth - strWidth) / 2; + } else if (*x < 0) { + *x = mWidth + *x - strWidth; + } + if (*y == TEXT_CENTER_VALUE) { + *y = (mHeight - font.char_height) / 2; + } else if (*y < 0) { + *y = mHeight + *y - font.char_height; } - glEnable(GL_BLEND); // Allow us to draw on top of the animation - glBindTexture(GL_TEXTURE_2D, clockTex.name); + int cropRect[4] = { 0, 0, font.char_width, -font.char_height }; - int xPos = (mWidth - TIME_WIDTH) / 2; - int cropRect[4] = { 0, DIGIT_HEIGHT, DIGIT_WIDTH, -DIGIT_HEIGHT }; + for (int i = 0; i < len; i++) { + char c = str[i]; - for (int i = 0; i < TIME_LENGTH - 1; i++) { - char c = timeBuff[i]; - int width = DIGIT_WIDTH; - int pos = c - '0'; // Position in the character list - if (pos < 0 || pos > 10) { - continue; - } - if (c == ':') { - width = COLON_WIDTH; + if (c < FONT_BEGIN_CHAR || c > FONT_END_CHAR) { + c = '?'; } // Crop the texture to only the pixels in the current glyph - int left = pos * DIGIT_WIDTH; - cropRect[0] = left; - cropRect[2] = width; + const int charPos = (c - FONT_BEGIN_CHAR); // Position in the list of valid characters + const int row = charPos / FONT_NUM_COLS; + const int col = charPos % FONT_NUM_COLS; + cropRect[0] = col * font.char_width; // Left of column + cropRect[1] = row * font.char_height * 2; // Top of row + // Move down to bottom of regular (one char_heigh) or bold (two char_heigh) line + cropRect[1] += bold ? 2 * font.char_height : font.char_height; glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, cropRect); - glDrawTexiOES(xPos, yPos, 0, width, DIGIT_HEIGHT); + glDrawTexiOES(*x, *y, 0, font.char_width, font.char_height); - xPos += width; + *x += font.char_width; } glDisable(GL_BLEND); // Return to the animation's default behaviour glBindTexture(GL_TEXTURE_2D, 0); } +// We render 24 hour time. +void BootAnimation::drawClock(const Font& font, const int xPos, const int yPos) { + static constexpr char TIME_FORMAT[] = "%H:%M"; + static constexpr int TIME_LENGTH = 6; + + time_t rawtime; + time(&rawtime); + struct tm* timeInfo = localtime(&rawtime); + + char timeBuff[TIME_LENGTH]; + size_t length = strftime(timeBuff, TIME_LENGTH, TIME_FORMAT, timeInfo); + + if (length != TIME_LENGTH - 1) { + ALOGE("Couldn't format time; abandoning boot animation clock"); + mClockEnabled = false; + return; + } + + int x = xPos; + int y = yPos; + drawText(timeBuff, font, false, &x, &y); +} + bool BootAnimation::parseAnimationDesc(Animation& animation) { String8 desString; @@ -544,9 +632,10 @@ bool BootAnimation::parseAnimationDesc(Animation& animation) int height = 0; int count = 0; int pause = 0; - int clockPosY = -1; char path[ANIM_ENTRY_NAME_MAX]; char color[7] = "000000"; // default to black if unspecified + char clockPos1[TEXT_POS_LEN_MAX + 1] = ""; + char clockPos2[TEXT_POS_LEN_MAX + 1] = ""; char pathType; if (sscanf(l, "%d %d %d", &width, &height, &fps) == 3) { @@ -554,15 +643,15 @@ bool BootAnimation::parseAnimationDesc(Animation& animation) animation.width = width; animation.height = height; animation.fps = fps; - } else if (sscanf(l, " %c %d %d %s #%6s %d", - &pathType, &count, &pause, path, color, &clockPosY) >= 4) { - // ALOGD("> type=%c, count=%d, pause=%d, path=%s, color=%s, clockPosY=%d", pathType, count, pause, path, color, clockPosY); + } else if (sscanf(l, " %c %d %d %s #%6s %16s %16s", + &pathType, &count, &pause, path, color, clockPos1, clockPos2) >= 4) { + //ALOGD("> type=%c, count=%d, pause=%d, path=%s, color=%s, clockPos1=%s, clockPos2=%s", + // pathType, count, pause, path, color, clockPos1, clockPos2); Animation::Part part; part.playUntilComplete = pathType == 'c'; part.count = count; part.pause = pause; part.path = path; - part.clockPosY = clockPosY; part.audioData = NULL; part.animation = NULL; if (!parseColor(color, part.backgroundColor)) { @@ -571,6 +660,7 @@ bool BootAnimation::parseAnimationDesc(Animation& animation) part.backgroundColor[1] = 0.0f; part.backgroundColor[2] = 0.0f; } + parsePosition(clockPos1, clockPos2, &part.clockPosX, &part.clockPosY); animation.parts.add(part); } else if (strcmp(l, "$SYSTEM") == 0) { @@ -614,6 +704,14 @@ bool BootAnimation::preloadZip(Animation& animation) const String8 path(entryName.getPathDir()); const String8 leaf(entryName.getPathLeaf()); if (leaf.size() > 0) { + if (entryName == CLOCK_FONT_ZIP_NAME) { + FileMap* map = zip->createEntryFileMap(entry); + if (map) { + animation.clockFont.map = map; + } + continue; + } + for (size_t j = 0; j < pcount; j++) { if (path == animation.parts[j].path) { uint16_t method; @@ -698,7 +796,7 @@ bool BootAnimation::movie() bool anyPartHasClock = false; for (size_t i=0; i < animation->parts.size(); i++) { - if(animation->parts[i].clockPosY >= 0) { + if(validClock(animation->parts[i])) { anyPartHasClock = true; break; } @@ -736,10 +834,11 @@ bool BootAnimation::movie() glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - bool clockTextureInitialized = false; + bool clockFontInitialized = false; if (mClockEnabled) { - clockTextureInitialized = (initTexture(&mClock, mAssets, "images/clock64.png") == NO_ERROR); - mClockEnabled = clockTextureInitialized; + clockFontInitialized = + (initFont(&animation->clockFont, CLOCK_FONT_ASSET) == NO_ERROR); + mClockEnabled = clockFontInitialized; } if (mClockEnabled && !updateIsTimeAccurate()) { @@ -756,8 +855,8 @@ bool BootAnimation::movie() releaseAnimation(animation); - if (clockTextureInitialized) { - glDeleteTextures(1, &mClock.name); + if (clockFontInitialized) { + glDeleteTextures(1, &animation->clockFont.texture.name); } return false; @@ -813,7 +912,8 @@ bool BootAnimation::playAnimation(const Animation& animation) glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); } - initTexture(frame); + int w, h; + initTexture(frame.map, &w, &h); } const int xc = animationX + frame.trimX; @@ -835,8 +935,8 @@ bool BootAnimation::playAnimation(const Animation& animation) // which is equivalent to mHeight - (yc + frame.trimHeight) glDrawTexiOES(xc, mHeight - (yc + frame.trimHeight), 0, frame.trimWidth, frame.trimHeight); - if (mClockEnabled && mTimeIsAccurate && part.clockPosY >= 0) { - drawTime(mClock, part.clockPosY); + if (mClockEnabled && mTimeIsAccurate && validClock(part)) { + drawClock(animation.clockFont, part.clockPosX, part.clockPosY); } eglSwapBuffers(mDisplay, mSurface); @@ -915,6 +1015,7 @@ BootAnimation::Animation* BootAnimation::loadAnimation(const String8& fn) Animation *animation = new Animation; animation->fileName = fn; animation->zip = zip; + animation->clockFont.map = nullptr; mLoadedFiles.add(animation->fileName); parseAnimationDesc(*animation); diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h index fd497a362fc7..42759f1acf0d 100644 --- a/cmds/bootanimation/BootAnimation.h +++ b/cmds/bootanimation/BootAnimation.h @@ -74,6 +74,13 @@ private: GLuint name; }; + struct Font { + FileMap* map; + Texture texture; + int char_width; + int char_height; + }; + struct Animation { struct Frame { String8 name; @@ -90,8 +97,12 @@ private: struct Part { int count; // The number of times this part should repeat, 0 for infinite int pause; // The number of frames to pause for at the end of this part - int clockPosY; // The y position of the clock, in pixels, from the bottom of the - // display (the clock is centred horizontally). -1 to disable the clock + int clockPosX; // The x position of the clock, in pixels. Positive values offset from + // the left of the screen, negative values offset from the right. + int clockPosY; // The y position of the clock, in pixels. Positive values offset from + // the bottom of the screen, negative values offset from the top. + // If either of the above are INT_MIN the clock is disabled, if INT_MAX + // the clock is centred on that axis. String8 path; String8 trimData; SortedVector<Frame> frames; @@ -108,13 +119,17 @@ private: String8 audioConf; String8 fileName; ZipFileRO* zip; + Font clockFont; }; status_t initTexture(Texture* texture, AssetManager& asset, const char* name); - status_t initTexture(const Animation::Frame& frame); + status_t initTexture(FileMap* map, int* width, int* height); + status_t initFont(Font* font, const char* fallback); bool android(); bool movie(); - void drawTime(const Texture& clockTex, const int yPos); + void drawText(const char* str, const Font& font, bool bold, int* x, int* y); + void drawClock(const Font& font, const int xPos, const int yPos); + bool validClock(const Animation::Part& part); Animation* loadAnimation(const String8&); bool playAnimation(const Animation&); void releaseAnimation(Animation*) const; @@ -127,7 +142,6 @@ private: sp<SurfaceComposerClient> mSession; AssetManager mAssets; Texture mAndroid[2]; - Texture mClock; int mWidth; int mHeight; bool mUseNpotTextures = false; diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 3c2ac6733c52..52d6b56609de 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -343,6 +343,15 @@ public class ConnectivityManager { public static final String ACTION_PROMPT_UNVALIDATED = "android.net.conn.PROMPT_UNVALIDATED"; /** + * Action used to display a dialog that asks the user whether to avoid a network that is no + * longer validated. This intent is used to start the dialog in settings via startActivity. + * + * @hide + */ + public static final String ACTION_PROMPT_LOST_VALIDATION = + "android.net.conn.PROMPT_LOST_VALIDATION"; + + /** * Invalid tethering type. * @see #startTethering(int, OnStartTetheringCallback, boolean) * @hide diff --git a/core/java/android/os/PatternMatcher.java b/core/java/android/os/PatternMatcher.java index 56dc837549a7..3890fbfafb32 100644 --- a/core/java/android/os/PatternMatcher.java +++ b/core/java/android/os/PatternMatcher.java @@ -16,6 +16,10 @@ package android.os; +import android.util.Log; + +import java.util.Arrays; + /** * A simple pattern matcher, which is safe to use on untrusted data: it does * not provide full reg-exp support, only simple globbing that can not be @@ -44,13 +48,59 @@ public class PatternMatcher implements Parcelable { * wildcard part of a normal regexp. */ public static final int PATTERN_SIMPLE_GLOB = 2; - + + /** + * Pattern type: the given pattern is interpreted with a regular + * expression-like syntax for matching against the string it is tested + * against. Supported tokens include dot ({@code .}) and sets ({@code [...]}) + * with full support for character ranges and the not ({@code ^}) modifier. + * Supported modifiers include star ({@code *}) for zero-or-more, plus ({@code +}) + * for one-or-more and full range ({@code {...}}) support. This is a simple + * evaulation implementation in which matching is done against the pattern in + * realtime with no backtracking support. + * + * {@hide} Pending approval for public API + */ + public static final int PATTERN_ADVANCED_GLOB = 3; + + // token types for advanced matching + private static final int TOKEN_TYPE_LITERAL = 0; + private static final int TOKEN_TYPE_ANY = 1; + private static final int TOKEN_TYPE_SET = 2; + private static final int TOKEN_TYPE_INVERSE_SET = 3; + + // Return for no match + private static final int NO_MATCH = -1; + + private static final String TAG = "PatternMatcher"; + + // Parsed placeholders for advanced patterns + private static final int PARSED_TOKEN_CHAR_SET_START = -1; + private static final int PARSED_TOKEN_CHAR_SET_INVERSE_START = -2; + private static final int PARSED_TOKEN_CHAR_SET_STOP = -3; + private static final int PARSED_TOKEN_CHAR_ANY = -4; + private static final int PARSED_MODIFIER_RANGE_START = -5; + private static final int PARSED_MODIFIER_RANGE_STOP = -6; + private static final int PARSED_MODIFIER_ZERO_OR_MORE = -7; + private static final int PARSED_MODIFIER_ONE_OR_MORE = -8; + private final String mPattern; private final int mType; - + private final int[] mParsedPattern; + + + private static final int MAX_PATTERN_STORAGE = 2048; + // workspace to use for building a parsed advanced pattern; + private static final int[] sParsedPatternScratch = new int[MAX_PATTERN_STORAGE]; + public PatternMatcher(String pattern, int type) { mPattern = pattern; mType = type; + if (mType == PATTERN_ADVANCED_GLOB) { + mParsedPattern = parseAndVerifyAdvancedPattern(pattern); + } else { + mParsedPattern = null; + } } public final String getPath() { @@ -62,7 +112,7 @@ public class PatternMatcher implements Parcelable { } public boolean match(String str) { - return matchPattern(mPattern, str, mType); + return matchPattern(str, mPattern, mParsedPattern, mType); } public String toString() { @@ -77,6 +127,9 @@ public class PatternMatcher implements Parcelable { case PATTERN_SIMPLE_GLOB: type = "GLOB: "; break; + case PATTERN_ADVANCED_GLOB: + type = "ADVANCED: "; + break; } return "PatternMatcher{" + type + mPattern + "}"; } @@ -88,11 +141,13 @@ public class PatternMatcher implements Parcelable { public void writeToParcel(Parcel dest, int flags) { dest.writeString(mPattern); dest.writeInt(mType); + dest.writeIntArray(mParsedPattern); } public PatternMatcher(Parcel src) { mPattern = src.readString(); mType = src.readInt(); + mParsedPattern = src.createIntArray(); } public static final Parcelable.Creator<PatternMatcher> CREATOR @@ -106,16 +161,21 @@ public class PatternMatcher implements Parcelable { } }; - static boolean matchPattern(String pattern, String match, int type) { + static boolean matchPattern(String match, String pattern, int[] parsedPattern, int type) { if (match == null) return false; if (type == PATTERN_LITERAL) { return pattern.equals(match); } if (type == PATTERN_PREFIX) { return match.startsWith(pattern); - } else if (type != PATTERN_SIMPLE_GLOB) { - return false; + } else if (type == PATTERN_SIMPLE_GLOB) { + return matchGlobPattern(pattern, match); + } else if (type == PATTERN_ADVANCED_GLOB) { + return matchAdvancedPattern(parsedPattern, match); } - + return false; + } + + static boolean matchGlobPattern(String pattern, String match) { final int NP = pattern.length(); if (NP <= 0) { return match.length() <= 0; @@ -194,4 +254,310 @@ public class PatternMatcher implements Parcelable { return false; } -} + + /** + * Parses the advanced pattern and returns an integer array representation of it. The integer + * array treats each field as a character if positive and a unique token placeholder if + * negative. This method will throw on any pattern structure violations. + */ + synchronized static int[] parseAndVerifyAdvancedPattern(String pattern) { + int ip = 0; + final int LP = pattern.length(); + + int it = 0; + + boolean inSet = false; + boolean inRange = false; + boolean inCharClass = false; + + boolean addToParsedPattern; + + while (ip < LP) { + if (it > MAX_PATTERN_STORAGE - 3) { + throw new IllegalArgumentException("Pattern is too large!"); + } + + char c = pattern.charAt(ip); + addToParsedPattern = false; + + switch (c) { + case '[': + if (inSet) { + addToParsedPattern = true; // treat as literal or char class in set + } else { + if (pattern.charAt(ip + 1) == '^') { + sParsedPatternScratch[it++] = PARSED_TOKEN_CHAR_SET_INVERSE_START; + ip++; // skip over the '^' + } else { + sParsedPatternScratch[it++] = PARSED_TOKEN_CHAR_SET_START; + } + ip++; // move to the next pattern char + inSet = true; + continue; + } + break; + case ']': + if (!inSet) { + addToParsedPattern = true; // treat as literal outside of set + } else { + int parsedToken = sParsedPatternScratch[it - 1]; + if (parsedToken == PARSED_TOKEN_CHAR_SET_START || + parsedToken == PARSED_TOKEN_CHAR_SET_INVERSE_START) { + throw new IllegalArgumentException( + "You must define characters in a set."); + } + sParsedPatternScratch[it++] = PARSED_TOKEN_CHAR_SET_STOP; + inSet = false; + inCharClass = false; + } + break; + case '{': + if (!inSet) { + if (it == 0 || isParsedModifier(sParsedPatternScratch[it - 1])) { + throw new IllegalArgumentException("Modifier must follow a token."); + } + sParsedPatternScratch[it++] = PARSED_MODIFIER_RANGE_START; + ip++; + inRange = true; + } + break; + case '}': + if (inRange) { // only terminate the range if we're currently in one + sParsedPatternScratch[it++] = PARSED_MODIFIER_RANGE_STOP; + inRange = false; + } + break; + case '*': + if (!inSet) { + if (it == 0 || isParsedModifier(sParsedPatternScratch[it - 1])) { + throw new IllegalArgumentException("Modifier must follow a token."); + } + sParsedPatternScratch[it++] = PARSED_MODIFIER_ZERO_OR_MORE; + } + break; + case '+': + if (!inSet) { + if (it == 0 || isParsedModifier(sParsedPatternScratch[it - 1])) { + throw new IllegalArgumentException("Modifier must follow a token."); + } + sParsedPatternScratch[it++] = PARSED_MODIFIER_ONE_OR_MORE; + } + break; + case '.': + if (!inSet) { + sParsedPatternScratch[it++] = PARSED_TOKEN_CHAR_ANY; + } + break; + case '\\': // escape + if (ip + 1 >= LP) { + throw new IllegalArgumentException("Escape found at end of pattern!"); + } + c = pattern.charAt(++ip); + addToParsedPattern = true; + break; + default: + addToParsedPattern = true; + break; + } + if (inSet) { + if (inCharClass) { + sParsedPatternScratch[it++] = c; + inCharClass = false; + } else { + // look forward for character class + if (ip + 2 < LP + && pattern.charAt(ip + 1) == '-' + && pattern.charAt(ip + 2) != ']') { + inCharClass = true; + sParsedPatternScratch[it++] = c; // set first token as lower end of range + ip++; // advance past dash + } else { // literal + sParsedPatternScratch[it++] = c; // set first token as literal + sParsedPatternScratch[it++] = c; // set second set as literal + } + } + } else if (inRange) { + int endOfSet = pattern.indexOf('}', ip); + if (endOfSet < 0) { + throw new IllegalArgumentException("Range not ended with '}'"); + } + String rangeString = pattern.substring(ip, endOfSet); + int commaIndex = rangeString.indexOf(','); + try { + final int rangeMin; + final int rangeMax; + if (commaIndex < 0) { + int parsedRange = Integer.parseInt(rangeString); + rangeMin = rangeMax = parsedRange; + } else { + rangeMin = Integer.parseInt(rangeString.substring(0, commaIndex)); + if (commaIndex == rangeString.length() - 1) { // e.g. {n,} (n or more) + rangeMax = Integer.MAX_VALUE; + } else { + rangeMax = Integer.parseInt(rangeString.substring(commaIndex + 1)); + } + } + if (rangeMin > rangeMax) { + throw new IllegalArgumentException( + "Range quantifier minimum is greater than maximum"); + } + sParsedPatternScratch[it++] = rangeMin; + sParsedPatternScratch[it++] = rangeMax; + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Range number format incorrect", e); + } + ip = endOfSet; + continue; // don't increment ip + } else if (addToParsedPattern) { + sParsedPatternScratch[it++] = c; + } + ip++; + } + if (inSet) { + throw new IllegalArgumentException("Set was not terminated!"); + } + return Arrays.copyOf(sParsedPatternScratch, it); + } + + private static boolean isParsedModifier(int parsedChar) { + return parsedChar == PARSED_MODIFIER_ONE_OR_MORE || + parsedChar == PARSED_MODIFIER_ZERO_OR_MORE || + parsedChar == PARSED_MODIFIER_RANGE_STOP || + parsedChar == PARSED_MODIFIER_RANGE_START; + } + + static boolean matchAdvancedPattern(int[] parsedPattern, String match) { + + // create indexes + int ip = 0, im = 0; + + // one-time length check + final int LP = parsedPattern.length, LM = match.length(); + + // The current character being analyzed in the pattern + int patternChar; + + int tokenType; + + int charSetStart = 0, charSetEnd = 0; + + while (ip < LP) { // we still have content in the pattern + + patternChar = parsedPattern[ip]; + // get the match type of the next verb + + switch (patternChar) { + case PARSED_TOKEN_CHAR_ANY: + tokenType = TOKEN_TYPE_ANY; + ip++; + break; + case PARSED_TOKEN_CHAR_SET_START: + case PARSED_TOKEN_CHAR_SET_INVERSE_START: + tokenType = patternChar == PARSED_TOKEN_CHAR_SET_START + ? TOKEN_TYPE_SET + : TOKEN_TYPE_INVERSE_SET; + charSetStart = ip + 1; // start from the char after the set start + while (++ip < LP && parsedPattern[ip] != PARSED_TOKEN_CHAR_SET_STOP); + charSetEnd = ip - 1; // we're on the set stop, end is the previous + ip++; // move the pointer to the next pattern entry + break; + default: + charSetStart = ip; + tokenType = TOKEN_TYPE_LITERAL; + ip++; + break; + } + + final int minRepetition; + final int maxRepetition; + + // look for a match length modifier + if (ip >= LP) { + minRepetition = maxRepetition = 1; + } else { + patternChar = parsedPattern[ip]; + switch (patternChar) { + case PARSED_MODIFIER_ZERO_OR_MORE: + minRepetition = 0; + maxRepetition = Integer.MAX_VALUE; + ip++; + break; + case PARSED_MODIFIER_ONE_OR_MORE: + minRepetition = 1; + maxRepetition = Integer.MAX_VALUE; + ip++; + break; + case PARSED_MODIFIER_RANGE_START: + minRepetition = parsedPattern[++ip]; + maxRepetition = parsedPattern[++ip]; + ip += 2; // step over PARSED_MODIFIER_RANGE_STOP and on to the next token + break; + default: + minRepetition = maxRepetition = 1; // implied literal + break; + } + } + if (minRepetition > maxRepetition) { + return false; + } + + // attempt to match as many characters as possible + int matched = matchChars(match, im, LM, tokenType, minRepetition, maxRepetition, + parsedPattern, charSetStart, charSetEnd); + + // if we found a conflict, return false immediately + if (matched == NO_MATCH) { + return false; + } + + // move the match pointer the number of characters matched + im += matched; + } + return ip >= LP && im >= LM; // have parsed entire string and regex + } + + private static int matchChars(String match, int im, final int lm, int tokenType, + int minRepetition, int maxRepetition, int[] parsedPattern, + int tokenStart, int tokenEnd) { + int matched = 0; + + while(matched < maxRepetition + && matchChar(match, im + matched, lm, tokenType, parsedPattern, tokenStart, + tokenEnd)) { + matched++; + } + + return matched < minRepetition ? NO_MATCH : matched; + } + + private static boolean matchChar(String match, int im, final int lm, int tokenType, + int[] parsedPattern, int tokenStart, int tokenEnd) { + if (im >= lm) { // we've overrun the string, no match + return false; + } + switch (tokenType) { + case TOKEN_TYPE_ANY: + return true; + case TOKEN_TYPE_SET: + for (int i = tokenStart; i < tokenEnd; i += 2) { + char matchChar = match.charAt(im); + if (matchChar >= parsedPattern[i] && matchChar <= parsedPattern[i + 1]) { + return true; + } + } + return false; + case TOKEN_TYPE_INVERSE_SET: + for (int i = tokenStart; i < tokenEnd; i += 2) { + char matchChar = match.charAt(im); + if (matchChar >= parsedPattern[i] && matchChar <= parsedPattern[i + 1]) { + return false; + } + } + return true; + case TOKEN_TYPE_LITERAL: + return match.charAt(im) == parsedPattern[tokenStart]; + default: + return false; + } + } +}
\ No newline at end of file diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java index b1cad0538d31..ec1e102c9289 100644 --- a/core/java/android/preference/Preference.java +++ b/core/java/android/preference/Preference.java @@ -719,6 +719,9 @@ public class Preference implements Comparable<Preference> { * @see #setIcon(Drawable) */ public Drawable getIcon() { + if (mIcon == null && mIconResId != 0) { + mIcon = getContext().getDrawable(mIconResId); + } return mIcon; } diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 1e66c55ada5d..498e36936ec7 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5345,6 +5345,13 @@ public final class Settings { public static final String LONG_PRESS_TIMEOUT = "long_press_timeout"; /** + * The duration in milliseconds between the first tap's up event and the second tap's + * down event for an interaction to be considered part of the same multi-press. + * @hide + */ + public static final String MULTI_PRESS_TIMEOUT = "multi_press_timeout"; + + /** * List of the enabled print services. * * N and beyond uses {@link #DISABLED_PRINT_SERVICES}. But this might be used in an upgrade @@ -5917,6 +5924,36 @@ public final class Settings { INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF; /** + * What happens when the user presses the Back button while in-call + * and the screen is on.<br/> + * <b>Values:</b><br/> + * 0 - The Back buttons does nothing different.<br/> + * 1 - The Back button hangs up the current call.<br/> + * + * @hide + */ + public static final String INCALL_BACK_BUTTON_BEHAVIOR = "incall_back_button_behavior"; + + /** + * INCALL_BACK_BUTTON_BEHAVIOR value for no action. + * @hide + */ + public static final int INCALL_BACK_BUTTON_BEHAVIOR_NONE = 0x0; + + /** + * INCALL_BACK_BUTTON_BEHAVIOR value for "hang up". + * @hide + */ + public static final int INCALL_BACK_BUTTON_BEHAVIOR_HANGUP = 0x1; + + /** + * INCALL_POWER_BUTTON_BEHAVIOR default value. + * @hide + */ + public static final int INCALL_BACK_BUTTON_BEHAVIOR_DEFAULT = + INCALL_BACK_BUTTON_BEHAVIOR_NONE; + + /** * Whether the device should wake when the wake gesture sensor detects motion. * @hide */ diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index a0afeba27fc5..7cdade279198 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -23877,7 +23877,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * on the screen. */ private boolean shouldDrawRoundScrollbar() { - if (!mResources.getConfiguration().isScreenRound()) { + if (!mResources.getConfiguration().isScreenRound() || mAttachInfo == null) { return false; } diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 4d584a3df4fb..8b8525f2f1b5 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -16,6 +16,7 @@ package android.view; +import android.annotation.SystemApi; import android.app.AppGlobals; import android.content.Context; import android.content.res.Configuration; @@ -64,6 +65,12 @@ public class ViewConfiguration { private static final int DEFAULT_LONG_PRESS_TIMEOUT = 500; /** + * Defines the default duration in milliseconds between the first tap's up event and the second + * tap's down event for an interaction to be considered part of the same multi-press. + */ + private static final int DEFAULT_MULTI_PRESS_TIMEOUT = 300; + + /** * Defines the time between successive key repeats in milliseconds. */ private static final int KEY_REPEAT_DELAY = 50; @@ -213,6 +220,12 @@ public class ViewConfiguration { private static final int OVERFLING_DISTANCE = 6; /** + * Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event, in dips per + * axis value. + */ + private static final int SCROLL_FACTOR = 64; + + /** * Default duration to hide an action mode for. */ private static final long ACTION_MODE_HIDE_DURATION_DEFAULT = 2000; @@ -240,6 +253,7 @@ public class ViewConfiguration { private final int mOverflingDistance; private final boolean mFadingMarqueeEnabled; private final long mGlobalActionsKeyTimeout; + private final int mScrollFactor; private boolean sHasPermanentMenuKey; private boolean sHasPermanentMenuKeySet; @@ -268,6 +282,7 @@ public class ViewConfiguration { mOverflingDistance = OVERFLING_DISTANCE; mFadingMarqueeEnabled = true; mGlobalActionsKeyTimeout = GLOBAL_ACTIONS_KEY_TIMEOUT; + mScrollFactor = SCROLL_FACTOR; } /** @@ -351,6 +366,8 @@ public class ViewConfiguration { com.android.internal.R.dimen.config_viewMaxFlingVelocity); mGlobalActionsKeyTimeout = res.getInteger( com.android.internal.R.integer.config_globalActionsKeyTimeout); + mScrollFactor = res.getDimensionPixelSize( + com.android.internal.R.dimen.config_scrollFactor); } /** @@ -441,6 +458,16 @@ public class ViewConfiguration { } /** + * @return the duration in milliseconds between the first tap's up event and the second tap's + * down event for an interaction to be considered part of the same multi-press. + * @hide + */ + public static int getMultiPressTimeout() { + return AppGlobals.getIntCoreSetting(Settings.Secure.MULTI_PRESS_TIMEOUT, + DEFAULT_MULTI_PRESS_TIMEOUT); + } + + /** * @return the time before the first key repeat in milliseconds. */ public static int getKeyRepeatTimeout() { @@ -653,6 +680,16 @@ public class ViewConfiguration { } /** + * @return Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event. Multiply + * this by the event's axis value to obtain the number of pixels to be scrolled. + * @hide + * @SystemApi + */ + public int getScaledScrollFactor() { + return mScrollFactor; + } + + /** * The maximum drawing cache size expressed in bytes. * * @return the maximum size of View's drawing cache expressed in bytes diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 1d541f6c0c4c..7123d78f246d 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -6048,7 +6048,8 @@ public final class ViewRootImpl implements ViewParent, return true; } return mEvent instanceof MotionEvent - && mEvent.isFromSource(InputDevice.SOURCE_CLASS_POINTER); + && (mEvent.isFromSource(InputDevice.SOURCE_CLASS_POINTER) + || mEvent.isFromSource(InputDevice.SOURCE_ROTARY_ENCODER)); } public boolean shouldSendToSynthesizer() { diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 7b45d8cb05b0..f1bfadee5f36 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -21,6 +21,7 @@ import android.annotation.DrawableRes; import android.annotation.NonNull; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Rect; @@ -616,6 +617,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te private int mTouchSlop; private float mDensityScale; + private float mScrollFactor; + private InputConnection mDefInputConnection; private InputConnectionWrapper mPublicInputConnection; @@ -857,6 +860,10 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te R.styleable.AbsListView_fastScrollAlwaysVisible, false)); a.recycle(); + + if (context.getResources().getConfiguration().uiMode == Configuration.UI_MODE_TYPE_WATCH) { + setRevealOnFocusHint(false); + } } private void initAbsListView() { @@ -869,6 +876,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te final ViewConfiguration configuration = ViewConfiguration.get(mContext); mTouchSlop = configuration.getScaledTouchSlop(); + mScrollFactor = configuration.getScaledScrollFactor(); mMinimumVelocity = configuration.getScaledMinimumFlingVelocity(); mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); mOverscrollDistance = configuration.getScaledOverscrollDistance(); @@ -4201,21 +4209,26 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te @Override public boolean onGenericMotionEvent(MotionEvent event) { - if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0) { - switch (event.getAction()) { - case MotionEvent.ACTION_SCROLL: - if (mTouchMode == TOUCH_MODE_REST) { - final float vscroll = event.getAxisValue(MotionEvent.AXIS_VSCROLL); - if (vscroll != 0) { - final int delta = (int) (vscroll * getVerticalScrollFactor()); - if (!trackMotionScroll(delta, delta)) { - return true; - } - } - } - break; + switch (event.getAction()) { + case MotionEvent.ACTION_SCROLL: + final float axisValue; + if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { + axisValue = event.getAxisValue(MotionEvent.AXIS_VSCROLL); + } else if (event.isFromSource(InputDevice.SOURCE_ROTARY_ENCODER)) { + axisValue = event.getAxisValue(MotionEvent.AXIS_SCROLL); + } else { + axisValue = 0; + } - case MotionEvent.ACTION_BUTTON_PRESS: + final int delta = Math.round(axisValue * mScrollFactor); + if (delta != 0) { + if (!trackMotionScroll(delta, delta)) { + return true; + } + } + break; + case MotionEvent.ACTION_BUTTON_PRESS: + if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { int actionButton = event.getActionButton(); if ((actionButton == MotionEvent.BUTTON_STYLUS_PRIMARY || actionButton == MotionEvent.BUTTON_SECONDARY) @@ -4225,8 +4238,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te removeCallbacks(mPendingCheckForTap); } } - break; - } + } + break; } return super.onGenericMotionEvent(event); diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index 00f368e3abe3..918b6c0d65ff 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -18,6 +18,7 @@ package android.widget; import android.annotation.NonNull; import android.content.Context; +import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Rect; @@ -128,6 +129,8 @@ public class HorizontalScrollView extends FrameLayout { private int mOverscrollDistance; private int mOverflingDistance; + private float mScrollFactor; + /** * ID of the active pointer. This is used to retain consistency during * drags/flings if multiple pointers are used. @@ -165,6 +168,10 @@ public class HorizontalScrollView extends FrameLayout { setFillViewport(a.getBoolean(android.R.styleable.HorizontalScrollView_fillViewport, false)); a.recycle(); + + if (context.getResources().getConfiguration().uiMode == Configuration.UI_MODE_TYPE_WATCH) { + setRevealOnFocusHint(false); + } } @Override @@ -217,6 +224,7 @@ public class HorizontalScrollView extends FrameLayout { mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); mOverscrollDistance = configuration.getScaledOverscrollDistance(); mOverflingDistance = configuration.getScaledOverflingDistance(); + mScrollFactor = configuration.getScaledScrollFactor(); } @Override @@ -719,30 +727,35 @@ public class HorizontalScrollView extends FrameLayout { @Override public boolean onGenericMotionEvent(MotionEvent event) { - if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0) { - switch (event.getAction()) { - case MotionEvent.ACTION_SCROLL: { - if (!mIsBeingDragged) { - final float hscroll; + switch (event.getAction()) { + case MotionEvent.ACTION_SCROLL: { + if (!mIsBeingDragged) { + final float axisValue; + if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { if ((event.getMetaState() & KeyEvent.META_SHIFT_ON) != 0) { - hscroll = -event.getAxisValue(MotionEvent.AXIS_VSCROLL); + axisValue = -event.getAxisValue(MotionEvent.AXIS_VSCROLL); } else { - hscroll = event.getAxisValue(MotionEvent.AXIS_HSCROLL); + axisValue = event.getAxisValue(MotionEvent.AXIS_HSCROLL); } - if (hscroll != 0) { - final int delta = (int) (hscroll * getHorizontalScrollFactor()); - final int range = getScrollRange(); - int oldScrollX = mScrollX; - int newScrollX = oldScrollX + delta; - if (newScrollX < 0) { - newScrollX = 0; - } else if (newScrollX > range) { - newScrollX = range; - } - if (newScrollX != oldScrollX) { - super.scrollTo(newScrollX, mScrollY); - return true; - } + } else if (event.isFromSource(InputDevice.SOURCE_ROTARY_ENCODER)) { + axisValue = event.getAxisValue(MotionEvent.AXIS_SCROLL); + } else { + axisValue = 0; + } + + final int delta = Math.round(axisValue * mScrollFactor); + if (delta != 0) { + final int range = getScrollRange(); + int oldScrollX = mScrollX; + int newScrollX = oldScrollX + delta; + if (newScrollX < 0) { + newScrollX = 0; + } else if (newScrollX > range) { + newScrollX = range; + } + if (newScrollX != oldScrollX) { + super.scrollTo(newScrollX, mScrollY); + return true; } } } @@ -1430,11 +1443,13 @@ public class HorizontalScrollView extends FrameLayout { @Override public void requestChildFocus(View child, View focused) { - if (!mIsLayoutDirty) { - scrollToChild(focused); - } else { - // The child may not be laid out yet, we can't compute the scroll yet - mChildToScrollTo = focused; + if (focused.getRevealOnFocusHint()) { + if (!mIsLayoutDirty) { + scrollToChild(focused); + } else { + // The child may not be laid out yet, we can't compute the scroll yet + mChildToScrollTo = focused; + } } super.requestChildFocus(child, focused); } diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index 0555cd403b00..e696ff7229e8 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -17,6 +17,7 @@ package android.widget; import android.annotation.NonNull; +import android.content.res.Configuration; import android.os.Build; import android.os.Build.VERSION_CODES; import android.os.Parcel; @@ -134,6 +135,8 @@ public class ScrollView extends FrameLayout { private int mOverscrollDistance; private int mOverflingDistance; + private int mScrollFactor; + /** * ID of the active pointer. This is used to retain consistency during * drags/flings if multiple pointers are used. @@ -186,6 +189,10 @@ public class ScrollView extends FrameLayout { setFillViewport(a.getBoolean(R.styleable.ScrollView_fillViewport, false)); a.recycle(); + + if (context.getResources().getConfiguration().uiMode == Configuration.UI_MODE_TYPE_WATCH) { + setRevealOnFocusHint(false); + } } @Override @@ -243,6 +250,7 @@ public class ScrollView extends FrameLayout { mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); mOverscrollDistance = configuration.getScaledOverscrollDistance(); mOverflingDistance = configuration.getScaledOverflingDistance(); + mScrollFactor = configuration.getScaledScrollFactor(); } @Override @@ -777,30 +785,35 @@ public class ScrollView extends FrameLayout { @Override public boolean onGenericMotionEvent(MotionEvent event) { - if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0) { - switch (event.getAction()) { - case MotionEvent.ACTION_SCROLL: { - if (!mIsBeingDragged) { - final float vscroll = event.getAxisValue(MotionEvent.AXIS_VSCROLL); - if (vscroll != 0) { - final int delta = (int) (vscroll * getVerticalScrollFactor()); - final int range = getScrollRange(); - int oldScrollY = mScrollY; - int newScrollY = oldScrollY - delta; - if (newScrollY < 0) { - newScrollY = 0; - } else if (newScrollY > range) { - newScrollY = range; - } - if (newScrollY != oldScrollY) { - super.scrollTo(mScrollX, newScrollY); - return true; - } - } + switch (event.getAction()) { + case MotionEvent.ACTION_SCROLL: + final float axisValue; + if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { + axisValue = event.getAxisValue(MotionEvent.AXIS_VSCROLL); + } else if (event.isFromSource(InputDevice.SOURCE_ROTARY_ENCODER)) { + axisValue = event.getAxisValue(MotionEvent.AXIS_SCROLL); + } else { + axisValue = 0; + } + + final int delta = Math.round(axisValue * mScrollFactor); + if (delta != 0) { + final int range = getScrollRange(); + int oldScrollY = mScrollY; + int newScrollY = oldScrollY - delta; + if (newScrollY < 0) { + newScrollY = 0; + } else if (newScrollY > range) { + newScrollY = range; + } + if (newScrollY != oldScrollY) { + super.scrollTo(mScrollX, newScrollY); + return true; } } - } + break; } + return super.onGenericMotionEvent(event); } @@ -1455,11 +1468,13 @@ public class ScrollView extends FrameLayout { @Override public void requestChildFocus(View child, View focused) { - if (!mIsLayoutDirty) { - scrollToChild(focused); - } else { - // The child may not be laid out yet, we can't compute the scroll yet - mChildToScrollTo = focused; + if (focused.getRevealOnFocusHint()) { + if (!mIsLayoutDirty) { + scrollToChild(focused); + } else { + // The child may not be laid out yet, we can't compute the scroll yet + mChildToScrollTo = focused; + } } super.requestChildFocus(child, focused); } diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java index 5aeb7f92eeda..95c291a9e8fe 100644 --- a/core/java/com/android/internal/app/AlertController.java +++ b/core/java/com/android/internal/app/AlertController.java @@ -888,7 +888,8 @@ public class AlertController { final int checkedItem = mCheckedItem; if (checkedItem > -1) { listView.setItemChecked(checkedItem, true); - listView.setSelection(checkedItem); + listView.setSelectionFromTop(checkedItem, + a.getDimensionPixelSize(R.styleable.AlertDialog_selectionScrollOffset, 0)); } } } diff --git a/core/java/com/android/internal/widget/WatchHeaderListView.java b/core/java/com/android/internal/widget/WatchHeaderListView.java index 3d32d86cd49c..4fd19c37bf47 100644 --- a/core/java/com/android/internal/widget/WatchHeaderListView.java +++ b/core/java/com/android/internal/widget/WatchHeaderListView.java @@ -103,7 +103,8 @@ public class WatchHeaderListView extends ListView { @Override public int getHeaderViewsCount() { - return mTopPanel == null ? super.getHeaderViewsCount() : super.getHeaderViewsCount() + 1; + return mTopPanel == null ? super.getHeaderViewsCount() + : super.getHeaderViewsCount() + (mTopPanel.getVisibility() == GONE ? 0 : 1); } private void wrapAdapterIfNecessary() { @@ -133,7 +134,7 @@ public class WatchHeaderListView extends ListView { } private int getTopPanelCount() { - return mTopPanel == null ? 0 : 1; + return (mTopPanel == null || mTopPanel.getVisibility() == GONE) ? 0 : 1; } @Override @@ -143,33 +144,19 @@ public class WatchHeaderListView extends ListView { @Override public boolean areAllItemsEnabled() { - return mTopPanel == null && super.areAllItemsEnabled(); + return getTopPanelCount() == 0 && super.areAllItemsEnabled(); } @Override public boolean isEnabled(int position) { - if (mTopPanel != null) { - if (position == 0) { - return false; - } else { - return super.isEnabled(position - 1); - } - } - - return super.isEnabled(position); + int topPanelCount = getTopPanelCount(); + return position < topPanelCount ? false : super.isEnabled(position - topPanelCount); } @Override public Object getItem(int position) { - if (mTopPanel != null) { - if (position == 0) { - return null; - } else { - return super.getItem(position - 1); - } - } - - return super.getItem(position); + int topPanelCount = getTopPanelCount(); + return position < topPanelCount ? null : super.getItem(position - topPanelCount); } @Override @@ -187,15 +174,9 @@ public class WatchHeaderListView extends ListView { @Override public View getView(int position, View convertView, ViewGroup parent) { - if (mTopPanel != null) { - if (position == 0) { - return mTopPanel; - } else { - return super.getView(position - 1, convertView, parent); - } - } - - return super.getView(position, convertView, parent); + int topPanelCount = getTopPanelCount(); + return position < topPanelCount + ? mTopPanel : super.getView(position - topPanelCount, convertView, parent); } @Override diff --git a/core/java/com/android/internal/widget/WatchListDecorLayout.java b/core/java/com/android/internal/widget/WatchListDecorLayout.java index 538cecaec616..5b49611fa4b0 100644 --- a/core/java/com/android/internal/widget/WatchListDecorLayout.java +++ b/core/java/com/android/internal/widget/WatchListDecorLayout.java @@ -306,8 +306,9 @@ public class WatchListDecorLayout extends FrameLayout if (mListView.getChildCount() > 0) { if (mListView.getLastVisiblePosition() >= mListView.getCount() - 1) { View lastChild = mListView.getChildAt(mListView.getChildCount() - 1); - setScrolling(mBottomPanel, - lastChild.getY() + lastChild.getHeight() - mBottomPanel.getTop()); + setScrolling(mBottomPanel, Math.max( + 0, + lastChild.getY() + lastChild.getHeight() - mBottomPanel.getTop())); } else { // shift to hide the frame, last child is not the last position setScrolling(mBottomPanel, mBottomPanel.getHeight()); diff --git a/core/res/assets/images/android-logo-mask.png b/core/res/assets/images/android-logo-mask.png Binary files differindex ad40645e8943..5512c0ad8a83 100644 --- a/core/res/assets/images/android-logo-mask.png +++ b/core/res/assets/images/android-logo-mask.png diff --git a/core/res/assets/images/android-logo-shine.png b/core/res/assets/images/android-logo-shine.png Binary files differindex cb65f229eb52..c5d126392eeb 100644 --- a/core/res/assets/images/android-logo-shine.png +++ b/core/res/assets/images/android-logo-shine.png diff --git a/core/res/assets/images/clock64.png b/core/res/assets/images/clock64.png Binary files differdeleted file mode 100644 index 493a1ea97717..000000000000 --- a/core/res/assets/images/clock64.png +++ /dev/null diff --git a/core/res/assets/images/clock_font.png b/core/res/assets/images/clock_font.png Binary files differnew file mode 100644 index 000000000000..be927ae2612f --- /dev/null +++ b/core/res/assets/images/clock_font.png diff --git a/core/res/assets/sounds/bootanim0.raw b/core/res/assets/sounds/bootanim0.raw Binary files differdeleted file mode 100644 index 46b8c0f9a8c4..000000000000 --- a/core/res/assets/sounds/bootanim0.raw +++ /dev/null diff --git a/core/res/assets/sounds/bootanim1.raw b/core/res/assets/sounds/bootanim1.raw Binary files differdeleted file mode 100644 index ce69944f69b2..000000000000 --- a/core/res/assets/sounds/bootanim1.raw +++ /dev/null diff --git a/core/res/assets/webkit/hyph_en_US.dic b/core/res/assets/webkit/hyph_en_US.dic deleted file mode 100644 index d91204b55418..000000000000 --- a/core/res/assets/webkit/hyph_en_US.dic +++ /dev/null @@ -1,9784 +0,0 @@ -ISO8859-1 -LEFTHYPHENMIN 2 -RIGHTHYPHENMIN 3 -.a2ch4 -.ad4der -.a2d -.ad1d4 -.a2f1t -.a2f -.a4l3t -.am5at -.4a1ma -.an5c -.a2n -.2ang4 -.an1i5m -.an1t4 -.an3te -.anti5s -.ant2i -.a4r5s2 -.2a2r -.ar4t2ie4 -.ar1ti -.ar4ty -.as3c -.as1p -.a2s1s -.aster5 -.a2tom5 -.a1to -.au1d -.av4i -.awn4 -.ba4g -.ba5na -.ba2n -.bas4e -.ber4 -.be5r1a -.be3s1m -.4bes4 -.b4e5s2to -.bri2 -.but4ti -.bu4t3t2 -.cam4pe -.1ca -.ca4m1p -.can5c -.ca2n -.capa5b -.ca1pa -.car5ol -.c2a2r -.ca4t -.ce4la -.2ch4 -.chill5i -.ch4il2 -.chil1l -.1ci2 -.cit5r -.2c1it -.co3e2 -.1co -.co4r -.cor5n1er -.corn2e -.de4moi2 -.d4em -.de1mo -.de3o -.de3r1a -.de3r1i -.de1s4c -.des2 -.dic1t2io5 -.3di2c1t -.do4t -.1do -.du4c -.1du -.du4m1b5 -.earth5 -.ear2t -.e2a2r -.eas3i -.2e1b4 -.eer4 -.eg2 -.e2l5d -.el3em -.enam3 -.e1na -.en3g -.e2n3s2 -.eq5ui5t -.e1q -.equ2 -.eq2ui2 -.er4ri -.er1r4 -.es3 -.4eu3 -.eye5 -.fes3 -.for5mer -.1fo -.fo2r -.for1m -.for2me -.1ga2 -.ge2 -.gen3t4 -.1gen -.ge5o2g -.1geo -.1g2i5a -.gi4b -.go4r -.1go -.hand5i -.ha2n -.h4and -.ha4n5k2 -.he2 -.hero5i2 -.h2ero -.h1es3 -.he4t3 -.hi3b -.hi3er -.h2ie4 -.hon5ey -.ho2n -.hon3o -.hov5 -.id4l -.2id -.idol3 -.i1do -.im3m -.im5p1i2n -.i4m1p -.im2pi -.in1 -.in3ci -.2ine2 -.4i4n2k2 -.2i2n3s2 -.ir5r4 -.4ir -.is4i -.ju3r -.la4cy -.la4m -.lat5er -.l4ath5 -.le2 -.leg5e -.len4 -.lep5 -.lev1 -.l2i4g -.li1g5a -.li2n -.l2i3o -.l1i4t -.ma1g5a5 -.1ma -.mal5o -.ma1n5a -.ma2n -.mar5ti -.m2a2r -.me2 -.mer3c -.me5ter -.me1te -.m2is1 -.mis4t5i -.mon3e -.1mo -.mo2n -.mo3ro -.mo2r -.mu5ta -.1mu -.mu2ta5b -.ni4c -.od2 -.od1d5 -.of5te -.o2ft -.or5a1to -.o1ra -.or3c -.or1d -.or3t -.os3 -.os4tl -.4oth3 -.out3 -.ou2 -.ped5al -.2p2ed -.p2e2d2a -.pe5te -.pe2t -.pe5tit -.p2i4e4 -.pio5n4 -.3p2i1o -.pi2t -.pre3m -.pr2 -.ra4c -.ran4t -.ra2n -.ratio5n1a -.ratio2n4 -.ra1t2io -.ree2 -.re5mit -.res2 -.re5stat -.res2t -.res1ta -.r2i4g -.ri2t5u -.ro4q -.ros5t -.row5d -.ru4d -.3s4c2i3e4 -.s1ci -.5se2l2f5 -.sel1l5 -.se2n -.se5r2ie4 -.ser1i -.s2h2 -.si2 -.s3ing4 -.2s1in -.st4 -.sta5b2l2 -.s1ta -.s2tab -.s4y2 -.1ta4 -.te4 -.3ten5a2n -.te1na -.th2 -.ti2 -.til4 -.ti1m5o5 -.1tim -.ting4 -.2t1in -.t4i4n5k2 -.to1n4a -.1to -.to2n -.to4p -.top5i -.to2u5s -.tou2 -.trib5ut -.tr4ib -.u1n1a -.un3ce -.under5 -.un1de -.u2n1e -.u4n5k2 -.un5o -.un3u4 -.up3 -.ure3 -.us5a2 -.2us -.ven4de -.ve5r1a -.wil5i -.wi2 -.wil2 -.ye4 -4ab. -a5bal -a5ba2n -abe2 -ab5erd -ab2i5a -ab5i2t5ab -abi2t -abi1ta -ab5lat -ab2l2 -ab5o5l1iz -abol2i -4abr -ab5rog -ab3ul -a4c2a2r -a1ca -ac5ard -ac5aro -a5ceou2 -ac1er -a5che4t -a2ch -ache2 -4a2ci -a3c2ie4 -a2c1in -a3c2io -ac5rob -act5if2 -a2c1t -ac3ul -ac4um -a2d -ad4d1in -ad1d4 -ad5er. -2adi -a3d4i3a -ad3i1ca -adi4er -ad2ie4 -a3d2io -a3dit -a5di1u -ad4le -ad3ow -a1do -ad5ra2n -a1dr -ad4su -a2d1s2 -4a1du -a3du2c -ad5um -ae4r -aer2i4e4 -aer1i -a2f -a4f1f4 -a4gab -a1ga -aga4n -ag5el1l -a1ge4o -4ag4eu -ag1i -4ag4l2 -ag1n -a2go -3a3g4o4g -ag3o3ni -ago2n2 -a5guer -a2gue -ag5ul -a4gy -a3ha -a3he -a4h4l4 -a3ho -ai2 -a5i1a -a3ic. -ai5ly -a4i4n -ain5in -a2ini -a2i1n5o -ait5en -a2ite -a1j -ak1en -al5ab -al3a2d -a4l2a2r -4aldi4 -a2ld -2ale -al3end -a4lent2i -a1len1t -a5le5o -al1i -al4ia. -al2i1a -al2i4e4 -al5lev -al1l -al2le -4allic -all2i -4a2lm -a5log. -a4ly. -a1ly -4a2lys4 -5a5lys1t -5alyt -3alyz -4a1ma -a2m5ab -am3ag -ama5ra -am2a2r -am5asc -a4ma3tis -a4m5a1to -am5er1a -am3ic -am5if -am5i1ly -am1in -am2i4no -a2mo -a5mo2n -amor5i -amo2r -amp5en -a4m1p -a2n -an3age -a1na -3ana1ly -a3n2a2r -an3ar3c -anar4i -a3nati -an2at -4and -ande4s2 -an1de -an3dis1 -an1dl -an4dow -an1do -a5nee -a3nen -an5e2st. -a1nes -a2nest -a3n4eu -2ang -ang5ie4 -an1gl2 -a4n1ic -a3nies -an2ie4 -an3i3f -an4ime -an1im -a5nim1i -a5n2ine -an1in -an3i4o -a3n2ip -an3is2h -an3it -a3ni1u -an4kli -a4nk2 -an1k1l -5anniz -a4n1n2 -ano4 -an5ot -an4oth5 -an2sa2 -a2n1s2 -an4s1co -ans4c -an4s1n4 -an2sp -ans3po -an4st -an4su2r -an1su -anta2l4 -an1t -an1ta -an4t2ie4 -ant2i -4an1to -an2tr -an4tw4 -an3u1a -an3ul -a5nur -4ao -ap2a2r4 -a1pa -ap5at -ap5er3o -a3ph4er -4aphi -a4pilla -apil1l -ap5ill2a2r -ap3i2n -ap3i1ta -a3pi2tu -a2p2l2 -apo4c5 -ap5o1la -apor5i -a1p4or -apos3t -a1pos -aps5e4s -a2p1s2 -ap2se -a3pu -aque5 -aqu2 -2a2r -ar3a2c1t -a5rade -ara2d -ar5adis1 -ar2adi -ar3al -a5rame1te -aram3et -ar2an4g -ara2n -ara3p -ar4at -a5ra1t2io -ar5a1t2iv -a5rau -ar5av4 -araw4 -arbal4 -ar1b -ar4cha2n -ar1c -ar3cha -ar2ch -ar5d2ine -ard2i -ard1in4 -ar4dr -ar5eas -a3ree -ar3en1t -a5r2e2ss -ar4fi -ar1f -ar4f4l2 -ar1i -ar5i2al -ar2i3a -ar3i2a2n -a3ri5et -ar2ie4 -ar4im -ar5in2at -ar2i1na -ar3i1o -ar2iz -ar2mi -ar1m -ar5o5d -a5roni -aro2n -a3roo2 -ar2p -ar3q -arre4 -ar1r4 -ar4sa2 -a4rs2 -ar2s2h -4as. -a2s4ab -asa2 -as3an1t -asa2n -ashi4 -as2h -a5sia. -as2i1a -a3si1b -a3sic -5a5si4t -ask3i -ask2 -as4l2 -a4soc -a1so -as5ph -as4s2h -a2ss -as3ten -as1t4r -asu1r5a -a1su -asu2r -a2ta -at3ab2l2 -a2tab -at5ac -at3alo -ata2l -at5ap -ate5c -at5e2ch -at3e1go -ateg4 -at3en. -at3er1a -ater5n -a5ter1na -at3est -at5ev -4ath -ath5em -ath2e -a5the2n -at4ho -ath5om -4ati. -a5t2i1a -a2t5i5b -at1ic -at3if2 -ation5a2r -a1t2io -atio2n -atio1n1a -at3i1tu -a4tog -a1to -a2tom -at5om2iz -a4top -a4tos2 -a1tr -at5rop -at4sk2 -a4t1s2 -at4tag -a4t3t2 -at1ta -at5te -at4th -a2tu -at5u1a -a4t5ue -at3ul -at3u1ra -a2ty -au4b -augh3 -au3gu -au4l2 -aun5d -au3r -au5si1b -a2us -a4ut5en -au1th -a2va -av3ag4 -a5va2n -av4e4no -av3er1a -av5ern -av5ery -av1i -avi4er -av2ie4 -av3ig -av5oc -a1vor -3away -aw3i2 -aw4ly -aws4 -ax4i5c -ax3i -ax4id -ay5al -aye4 -ays4 -azi4er -a2z1i -az2ie4 -az2z5i -a4z1z2 -5ba. -bad5ger -ba2d -ba4ge -bal1a -ban5dag -ba2n -b4and -ban1d2a -ban4e -ban3i -barbi5 -b2a2r -bar1b -bar2i4a -bar1i -bas4si -ba2ss -1bat -ba4z -2b1b -b2be -b3ber -bbi4na -4b1d -4be. -beak4 -bea2t3 -4be2d -b2e3d2a -be3de -b4e3di -be3gi -be5gu -1bel -be1l2i -be3lo -4be5m -be5n2ig -be5nu -4bes4 -be3sp -b2e5st4r -3bet -be1t5iz -be5tr -be3tw4 -be3w -be5y1o4 -2bf -4b3h -bi2b -b2i4d -3b2ie4 -bi5en -bi4er -2b3if -1bil -bi3l2iz -bil1i -bin2a5r4 -bi1na -b4in4d -bi5net -b2ine -bi3o2gr -b2io -bi5ou2 -bi2t -3b2i3t2io -bi1ti -bi3tr -3bit5u1a -bi1tu -b5i4tz -b1j -bk4 -b2l2 -bl4ath5 -b4le. -blen4 -5ble1sp -bles2 -b3lis -b4lo -blun4t -4b1m -4b3n -bne5g -3bod -bod3i -bo4e -bol3ic -bol2i -bom4bi -bo4m1b -bo1n4a -bo2n -bon5at -3boo2 -5bor. -4b1o1ra -bor5d -5bore -5bori -5bos4 -b5o1ta -b4oth5 -bo4to -boun2d3 -bou2 -4bp -4brit -br4oth3 -2b5s2 -bsor4 -b1so -2bt -b2t4l -b4to -b3tr -buf4fer1 -bu4f1f -bu4ga -bu3l2i -bu1mi4 -bu4n -bunt4i -bun1t -bu3re -bus5ie4 -b2us -buss4e -bu2ss -5bust -4bu1ta -3bu1t2io -b4u1t2i -b5u1to -b1v -4b5w -5by. -bys4 -1ca -cab3in -ca1b2l2 -ca2ch4 -ca5den -ca2d -4cag4 -2c5ah -ca3lat -cal4la -cal1l -cal2l5in4 -call2i -4calo -c4an5d -ca2n -can4e -ca4n4ic -can5is -can3iz -can4ty -can1t -cany4 -ca5per -car5om -c2a2r -cast5er -cas5t2ig -cast2i -4cas4y -c4a4th -4ca1t2iv -cav5al -ca2va -c3c -ccha5 -c2ch -c3c2i4a -c1ci -ccom1pa5 -c1co -cco4m1p -cco2n4 -ccou3t -ccou2 -2ce. -4ced. -4ce1den -3cei2 -5cel. -3cel1l -1cen -3cenc -2cen4e -4ceni -3cen1t -3cep -ce5ram -cer1a -4ce1s4a2 -3ces1si -c2e2ss -ces5si5b -ces5t -cet4 -c5e4ta -cew4 -2ch -4ch. -4ch3ab -5cha4n1ic -cha2n -ch5a5nis -che2 -cheap3 -4ch4ed -ch5e5lo -3chemi -ch5ene -che2n -ch3er. -ch3e4r1s2 -4ch1in -5chi2ne. -ch2ine -ch5i5n2e2ss -chi1nes -5ch2ini -5ch2io -3chit -chi2z -3cho2 -ch4ti -1ci -3c2i1a -ci2a5b -ci2a5r -ci5c -4cier -c2ie4 -5c4i2f3ic. -ci1fi -4c4i5i4 -ci4la -3cil1i -2cim -2cin -c4i1na -3cin2at -cin3em -c2ine -c1ing -c5ing. -5c2i1no -cio2n4 -c2io -4cipe4 -c2ip -ci3ph -4cip4ic -cip3i -4cis1ta -4cis1t2i -2c1it -ci1t3iz -ci1ti -5ciz -ck1 -ck3i -1c4l4 -4cl2a2r -c5la5ra1t2io -clar4at -5clare -cle4m -4clic -clim4 -c1ly4 -c5n -1co -co5ag -c4oa -coe2 -2cog -co4gr -coi4 -co3inc -col5i -5colo -col3o4r -com5er -co2me -co1n4a -co2n -c4one -con3g -con5t -co3pa -cop3ic -co4p2l2 -4cor1b -coro3n -cos4e -cov1 -cove4 -cow5a -co2z5e -co5z1i -c1q -cras5t -cr2as -5crat. -5crat1ic -cre3a2t -5c2r2ed -4c3re1ta -cre4v2 -cri2 -cri5f -c4rin -cr2is4 -5cri1ti -cro4p2l2 -crop5o -cros4e -cru4d -4c3s2 -2c1t -c2ta4b -c1ta -ct5ang -cta2n -c5tan1t -c2te -c3ter -c4t4ic1u -ctim3i -c1tim -ctu4r -c1tu -c4tw4 -cud5 -c4uf -c4ui2 -cu5i1ty -5cul2i -cul4tis4 -cul1ti -cu4lt -3c4ul1tu2 -cu2ma -c3ume -cu4mi -3cun -cu3pi -cu5py -cu2r5a4b -cu1ra -cu5r2i3a -1c2us -cus1s4i -cu2ss -3c4ut -cu4t2ie4 -c4u1t2i -4c5u1t2iv -4cutr -1cy -c2ze4 -1d2a -5da. -2d3a4b -da2ch4 -4da2f -2dag -da2m2 -d2an3g -da2n -dard5 -d2a2r -dark5 -4dary -3dat -4da1t2iv -4da1to -5dav4 -dav5e -5day -d1b -d5c -d1d4 -2de. -dea2f5 -de4b5i2t -d2e1b -de4bo2n -deca2n4 -de1ca -de4cil -de1c2i -de5com -de1co -2d1ed -4dee. -de5if -dei2 -del2i4e4 -del2i -de4l5i5q -de5lo -d4em -5dem. -3demic -dem5ic. -de5mil -de4mo2n3s2 -de1mo -demo2n -demo2r5 -1den -de4n2a2r -de1na -d4e3no -denti5f2 -den1t -dent2i -de3nu -de1p -de3pa -depi4 -de2pu -d3e1q -d4er1h4 -5der3m4 -d5ern5iz -de4r5s2 -des2 -d2es. -de1s2c -de2s5o -des3t2i -d2e3st4r -de4su -de1t -de2to -de1v -de2v3i4l -de1vi -4dey -4d1f -d4ga -d3ge4t -dg1i -d2gy -d1h2 -5di. -1d4i3a -dia5b -d4i4cam -di1ca -d4ice -3di2c1t -3d2id -5di3en -d2ie4 -d1if -di3ge -d2ig -di4la1to -di1la -d1in -1di1na -3di2ne. -d2ine -5d2ini -di5niz -1d2io -dio5g -di4p2l2 -d2ip -d4ir2 -di1re -dir1t5i -dis1 -5disi -d4is3t -d2i1ti -1d2i1v -d1j -d5k2 -4d5la -3dle. -3dled -3dles. -dles2 -4d3l2e2ss -2d3lo -4d5lu -2d1ly -d1m -4d1n4 -1do -3do. -do5de -5doe -2d5of -d4og -do4la -dol2i4 -do5lo4r -dom5iz -do3n2at -do2n -do1n1a -doni4 -doo3d -doo2 -do4p4p -d4or -3dos -4d5out -dou2 -do4v -3dox -d1p -1dr -drag5o2n2 -dra2go -4dr2ai2 -dre4 -dre2a5r -5dren -dr4i4b -dril4 -dro4p -4drow -5drupli -dru3p2l2 -4dry -2d1s2 -ds4p -d4sw2 -d4s4y -d2th -1du -d1u1a -du2c -d1u3ca -duc5er -4duct. -du2c1t -4duc4t1s2 -du5el -du4g -d3ul4e -dum4be -du4m1b -du4n -4dup -du4pe -d1v -d1w -d2y -5dyn -dy4s2e -dys5p -e1a4b -e3a2c1t -ea2d1 -ead5ie4 -e2adi -ea4ge -ea5ger -ea4l -eal5er -e2ale -eal3ou2 -eam3er -e5and -ea2n -ear3a -e2a2r -ear4c -ear5es -ear4ic -ear1i -ear4il -ear5k -ear2t -eart3e -ea5sp -e3a2ss -east3 -ea2t -eat5en -eath3i -e4ath -e5at3if2 -e4a3tu -ea2v -eav3en -eav5i -eav5o -2e1b -e4bel. -e1bel -e4be2l1s2 -e4ben -e4bi2t -e3br -e4ca2d -e1ca -ecan5c -eca2n -ec1ca5 -ec3c -e1ce -ec5es1sa2 -ec2e2ss -e1c2i -e4cib -ec5ificat -eci1fi -ecifi1ca -ec5i3f2ie4 -ec5i1fy -e2c3im -e2c1i4t -e5c2ite -e4clam -e1c4l4 -e4cl2us -e2col -e1co -e4com1m -e4compe -eco4m1p -e4con1c -eco2n -e2cor -ec3o1ra -eco5ro -e1cr -e4crem -ec4ta2n -e2c1t -ec1ta -ec4te -e1cu -e4cul -ec3u1la -2e2d2a -4ed3d4 -e4d1er -ede4s2 -4edi -e3d4i3a -ed3ib -ed3i1ca -ed3im -ed1it -edi5z -4e1do -e4dol -edo2n2 -e4dri -e1dr -e4dul -e1du -ed5u1l4o -ee2c -e4ed3i -ee2f -eel3i -ee4ly -ee2m -ee4na -ee4p1 -ee2s4 -eest4 -ee4ty -e5ex -e1f -e4f3ere -efer1 -1e4f1f -e4fic -e1fi -5ef2i1c4i -efil4 -e3f2i2ne -e2fin -ef5i5n2ite -ef2ini -efin2it -3efit -efor5es -e1fo -efo2r -e4fu4se. -e3fu -ef2us -4egal -e1ga -eger4 -eg5ib -eg4ic -eg5ing -e5git5 -eg5n -e4go. -e1go -e4gos -eg1ul -e5gur -5e1gy -e1h4 -eher4 -ei2 -e5ic -e2i5d -e2ig2 -ei5g4l2 -e3i4m1b -e3in3f -e1ing -e5inst -e2i2n1s2 -eir4d -e4ir -e2it3e -e2i3th -e5i1ty -e1j -e4jud -ej5udi -eki4n -ek1i -ek4la -ek1l -e1la -e4la. -e4lac -e3l4an4d -ela2n -e4l5a1t2iv -e4law -elax1a4 -e3le2a -el5ebra -el2e1b -ele3br -5elec -e4led -el3e1ga -e5len -e4l1er -e1les2 -e2l2f -el2i -e3libe4 -e4l5ic. -el3i1ca -e3lier -el2ie4 -el5i3gib -el2ig -el4igi -e5lim -e4l3ing -e3l2io -e2lis -el5is2h -e3l2iv3 -4ella -el1l -el4lab -ell4o4 -e5loc -el5og -el3op. -el2s2h -e2l1s2 -el4ta -e4lt -e5lud -el5ug -e4mac -e1ma -e4mag -e5ma2n -em5a1na -e4m5b -e1me -e2mel -e4met -em3i1ca -em2i4e4 -em5igra -em2ig4 -emi1gr -em1in2 -em5ine -em3i3ni -e4m2is -em5is2h -e5m4i2s1s -em3iz -5emniz -e4m1n -emo4g -e1mo -emo3n2i5o -emo2n -em3pi -e4m1p -e4mul -e1mu -em5u1la -emu3n2 -e3my -en5a2mo -e1na -e4nan1t -en2a2n -ench4er -en2ch -enche2 -en3dic -e5nea -e5nee -en3em -en5ero -en1er -en5e1si -e1nes -e2n5est -en3etr -e3ne4w -en5i4c3s2 -e5n2ie4 -e5nil -e3n2i4o -en3is2h -en3it -e5ni1u -5eniz -4e4n1n2 -4eno -e4no4g -e4nos -en3ov -en4sw2 -e2n1s2 -ent5age -en1t -en1ta -4enth1es -enth2e -en3u1a -en5uf -e3ny. -4e4n3z -e5of -eo2g -e4oi4 -e3ol -eop3a2r -eo2pa -e1or -eo3re -eo5rol -eos4 -e4ot -eo4to -e5out -eou2 -e5ow -e2pa -e3p4ai2 -ep5anc -epa2n -e5pel -e3pen1t -ep5e5t2i1t2io -epe2t -epeti1ti -ephe4 -e4pli -e1p2l2 -e1po -e4prec -epr2 -ep5re1ca -e4p2r2ed -ep3re1h4 -e3pro -e4prob -ep4s4h -e2p1s2 -ep5ti5b -e2p1t -e4pu2t -ep5u1ta -e1q -equi3l -equ2 -eq2ui2 -e4q3ui3s -er1a -e2ra4b -4er4and -era2n -er3a2r -4er4ati. -2er1b -er4b2l2 -er3ch -er1c -er4che2 -2e2re. -e3re1a4l -ere5co -ere3in -erei2 -er5el. -er3e1mo -er5e1na -er5ence -4erene -er3en1t -ere4q -er5e2ss -er3es2t -eret4 -er1h4 -er1i -e1r2i3a4 -5erick1 -e3rien -er2ie4 -eri4er -er3in4e -e1r2i1o -4erit -er4i1u -er2i4v -e4ri1va -er3m4 -er4nis4 -4er3n2it -5erniz -er3no4 -2ero -er5ob -e5r2oc -ero4r -er1ou2 -e4r1s2 -er3set -er2se -ert3er -4er2tl -er3tw4 -4eru -eru4t -5erwau -er1w -e1s4a2 -e4sa2ge. -e4sages -es2c -e2s1ca -es5ca2n -e3scr -es5cu -e1s2e -e2sec -es5e1cr -e4s5enc -e4sert. -e4ser4t1s2 -e4ser1va -4es2h -e3sha -esh5e2n -e1si -e2sic -e2s2id -es5i1den -e4s5ig1n4a -es2ig -e2s5im -e2s4i4n -esis4te -e1sis -e5si4u -e5skin -esk2 -esk1i -es4mi -e2s1m -e2sol -e1so -es3olu -e2so2n -es5o1n1a4 -e1sp -e2s3per -es5pi1ra -esp4ir -es4pre -espr2 -2e2ss -es4si4b -es1si -esta2n4 -es1ta -es3t2ig -est2i -es5tim -4es2to -e3sto2n -2est4r -e5stro -estruc5 -e2su2r -e1su -es5ur1r4 -es4w2 -e2ta4b -e1ta -e3ten4d -e3teo -ethod3 -et1ic -e5tide -et2id -e2t1in4 -et2i4no -e5t4ir -e5t2i1t2io -eti1ti -et5i1t2iv -4e2t1n2 -et5o1n1a -e1to -eto2n -e3tra -e3tre -et3ric -et5rif -et3rog -et5ros -et3u1a -e1tu -et5ym -e1ty -e4t5z -4eu -e5un -e3up -eu3ro -e2us4 -eute4 -euti5l -e4u1t2i -eu5tr -eva2p5 -e1va -e2vas -ev5ast -e5vea -ev3el1l -eve4l3o -e5veng -even4i -ev1er -e5v2er1b -e1vi -ev3id -e2vi4l -e4v1in -e3v2i4v -e5voc -e5vu -e1wa -e4wag -e5wee -e3wh -ewil5 -ewi2 -ew3in4g -e3wit -1ex3p -5ey1c -5eye. -eys4 -1fa -fa3b2l2 -f4ab3r -fa4ce -4fag -fa4i4n4 -fai2 -fal2l5e -fal1l -4f4a4ma -fam5is -5f2a2r -far5th -fa3ta -fa3th2e -f4ath -4fa1to -fau4lt5 -fau4l2 -4f5b -4fd -4fe. -feas4 -fe4ath3 -fea2t -f2e4b -4fe1ca -5fe2c1t -2fed -fe3l2i -fe4mo -fen2d -fen1d5e -fer1 -5fer1r4 -fev4 -4f1f -f4fes -f4f2ie4 -f1fi -f5f2in. -f2fin -f2f5is -f4f2ly5 -ff4l2 -f2fy -4fh -1fi -f2i3a -2f3ic. -4f3ical -fi1ca -f3ica2n -4ficate -f3i1cen -fi3cer -f2i1c4i -5fi3c2i1a -5fic2ie4 -4fi4c3s2 -fi3cu -fi5del -f2id -fight5 -f2ig -fil5i -fil2l5in4 -fil1l -fill2i -4fi1ly -2fin -5fi1na -f4in2d5 -f2i2ne -f1in3g -f2i4n4n2 -fis4t2i -f4l2 -f5l2e2ss -fles2 -flin4 -flo3re -f2ly5 -4fm -4fn -1fo -5fo2n -fon4de -f2ond -fon4t -fo2r -fo5rat -fo1ra -for5ay -fore5t -for4i -for1t5a -fos5 -4f5p -fra4t -f5rea -fres5c -fri2 -fril4 -frol5 -2f3s -2ft -f4to -f2ty -3fu -fu5el -4fug -fu4min -fu1mi -fu5ne -fu3ri -fusi4 -f2us -fu2s4s -4fu1ta -1fy -1ga -ga2f4 -5gal. -3gal1i -ga3lo -2gam -ga5met -g5a2mo -gan5is -ga2n -ga3niz -gani5za1 -4gano4 -gar5n4 -g2a2r -ga2ss4 -g4ath3 -4ga1t2iv -4gaz -g3b -gd4 -2ge. -2ged -geez4 -gel4in -gel2i -ge5lis -ge5l1iz -4ge1ly -1gen -ge4n2at -ge1na -g5e5niz -4g4eno -4geny -1geo -ge3om -g4ery -5ge1si -geth5 -4ge1to -ge4ty -ge4v -4g1g2 -g2ge -g3ger -gglu5 -ggl2 -g1go4 -gh3in -gh5out -ghou2 -gh4to -5gi. -1g2i4a -gi2a5r -g1ic -5gi3c2i1a -g2i1ci -g4i1co -gien5 -g2ie4 -5gies. -gil4 -g3i1men -3g4in. -g4in5ge -5g4i2n1s2 -5g2io -3g4ir -gir4l -g3is1l2 -gi4u -5g2iv -3giz -gl2 -gla4 -gl2ad5i -gla2d -5glas -1gle -gli4b -g3l2ig -3glo -glo3r -g1m -g4my -g1n4a -g4na. -gne4t4t2 -g1ni -g2n1in -g4n2i4o -g1no -g4no4n -1go -3go. -gob5 -5goe -3g4o4g -go3is -goi2 -go2n2 -4g3o3n1a -gon5do5 -g2ond -go3ni -5goo2 -go5riz -gor5ou2 -5gos. -gov1 -g3p -1gr -4gra1d2a -gra2d -g4r2ai2 -gra2n2 -5gra4ph. -g5ra3ph4er -5graph1ic -gr4aphi -4g3ra1phy -4gray -gre4n -4gress. -gr2e2ss -4grit -g4ro -gruf4 -gs2 -g5ste -gth3 -gu4a -3guar2d -gu2a2r -2gue -5gui5t -g2ui2 -3gun -3g2us -4gu4t -g3w -1gy -2g5y3n -gy5ra -h3ab4l2 -ha2ch4 -hae4m -hae4t -h5agu -ha3la -hala3m -ha4m -han4ci -ha2n -han4cy -5hand. -h4and -h2an4g -hang5er -han1g5o -h5a5niz -ha4n4k2 -han4te -han1t -ha2p3l2 -ha2p5t -ha3ra2n -h2a2r -ha5r2as -har2d -hard3e -har4le4 -har1l -harp5en -har2p -har5ter -ha2s5s -haun4 -5haz -haz3a1 -h1b -1hea2d1 -3he2a2r -he4ca2n -he1ca -h5ecat -h4ed -h4e5do5 -he3l4i -hel4lis -hel1l -hell2i -hel4ly -h5elo -he4m4p -he2n -he1na4 -hen5at -he1o5r -hep5 -h4er1a -hera3p -her4ba -h2er1b -here5a -h3ern -h5er1ou2 -h2ero -h3ery -h1es -he2s5p -he4t -he2t4ed -h4eu4 -h1f -h1h -hi5a2n -h2i1a -hi4co -high5 -h2ig -h4il2 -himer4 -h4i1na -hion4e -h2io -hio2n -h2i4p -hir4l -h4ir -hi3ro -hir4p -hir4r4 -his3el -h4ise -h4i2s4s -hith5er -h2ith -hith2e -h2i2v -4hk -4h1l4 -hla2n4 -h2lo -hlo3ri -4h1m -hmet4 -2h1n -h5odiz -h5o2d1s2 -ho4g -ho1ge4 -hol5a2r -ho1la -3hol4e -ho4ma -ho2me3 -ho1n4a -ho2n -ho5ny -3hood -hoo2 -hoo2n4 -hor5at -ho1ra -ho5r2is -hort3e -ho5ru -hos4e -ho5sen -hos1p -1ho2us -hou2 -house3 -hov5el -4h5p -4hr4 -hree5 -hro5niz -hro2n -hro3po -4h1s2 -h4s2h -h4t2a2r -h1ta -ht1en -ht5es -h4ty -hu4g -hu4min -hu1mi -hun5ke -hu4nk2 -hun4t -hus3t4 -h2us -hu4t -h1w -h4war4t -hw2a2r -hy3pe -hy3ph -hy2s -2i1a -i2al -iam4 -iam5e1te -i2a2n -4ianc -ian3i -4ian4t -ia5pe -ia2ss4 -i4a1t2iv -ia4tric -ia1tr -i4a2tu -ibe4 -ib3er1a -ib5ert -ib5i1a -ib3in -ib5it. -ibi2t -ib5ite -i1b2l2 -ib3li -i5bo -i1br -i2b5ri -i5bu4n -4icam -i1ca -5icap -4ic2a2r -i4car. -i4cara -icas5 -i4cay -iccu4 -ic3c -4iceo -4i2ch -2i1ci -i5c2id -ic5i1na -i2cin -i2c2ip -ic3i1pa -i4c1ly4 -i1c4l4 -i2c5oc -i1co -4i1cr -5icra -i4cry -ic4te -i2c1t -ic1tu2 -ic4t3u1a -ic3u1la -ic4um -ic5uo -i3cur -2id -i4dai2 -i1d2a -id5anc -ida2n -id5d4 -ide3a4l -ide4s2 -i2di -id5i2a2n -i1d4i3a -idi4a2r -i5d2ie4 -i1d3io -idi5ou2 -id1it -id5i1u -i3dle -i4dom -i1do -id3ow -i4dr -i2du -id5uo -2ie4 -ied4e -5ie5ga -ie2ld3 -ie1n5a4 -ien4e -i5e4n1n2 -i3ent2i -ien1t -i1er. -i3es2c -i1est -i3et -4if. -if5ero -ifer1 -iff5en -i4f1f -if4fr -4i2f3ic. -i1fi -i3f2ie4 -i3f4l2 -4i2ft -2ig -iga5b -i1ga -ig3er1a -ight3i -4igi -i3gib -ig3il4 -ig3in -ig3it -i4g4l2 -i2go -ig3or -ig5ot -i5gre -i1gr -ig2u5i2 -ig1ur -i3h -4i5i4 -i3j -4ik -i1la -il3a4b -i4l4ade -ila2d -i2l5am -ila5ra -il2a2r -i3leg -il1er -ilev4 -i2l5f -il1i -il3i1a -il2ib -il3io -il4ist -2il1it -il2iz -ill5ab -il1l -4i2l1n2 -il3o1q -il4ty -i4lt -il5ur -il3v -i4mag -i1ma -im3age -ima5ry -im2a2r -iment2a5r -i1men -i3men1t -imen1ta -4imet -im1i -im5i1d4a -im2id -imi5le -i5m2ini -4imit -im4ni -i4m1n -i3mo2n -i1mo -i2mu -im3u1la -2in. -i4n3au -i1na -4inav -incel4 -in3cer -4ind -in5dling -2ine -i3nee -in4er4a2r -in1er -iner1a -i5n2e2ss -i1nes -4in1ga -4inge -in5gen -4ingi -in5gling -ingl2 -4in1go -4in1gu -2ini -i5ni. -i4n4i1a -in3i4o -in1is -i5ni4te. -in2it -in2ite -5i3n2i1t2io -ini1ti -in3i1ty -4i4nk2 -4i4n1l -2i4n1n2 -2i1no -i4no4c -ino4s -i4not -2i2n1s2 -in3se -insu1r5a -in1su -insu2r -2int. -in1t -2in4th -in1u -i5n2us -4iny -2io -4io. -io1ge4 -io2gr -i1ol -io4m -ion3at -io2n -io1n1a -ion4ery -ion1er -ion3i -i2o5ph -ior3i -i4os -i4o5th -i5oti -io4to -i4our -iou2 -2ip -ipe4 -iphr2as4 -ip4hr4 -ip3i -ip4ic -ip4re4 -ipr2 -ip3ul -i3qua -iqu2 -iq5ue1f -iq3u2id -iq2ui2 -iq3ui3t -4ir -i1ra -i2ra4b -i4rac -ird5e -ire4de -i2r2ed -i4re1f -i4rel4 -i4res -ir5gi -irg2 -ir1i -iri5de -ir2id -ir4is -iri3tu -5i5r2iz -ir4min -ir1m -iro4g -5iron. -iro2n -ir5ul -2is. -is5ag -isa2 -is3a2r -isas5 -2is1c -is3ch2 -4ise -is3er -3i4s3f -is5ha2n -is2h -is3ho2n3 -isho4 -ish5op -is3i1b -is2i4d -i5sis -is5i1t2iv -isi1ti -4is4k2 -isla2n4 -is1l2 -4is4m1s2 -i2s1m -i2so -iso5mer -i3som -iso2me -is1p -is2pi -is4py -4i2s1s -is4sal -is1sa2 -issen4 -is4s1e4s -is4ta. -is1ta -is1te -is1t2i -ist4ly -is2tl -4istral -ist4r -is1tra -i2su -is5us -4i3ta. -i1ta -ita4bi -i2tab -i4tag -4ita5m -i3ta2n -i3tat -2ite -it3er1a -i5ter1i -it4es -2ith -i1ti -4i1t2i1a -4i2tic -it3i1ca -5i5tick1 -i2t3ig -it5il1l -i2tim -2i1t2io -4itis -i4ti2s4m -i2t5o5m -i1to -4ito2n -i4tram -i1tra -it5ry -4i4t3t2 -it3u1at -i1tu -itu1a -i5tud2 -it3ul -4itz. -i4tz -i1u -2iv -iv3el1l -iv3en. -i4v3er. -i4vers. -ive4r1s2 -iv5il. -i2vil -iv5io -iv1it -i5vore -iv3o3ro -i4v3ot -4i5w -ix4o -4iy -4iz2a2r2 -iza1 -i2z1i4 -5izon1t -i1zo -izo2n -5ja -jac4q -ja4p -1je -je4r5s2 -4jes4t2ie4 -jest2i -4jes2ty -jew3 -jo4p -5judg -3ka. -k3ab -k5ag -kais4 -kai2 -kal4 -k1b -k2ed -1kee -ke4g -ke5l2i -k3en4d -k1er -kes4 -k3e2st. -ke4ty -k3f -kh4 -k1i -5ki. -5k2ic -k4il1l -kilo5 -k4im -k4in. -kin4de -k4ind -k5i5n2e2ss -k2ine -ki1nes -kin4g -k2i4p -kis4 -k5is2h -kk4 -k1l -4k3ley -4k1ly -k1m -k5nes -1k2no -ko5r -kos2h4 -k3ou2 -kro5n -4k1s2 -k4sc -ks4l2 -k4s4y -k5t -k1w -lab3ic -l4abo -l4a2ci4 -l4ade -la2d -la3d2y -lag4n -la2m3o -3l4and -la2n -lan4dl -lan5et -lan4te -lan1t -lar4g2 -l2a2r -lar3i -las4e -la5ta2n -la2ta -4latel2i4 -4la1t2iv -4lav -la4v4a -2l1b -lbin4 -4l1c2 -lce4 -l3ci -2ld -l2de -ld4ere -ld4er1i -ldi4 -ld5is1 -l3dr -l4dri -le2a -le4bi -l2e1b -le2ft5 -le1f -5leg. -5le4g1g2 -le4mat -le1ma -lem5at1ic -4len. -3lenc -5le2ne. -1len1t -le3ph -le4pr2 -le2ra5b -ler1a -ler4e -3lerg2 -3l4er1i -l4ero -les2 -le5s1co -les2c -5lesq -3l2e2ss -5less. -l3e1va -lev4er. -lev1er -lev4er1a -lev4e4r1s2 -3ley -4leye -2lf -l5fr -4l1g4 -l5ga -lg2a2r3 -l4ges -l1go3 -2l3h -li4ag -l2i1a -li2am4 -liar5iz -li2a2r -liar1i -li4as -li4a1to -li5bi -5lic2io -l2i1ci -li4cor -li1co -4li4c3s2 -4lict. -li2c1t -l4icu -l3i1cy -l3i1d2a -l2id -lid5er -3li2di -lif3er1 -l4i4f1f -li4f4l2 -5ligate -l2ig -li1ga -3ligh -li4gra -li1gr -3l4ik -4l4i4l -lim4b2l2 -li4m1b -lim3i -li4mo -l4i4m4p -l4i1na -1l4ine -lin3ea -l2in3i -link5er -l4i4nk2 -li5og -l2io -4l4iq -lis4p -l1it -l2it. -5lit3i1ca -li1ti -l4i2tic -l5i5ti4c3s2 -liv3er -l2iv -l1iz -4lj -lka3 -l3kal4 -lka4t -l1l -l4law -l2le -l5le2a -l3lec -l3leg -l3lel -l3le4n -l3le4t -ll2i -l2lin4 -l5l4i1na -ll4o -lloq2ui5 -llo1q -lloqu2 -l2l5out -llou2 -l5low -2lm -l5met -lm3ing -l4mo2d1 -l1mo -lmo2n4 -2l1n2 -3lo. -lob5al -lo4ci -4lof -3log1ic -l5o1go -3logu -lom3er -lo2me -5long -lo2n -lon4i -l3o3niz -lood5 -loo2 -5lo4pe. -lop3i -l3o4p1m -lo1ra4 -lo4ra1to -lo5r2ie4 -lor5ou2 -5los. -los5et -5los5o3phiz -lo2so -los4op -los2oph -5los5o1phy -los4t -lo4ta -loun5d -lou2 -2lout -4lov -2lp -lpa5b -l1pa -l3pha -l5phi -lp5ing -lpi2n -l3pit -l4p2l2 -l5pr2 -4l1r -2l1s2 -l4sc -l2se -l4s2ie4 -4lt -lt5ag -l1ta -ltane5 -lta2n -l1te -lten4 -lter1a4 -lth3i -l5ties. -lt2ie4 -ltis4 -l1tr -l1tu2 -ltu1r3a -lu5a -lu3br -lu2ch4 -lu3ci -lu3en -luf4 -lu5id -l2ui2 -lu4ma -5lu1mi -l5umn. -lu4m1n -5lum3n4i1a -lu3o -luo3r -4lup -lu2ss4 -l2us -lus3te -1lut -l5ven -l5vet4 -2l1w -1ly -4lya -4ly1b -ly5me4 -ly3no -2lys4 -l5y3s2e -1ma -2mab -ma2ca -ma5ch2ine -ma2ch -ma4ch1in -ma4c4l4 -mag5in -mag1i -5mag1n -2mah -ma2id5 -mai2 -4ma2ld -ma3l2ig -mal1i -ma5lin -mal4l2i -mal1l -mal4ty -ma4lt -5ma3n4i1a -ma2n -man5is -man3iz -4map -ma5ri2ne. -m2a2r -mar1i -mar2in4e -ma5r2iz -mar4ly -mar1l -mar3v -ma5sce -mas4e -mas1t -5mate -m4ath3 -ma3tis -4mati3za1 -ma1tiz -4m1b -m1ba4t5 -m5bil -m4b3ing -mb2i4v -4m5c -4me. -2med -4med. -5me3d4i3a -m4edi -me3d2ie4 -m5e5d2y -me2g -mel5o2n -me4l4t -me2m -me1m1o3 -1men -me1n4a -men5ac -men4de -4mene -men4i -me2n1s4 -men1su5 -3men1t -men4te -me5o2n -m5er1sa2 -me4r1s2 -2mes -3mest2i -me4ta -met3a2l -me1te -me5thi -m4etr -5met3ric -me5tr2ie4 -me3try -me4v -4m1f -2mh -5mi. -m2i3a -mi1d4a -m2id -mid4g -m2ig4 -3mil3i1a -mil1i -m5i5l2ie4 -m4il1l -mi1n4a -3m4ind -m5i3nee -m2ine -m4ingl2 -min5gli -m5ing1ly -min4t -m4in1u -miot4 -m2io -m2is -mi4s4er. -m4ise -mis3er -mis5l2 -mis4t2i -m5i4stry -mist4r -4m2ith -m2iz -4mk -4m1l -m1m -mma5ry -m1ma -mm2a2r -4m1n -m1n4a -m4n1in -mn4o -1mo -4mocr -5moc5ra1tiz -mo2d1 -mo4go -mois2 -moi2 -mo4i5se -4m2ok -mo5lest -moles2 -mo3me -mon5et -mo2n -mon5ge -mo3n4i3a -mon4i2s1m -mon1is -mon4ist -mo3niz -monol4 -mo3ny. -mo2r -4mo5ra. -mo1ra -mos2 -mo5sey -mo3sp -m4oth3 -m5ouf -mou2 -3mo2us -mo2v -4m1p -mpara5 -m1pa -mp2a2r -mpa5rab -mp4a4r5i -m3pe2t -mphas4 -m2pi -mp2i4a -mp5ies -mp2ie4 -m4p1i2n -m5p4ir -mp5is -mpo3ri -m1p4or -mpos5ite -m1pos -m4po2us -mpou2 -mpov5 -mp4tr -m2p1t -m2py -4m3r -4m1s2 -m4s2h -m5si -4mt -1mu -mul2a5r4 -mu1la -5mu4lt -mul1ti3 -3mum -mun2 -4mup -mu4u -4mw -1na -2n1a2b -n4abu -4nac. -na4ca -n5a2c1t -nag5er. -nak4 -na4l1i -na5l2i1a -4na4lt -na5mit -n2a2n -nan1ci4 -nan4it -na4nk4 -nar3c -n2a2r -4nare -nar3i -nar4l -n5ar1m -n4as -nas4c -nas5t2i -n2at -na3ta2l -na2ta -nat5o5m2iz -na2tom -na1to -n2au -nau3se -na2us -3naut -nav4e -4n1b4 -nc2a2r5 -n1ca -n4ces. -n3cha -n2ch -n5cheo -nche2 -n5ch4il2 -n3chis -n2c1in -n1ci -n2c4it -ncou1r5a -n1co -ncou2 -n1cr -n1cu -n4dai2 -n1d2a -n5da2n -n1de -nd5e2st. -ndes2 -ndi4b -n5d2if -n1dit -n3diz -n5du2c -n1du -ndu4r -nd2we -nd1w -2ne. -n3e2a2r -n2e2b -neb3u -ne2c -5neck1 -2ned -ne4gat -ne1ga -ne4g5a1t2iv -5nege -ne4la -nel5iz -nel2i -ne5mi -ne4mo -1nen -4nene -3neo -ne4po -ne2q -n1er -ne2ra5b -ner1a -n4er3a2r -n2ere -n4er5i -ner4r4 -1nes -2nes. -4ne1sp -2nest -4nes4w2 -3net1ic -ne4v -n5eve -ne4w -n3f -n4gab -n1ga -n3gel -nge4n4e -n1gen -n5gere -n3ger1i -ng5ha -n3gib -ng1in -n5git -n4gla4 -ngl2 -ngov4 -n1go -ng5s2h -ngs2 -n1gu -n4gum -n2gy -4n1h4 -nha4 -nhab3 -nhe4 -3n4i1a -ni3a2n -ni4ap -ni3ba -ni4b2l2 -n2i4d -ni5di -ni4er -n2ie4 -ni2fi -ni5ficat -nifi1ca -n5i1gr -n2ig -n4ik4 -n1im -ni3m2iz -nim1i -n1in -5ni2ne. -n2ine -nin4g -n2i4o -5n2is. -nis4ta -n2it -n4ith -3n2i1t2io -ni1ti -n3itor -ni1to -ni3tr -n1j -4nk2 -n5k2ero -nk1er -n3ket -nk3in -nk1i -n1k1l -4n1l -n5m -nme4 -nmet4 -4n1n2 -nne4 -nni3al -n3n4i1a -nn2i4v -nob4l2 -no3ble -n5o1c4l4 -4n3o2d -3noe -4nog -no1ge4 -nois5i -noi2 -no5l4i -5nol1o1gis -3nomic -n5o5m2iz -no4mo -no3my -no4n -non4ag -no1n1a -non5i -n5oniz -4nop -5nop5o5l2i -no2r5ab -no1ra -no4rary -nor2a2r -4nos2c -nos4e -nos5t -no5ta -1nou2 -3noun -nov3el3 -nowl3 -n1p4 -npi4 -npre4c -npr2 -n1q -n1r -nru4 -2n1s2 -n2s5ab -nsa2 -nsati4 -ns4c -n2se -n4s3e4s -ns2id1 -ns2ig4 -n2s1l2 -n2s3m -n4soc -n1so -ns4pe -n5spi -nsta5b2l2 -ns1ta -ns2tab -n1t -n2ta4b -n1ta -nte4r3s2 -nt2i -n5ti2b -nti4er -nt2ie4 -nti2f2 -n3t2ine -n2t1in -n4t3ing -nt2i4p -ntrol5l2i -ntrol1l -n4t4s2 -ntu3me -n1tu -n3tum -nu1a -nu4d -nu5en -nuf4fe -nu4f1f -n3ui4n -n2ui2 -3nu3it -n4um -nu1me -n5u1mi -3nu4n -n3uo -nu3tr -n1v2 -n1w4 -nym4 -nyp4 -4nz -n3za1 -4oa -oa2d3 -o5a5les2 -o2ale -oard3 -o2a2r -oas4e -oast5e -oat5i -ob3a3b -o5b2a2r -o1be4l -o1bi -o2bin -ob5ing -o3br -ob3ul -o1ce -o2ch4 -o3che4t -oche2 -ocif3 -o1ci -o4cil -o4clam -o1c4l4 -o4cod -o1co -oc3rac -oc5ra1tiz -ocre3 -5ocrit -ocri2 -octo2r5a -o2c1t -oc1to -oc3u1la -o5cure -od5d1ed -od1d4 -od3ic -o1d2i3o -o2do4 -od4or3 -o4d5uct. -o1du -odu2c -odu2c1t -o4d5uc4t1s2 -o4el -o5eng -o3er -oe4ta -o3ev -o2fi -of5ite -of4i4t4t2 -o2g5a5r -o1ga -o4g5a1t2iv -o4ga1to -o1ge -o5gene -o1gen -o5geo -o4ger -o3g2ie4 -1o1gis -og3it -o4gl2 -o5g2ly -3ogniz -og1ni -o4g4ro -o1gr -og2u5i2 -1o1gy -2o2g5y3n -o1h2 -ohab5 -oi2 -oic3es -oi3der -o2id -oi4f1f4 -o2ig4 -oi5let -o3ing -oint5er -oin1t -o5i2s1m -oi5so2n -oi2so -oist5en -ois1te -oi3ter -o2ite -o5j -2ok -o3ken -ok5ie4 -ok1i -o1la -o4la2n -ola2ss4 -o2l2d -ol2d1e -ol3er -o3les2c -oles2 -o3let -ol4fi -o2lf -ol2i -o3l2i1a -o3lice -ol5id. -ol2id -o3li4f -o5l4i4l -ol3ing -o5l2io -o5l2is. -ol3is2h -o5l2ite -ol1it -o5l2i1t2io -oli1ti -o5l2iv -oll2i4e4 -ol1l -oll2i -ol5o3giz -olo4r -ol5p2l2 -o2lp -o4l2t -ol3ub -ol3ume -ol3un -o5l2us -ol2v -o2ly -o2m5ah -o1ma -oma5l -om5a1tiz -om2be -o4m1b -om4b2l2 -o2me -om3e1n4a -o1men -om5er2se -ome4r1s2 -o4met -om5e3try -om4etr -o3m2i3a -om3ic. -om3i1ca -o5m2id -om1in -o5m2ini -5ommend -om1m -om1men -omo4ge -o1mo -o4mo2n -om3pi -o4m1p -ompro5 -ompr2 -o2n -o1n1a -on4ac -o3n2a2n -on1c -3oncil -on1ci -2ond -on5do -o3nen -o2n5est -o1nes -on4gu -on1ic -o3n2i4o -on1is -o5ni1u -on3key -o4nk2 -on4odi -o4n3o2d -on3o3my -o2n3s2 -on5spi4 -onspi1r5a -onsp4ir -on1su4 -onten4 -on1t -on3t4i -onti2f5 -on5um -on1va5 -on1v2 -oo2 -ood5e -ood5i -o2o4k -oop3i -o3ord -oost5 -o2pa -o2p2e5d -op1er -3oper1a -4op4erag -2oph -o5pha2n -o5ph4er -op3ing -opi2n -o3pit -o5po2n -o4posi -o1pos -o1pr2 -op1u -opy5 -o1q -o1ra -o5ra. -o4r3ag -or5al1iz -oral1i -or5an4ge -ora2n -or2ang -ore5a -o5re1a4l -or3ei2 -or4e5s2h -or5e2st. -ores2t -orew4 -or4gu -org2 -4o5r2i3a -or3i1ca -o5ril -or1in -o1r2i1o -or3i1ty -o3ri1u -or2mi -or1m -orn2e -o5rof -or3oug -orou2 -or5pe -or1p -3orrh4 -or1r4 -or4se -o4rs2 -ors5en -orst4 -or3thi -or3thy -or4ty -o5rum -o1ry -os3al -osa2 -os2c -os4ce -o3scop -os1co -4oscopi -o5scr -os4i4e4 -os5i1t2iv -osi1ti -os3i1to -os3i1ty -o5si4u -os4l2 -o2so -o2s4pa -os4po -os2ta -o5stati -os5til -ost2i -os5tit -o4ta2n -o1ta -otele4g -ot3er. -ot5e4r1s2 -o4tes -4oth -oth5e1si -oth2e -oth1es -oth3i4 -ot3ic. -ot5i1ca -o3tice -o3tif2 -o3tis -oto5s2 -o1to -ou2 -ou3b2l2 -ouch5i -ou2ch -ou5et -ou4l -ounc5er -oun2d -ou5v2 -ov4en -over4ne -ove4r3s2 -ov4ert -o3vis -o4vi1ti4 -o5v4ol -ow3der -ow3el -ow5est3 -ow1i2 -own5i -o4wo2 -oy1a -1pa -pa4ca -pa4ce -pa2c4t -p4a2d -5paga4n -pa1ga -p3agat -p4ai2 -pa4i4n4 -p4al -pa1n4a -pa2n -pan3el -pan4ty -pan1t -pa3ny -pa1p -pa4pu -para5b2l2 -p2a2r -pa2rab -par5age -par5d2i -3pare -par5el -p4a4r1i -par4is -pa2te -pa5ter -5pathic -p4ath -pa5thy -pa4tric -pa1tr -pav4 -3pay -4p1b -pd4 -4pe. -3pe4a -pear4l -pe2a2r -pe2c -2p2ed -3pede -3p4edi -pe3d4i3a4 -ped4ic -p4ee -pee4d -pek4 -pe4la -pel2i4e4 -pel2i -pe4n2a2n -pe1na -p4enc -pen4th -pen1t -pe5o2n -p4era. -per1a -pera5b2l2 -pe2ra4b -p4erag -p4er1i -peri5st -per2is -per4mal -per3m4 -per1ma -per2me5 -p4ern -p2er3o -per3ti -p4e5ru -per1v -pe2t -pe5ten -pe5tiz -4pf -4pg -4ph. -phar5i -ph2a2r -ph4e3no -phe2n -ph4er -ph4es. -ph1es -ph1ic -5ph2ie4 -ph5ing -5phis1t2i -3phiz -p4h2l4 -3phob -3phone -pho2n -5phoni -pho4r -4p4h1s2 -ph3t -5phu -1phy -p2i3a -pi2a2n4 -pi4c2ie4 -p2i1ci -pi4cy -p4id -p5i1d2a -pi3de -5pi2di -3piec -p2ie4 -pi3en -pi4grap -p2ig -pi1gr -pi3lo -pi2n -p4in. -p4ind4 -p4i1no -3p2i1o -pio2n4 -p3ith -pi5tha -pi2tu -2p3k2 -1p2l2 -3pla2n -plas5t -pl2i3a -pli5er -pl2ie4 -4pl2ig -pli4n -ploi4 -plu4m -plu4m4b -4p1m -2p3n -po4c -5pod. -po5em -po3et5 -5po4g -poin2 -poi2 -5poin1t -poly5t -po2ly -po4ni -po2n -po4p -1p4or -po4ry -1pos -po2s1s -p4ot -po4ta -5poun -pou2 -4p1p -ppa5ra -p1pa -pp2a2r -p2pe -p4p2ed -p5pel -p3pen -p3per -p3pe2t -ppo5s2ite -p1pos -pr2 -pray4e4 -5pre1c2i -pre5co -pre3e2m -pre4f5ac -pre1f -pre1fa -pre4la -pr1e3r4 -p3re1s2e -3pr2e2ss -pre5ten -pre3v2 -5pr2i4e4 -prin4t3 -pr2i4s -pri2s3o -p3ro1ca -pr2oc -prof5it -pro2fi -pro3l -pros3e -pro1t -2p1s2 -p2se -ps4h -p4si1b -2p1t -p2t5a4b -p1ta -p2te -p2th -p1ti3m -ptu4r -p1tu -p4tw4 -pub3 -pue4 -puf4 -pu4l3c2 -pu4m -pu2n -pur4r4 -5p2us -pu2t -5pute -put3er -pu3tr -put4t1ed -pu4t3t2 -put4t1in -p3w -qu2 -qua5v4 -2que. -3quer -3quet -2rab -ra3bi -rach4e2 -ra2ch -r5a1c4l4 -raf5fi -ra2f -ra4f1f4 -ra2f4t -r2ai2 -ra4lo -ram3et -r2ami -ra3ne5o -ra2n -ran4ge -r2ang -r4ani -ra5no4 -rap3er -3ra1phy -rar5c -r2a2r -rare4 -rar5e1f -4raril -rar1i -r2as -ratio2n4 -ra1t2io -rau4t -ra5vai2 -ra2va -rav3el -ra5z2ie4 -ra2z1i -r1b -r4bab -r4bag -rbi2 -r2b3i4f -r2bin -r5b2ine -rb5ing. -rb4o -r1c -r2ce -r1cen4 -r3cha -r2ch -rch4er -rche2 -r4ci4b -r1ci -r2c4it -rcum3 -r4dal -r1d2a -rd2i -r1d4i4a -rdi4er -rd2ie4 -rd1in4 -rd3ing -2re. -re1a4l -re3a2n -re5ar1r4 -re2a2r -5rea2v -re4aw -r5ebrat -r2e1b -re3br -rec5ol1l -re2col -re1co -re4c5ompe -reco4m1p -re4cre -re1cr -2r2ed -re1de -re3dis1 -r4edi -red5it -re4fac -re1f -re1fa -re2fe -re5fer. -refer1 -re3fi -re4fy -reg3is -re5it -rei2 -re1l2i -re5lu -r4en4ta -ren1t -ren4te -re1o -re5pi2n -re4posi -re1po -re1pos -re1pu -r1er4 -r4er1i -r2ero4 -r4e5ru -r4es. -re4spi -re1sp -res4s5i4b -r2e2ss -res1si -res2t -re5s2ta2l -res1ta -r2e3st4r -re4ter -re4ti4z -re3tri -r4eu2 -re5u1t2i -rev2 -re4val -re1va -rev3el -r5ev5er. -rev1er -re5ve4r1s2 -re5vert -re5vi4l -re1vi -rev5olu -re4wh -r1f -r3fu4 -r4fy -rg2 -rg3er -r3get -r3g1ic -rgi4n -rg3ing -r5gis -r5git -r1gl2 -rgo4n2 -r1go -r3gu -rh4 -4rh. -4rhal -r2i3a -ria4b -ri4ag -r4ib -rib3a -ric5as5 -ri1ca -r4ice -4r2i1ci -5ri5c2id -ri4c2ie4 -r4i1co -rid5er -r2id -ri3enc -r2ie4 -ri3en1t -ri1er -ri5et -rig5a2n -r2ig -ri1ga -5r4igi -ril3iz -ril1i -5rima2n -ri1ma -rim5i -3ri1mo -rim4pe -ri4m1p -r2i1na -5rina. -r4in4d -r2in4e -rin4g -r2i1o -5riph -r2ip -riph5e -ri2p2l2 -rip5lic -r4iq -r2is -r4is. -r2is4c -r3is2h -ris4p -ri3ta3b -ri1ta -r5ited. -r2ite -ri2t1ed -rit5er. -rit5e4r1s2 -r4i2t3ic -ri1ti -ri2tu -rit5ur -riv5el -r2iv -riv3et -riv3i -r3j -r3ket -rk4le -rk1l -rk4lin -r1l -rle4 -r2led -r4l2ig -r4lis -rl5is2h -r3lo4 -r1m -rma5c -r1ma -r2me -r3men -rm5e4r1s2 -rm3ing -r4ming. -r4m2io -r3mit -r4my -r4n2a2r -r1na -r3nel -r4n1er -r5net -r3ney -r5nic -r1nis4 -r3n2it -r3n2iv -rno4 -r4nou2 -r3nu -rob3l2 -r2oc -ro3cr -ro4e -ro1fe -ro5fil -ro2fi -r2ok2 -ro5k1er -5role. -rom5e1te -ro2me -ro4met -rom4i -ro4m4p -ron4al -ro2n -ro1n1a -ron4e -ro5n4is -ron4ta -ron1t -1room -roo2 -5root -ro3pel -rop3ic -ror3i -ro5ro -ro2s5per -ro2s4s -ro4th2e -r4oth -ro4ty -ro4va -rov5el -rox5 -r1p -r4pe4a -r5pen1t -rp5er. -r3pe2t -rp4h4 -rp3ing -rpi2n -r3po -r1r4 -rre4c -rre4f -r4re1o -rre4s2t -rr2i4o -rr2i4v -rro2n4 -rros4 -rrys4 -4rs2 -r1sa2 -rsa5ti -rs4c -r2se -r3sec -rse4cr -r4s5er. -rs3e4s -r5se5v2 -r1s2h -r5sha -r1si -r4si4b -rso2n3 -r1so -r1sp -r5sw2 -rta2ch4 -r1ta -r4tag -r3t2e1b -r3ten4d -r1te5o -r1ti -r2t5i2b -rt2i4d -r4tier -rt2ie4 -r3t2ig -rtil3i -rtil4l -r4ti1ly -r4tist -r4t2iv -r3tri -rtr2oph4 -rt4s2h4 -r4t1s2 -ru3a -ru3e4l -ru3en -ru4gl2 -ru3i4n -r2ui2 -rum3p2l2 -ru4m2p -ru2n -ru4nk5 -run4ty -run1t -r5usc2 -r2us -ru2t1i5n -r4u1t2i -rv4e -rvel4i -r3ven -rv5er. -r5vest -rv4e2s -r3vey -r3vic -r3v2i4v -r3vo -r1w -ry4c -5rynge -ryn5g -ry3t -sa2 -2s1ab -5sack1 -sac3ri2 -s3a2c1t -5sai2 -sa4l2a2r4 -s4a2l4m -sa5lo -sa4l4t -3sanc -sa2n -san4de -s4and -s1ap -sa5ta -5sa3t2io -sa2t3u -sau4 -sa5vor -5saw -4s5b -scan4t5 -s1ca -sca2n -sca4p -scav5 -s4ced -4s3cei2 -s4ces -s2ch2 -s4cho2 -3s4c2ie4 -s1ci -5sc4in4d -s2cin -scle5 -s1c4l4 -s4cli -scof4 -s1co -4scopy5 -scou1r5a -scou2 -s1cu -4s5d -4se. -se4a -seas4 -sea5w -se2c3o -3se2c1t -4s4ed -se4d4e -s5edl -se2g -se1g3r -5sei2 -se1le -5se2l2f -5selv -4se1me -se4mol -se1mo -sen5at -se1na -4senc -sen4d -s5e2ned -sen5g -s5en1in -4sen4t1d -sen1t -4sen2tl -se2p3a3 -4s1er. -s4er1l -s2er4o -4ser3vo -s1e4s -s4e5s2h -ses5t -5se5um -s4eu -5sev -sev3en -sew4i2 -5sex -4s3f -2s3g -s2h -2sh. -sh1er -5shev -sh1in -sh3io -3sh2i4p -sh2i2v5 -sho4 -sh5o2l2d -sho2n3 -shor4 -short5 -4sh1w -si1b -s5ic3c -3si2de. -s2id -5side4s2 -5si2di -si5diz -4sig1n4a -s2ig -sil4e -4si1ly -2s1in -s2i1na -5si2ne. -s2ine -s3ing -1s2io -5sio2n -sio1n5a -s4i2r -si1r5a -1sis -3s2i1t2io -si1ti -5si1u -1s2iv -5siz -sk2 -4ske -s3ket -sk5ine -sk1i -sk5in4g -s1l2 -s3lat -s2le -sl2ith5 -sl1it -2s1m -s3ma -smal1l3 -sma2n3 -smel4 -s5men -5s4m2ith -smo2l5d4 -s1mo -s1n4 -1so -so4ce -so2ft3 -so4lab -so1la -so2l3d2 -so3lic -sol2i -5sol2v -3som -3s4on. -so2n -so1n1a4 -son4g -s4op -5soph1ic -s2oph -s5o3phiz -s5o1phy -sor5c -sor5d -4sov -so5vi -2s1pa -5sp4ai2 -spa4n -spen4d -2s5peo -2sper -s2phe -3sph4er -spho5 -spil4 -sp5ing -spi2n -4s3p2i1o -s4p1ly -s1p2l2 -s4po2n -s1p4or4 -4sp4ot -squal4l -squ2 -s1r -2ss -s1sa2 -ssas3 -s2s5c -s3sel -s5sen5g -s4ses. -ss1e4s -s5set -s1si -s4s2ie4 -ssi4er -s4s5i1ly -s4s1l2 -ss4li -s4s1n4 -sspen4d4 -ss2t -ssu1r5a -s1su -ssu2r -ss5w2 -2st. -s2tag -s1ta -s2ta2l -stam4i -5st4and -sta2n -s4ta4p -5stat. -s4t1ed -stern5i -s5t2ero -ste2w -ste1w5a -s3th2e -st2i -s4ti. -s5t2i1a -s1tic -5s4tick1 -s4t2ie4 -s3tif2 -st3ing -s2t1in -5st4ir -s1tle -s2tl -5stock1 -s1to -sto2m3a -5stone -sto2n -s4top -3store -st4r -s4tra2d -s1tra -5stra2tu -s4tray -s4tr2id -4stry -4st3w4 -s2ty -1su -su1al -su4b3 -su2g3 -su5is -s2ui2 -suit3 -s4ul -su2m -su1m3i -su2n -su2r -4sv -sw2 -4s1wo2 -s4y -4sy1c -3syl -syn5o -sy5rin -1ta -3ta. -2tab -ta5bles2 -tab2l2 -5tab5o5l1iz -tabol2i -4t4a2ci -ta5do -ta2d -4ta2f4 -tai5lo -tai2 -ta2l -ta5la -tal5en -t2ale -tal3i -4talk -tal4lis -tal1l -tall2i -ta5log -ta5mo -tan4de -ta2n -t4and -1tan1ta3 -tan1t -ta5per -ta5p2l2 -tar4a -t2a2r -4tar1c -4tare -ta3r2iz -tar1i -tas4e -ta5s4y -4tat1ic -ta4tur -ta2tu -taun4 -tav4 -2taw -tax4is -tax3i -2t1b -4tc -t4ch -tch5e4t -tche2 -4t1d -4te. -te2ad4i -tea2d1 -4tea2t -te1ce4 -5te2c1t -2t1ed -t4e5di -1tee -teg4 -te5ger4 -te5gi -3tel. -tel2i4 -5te2l1s2 -te2ma2 -tem3at -3ten2a2n -te1na -3tenc -3tend -4te1nes -1ten1t -ten4tag -ten1ta -1teo -te4p -te5pe -ter3c -5ter3d -1ter1i -ter5ies -ter2ie4 -ter3is -teri5za1 -5t4er3n2it -ter5v -4tes. -4t2e2ss -t3ess. -teth5e -3t4eu -3tex -4tey -2t1f -4t1g -2th. -tha2n4 -th2e -4thea -th3eas -the5a2t -the3is -thei2 -3the4t -th5ic. -th5i1ca -4th4il2 -5th4i4nk2 -4t4h1l4 -th5ode -5thod3ic -4thoo2 -thor5it -tho5riz -2t4h1s2 -1t2i1a -ti4ab -ti4a1to -2ti2b -4tick1 -t4i1co -t4ic1u -5ti2di -t2id -3tien -t2ie4 -tif2 -ti5fy -2t2ig -5tigu -til2l5in4 -til1l -till2i -1tim -4ti4m1p -tim5ul -ti2mu -2t1in -t2i1na -3ti2ne. -t2ine -3t2ini -1t2io -ti5oc -tion5ee -tio2n -5tiq -ti3sa2 -3t4ise -ti2s4m -ti5so -tis4p -5tisti1ca -tis1t2i -tis1tic -ti3tl -ti4u -1t2iv -ti1v4a -1tiz -ti3za1 -ti3ze4n -ti2ze -2tl -t5la -tla2n4 -3tle. -3tled -3tles. -tles2 -t5let. -t5lo -4t1m -tme4 -2t1n2 -1to -to3b -to5crat -4to2do4 -2tof -to2gr -to5ic -toi2 -to2ma -to4m4b -to3my -ton4a4l1i -to2n -to1n1a -to3n2at -4tono -4tony -to2ra -to3r2ie4 -tor5iz -tos2 -5tour -tou2 -4tout -to3w2a2r -4t1p -1tra -t2ra3b -tra5ch -tr4a2ci4 -tra2c4it -trac4te -tra2c1t -tr2as4 -tra5ven -trav5e2s5 -tre5f -tre4m -trem5i -5tr2i3a -tri5ces -tr4ice -5tri3c2i1a -t4r2i1ci -4tri4c3s2 -2trim -tr2i4v -tro5m4i -tron5i -tro2n -4trony -tro5phe -tr2oph -tro3sp -tro3v -tr2u5i2 -tr2us4 -4t1s2 -t4sc -ts2h4 -t4sw2 -4t3t2 -t4tes -t5to -t1tu4 -1tu -tu1a -tu3a2r -tu4b4i -tud2 -4tue -4tuf4 -5t2u3i2 -3tum -tu4nis -tu1ni -2t3up. -3ture -5turi -tur3is -tur5o -tu5ry -3t2us -4tv -tw4 -4t1wa -twis4 -twi2 -4t1wo2 -1ty -4tya -2tyl -type3 -ty5ph -4tz -t2z4e -4uab -uac4 -ua5na -ua2n -uan4i -uar5an1t -u2a2r -uara2n -uar2d -uar3i -uar3t -u1at -uav4 -ub4e -u4bel -u3ber -u4b2ero -u1b4i -u4b5ing -u3b4le. -ub2l2 -u3ca -uci4b -u1ci -u2c4it -ucle3 -u1c4l4 -u3cr -u3cu -u4cy -ud5d4 -ud3er -ud5est -udes2 -ude1v4 -u1dic -ud3ied -ud2ie4 -ud3ies -ud5is1 -u5dit -u4do2n -u1do -ud4si -u2d1s2 -u4du -u4ene -ue2n1s4 -uen4te -uen1t -uer4il -uer1i -3u1fa -u3f4l2 -ugh3e2n -ug5in -2ui2 -uil5iz -uil1i -ui4n -u1ing -uir4m -u4ir -ui1ta4 -u2iv3 -ui4v4er. -u5j -4uk -u1la -ula5b -u5lati -ul2ch4 -u4l1c2 -5ulche2 -ul3der -u2ld -ul2de -ul4e -u1len -ul4gi -u4l1g4 -ul2i -u5l2i1a -ul3ing -ul5is2h -ul4l2a2r -ul1l -ul4li4b -ull2i -ul4lis -4u2l3m -u1l4o -4u2l1s2 -uls5e4s -ul2se -ul1ti -u4lt -ul1tra3 -ul1tr -4ul1tu2 -u3lu -ul5ul -ul5v -u2m5ab -u1ma -um4bi -u4m1b -um4b1ly -umb2l2 -u1mi -u4m3ing -umor5o -u1mo -umo2r -u4m2p -un2at4 -u1na -u2ne -un4er -u1ni -un4im -u2n1in -un5is2h -un2i3v -u2n3s4 -un4sw2 -un2t3a4b -un1t -un1ta -un4ter. -un4tes -unu4 -un5y -u4n5z -u4o4rs2 -u5os -u1ou2 -u1pe -upe4r5s2 -u5p2i3a -up3ing -upi2n -u3p2l2 -u4p3p -upport5 -up1p4or -up2t5i2b -u2p1t -up1tu4 -u1ra -4ura. -u4rag -u4r2as -ur4be -ur1b -ur1c4 -ur1d -ure5a2t -ur4fer1 -ur1f -ur4fr -u3rif -uri4fic -uri1fi -ur1in -u3r2i1o -u1rit -ur3iz -ur2l -url5ing. -ur4no4 -uros4 -ur4pe -ur1p -ur4pi -urs5er -u4rs2 -ur2se -ur5tes -ur3th2e -ur1ti4 -ur4t2ie4 -u3ru -2us -u5sa2d -usa2 -u5sa2n -us4ap -usc2 -us3ci -use5a -u5s2i1a -u3sic -us4lin -us1l2 -us1p -us5s1l2 -u2ss -us5tere -us1t4r -u2su -usu2r4 -u2ta4b -u1ta -u3tat -4u4te. -4utel -4uten -uten4i -4u1t2i -uti5l2iz -util1i -u3t2ine -u2t1in -ut3ing -utio1n5a -u1t2io -utio2n -u4tis -5u5tiz -u4t1l -u2t5of -u1to -uto5g -uto5mat1ic -uto2ma -u5to2n -u4tou2 -u4t1s4 -u3u -uu4m -u1v2 -ux1u3 -u2z4e -1va -5va. -2v1a4b -vac5il -v4a2ci -vac3u -vag4 -va4ge -va5l2i4e4 -val1i -val5o -val1u -va5mo -va5niz -va2n -va5pi -var5ied -v2a2r -var1i -var2ie4 -3vat -4ve. -4ved -veg3 -v3el. -vel3l2i -vel1l -ve4lo -v4e1ly -ven3om -v4eno -v5enue -v4erd -5v2e2re. -v4erel -v3eren -ver5enc -v4eres -ver3ie4 -ver1i -vermi4n -ver3m4 -3ver2se -ve4r1s2 -ver3th -v4e2s -4ves. -ves4te -ve4te -vet3er -ve4ty -vi5al1i -v2i1a -vi2al -5vi2a2n -5vi2de. -v2id -5vi2d1ed -4v3i1den -5vide4s2 -5vi2di -v3if -vi5gn -v2ig -v4ik4 -2vil -5v2il1it -vil1i -v3i3l2iz -v1in -4vi4na -v2inc -v4in5d -4ving -vi1o3l -v2io -v3io4r -vi1ou2 -v2i4p -vi5ro -v4ir -vis3it -vi3so -vi3su -4vi1ti -vit3r -4vi1ty -3v2iv -5vo. -voi4 -3v2ok -vo4la -v5ole -5vo4l2t -3vol2v -vom5i -vo2r5ab -vo1ra -vori4 -vo4ry -vo4ta -4vo1tee -4vv4 -v4y -w5ab2l2 -2wac -wa5ger -wa2g5o -wait5 -wai2 -w5al. -wam4 -war4t -w2a2r -was4t -wa1te -wa5ver -w1b -wea5r2ie4 -we2a2r -wear1i -we4ath3 -wea2t -we4d4n4 -weet3 -wee5v -wel4l -w1er -west3 -w3ev -whi4 -wi2 -wil2 -wil2l5in4 -wil1l -will2i -win4de -w4ind -win4g -w4ir4 -3w4ise -w2ith3 -wiz5 -w4k -wl4es2 -wl3in -w4no -1wo2 -wom1 -wo5v4en -w5p -wra4 -wri4 -wri1ta4 -w3s2h -ws4l2 -ws4pe -w5s4t -4wt -wy4 -x1a -xac5e -x4a2go -xam3 -x4ap -xas5 -x3c2 -x1e -xe4cu1to -xe1cu -xe3c4ut -x2ed -xer4i -x2e5ro -x1h -xhi2 -xh4il5 -xhu4 -x3i -x2i5a -xi5c -xi5di -x2id -x4ime -xi5m2iz -xim1i -x3o -x4ob -x3p -xp4an4d -x1pa -xpa2n -xpec1to5 -xpe2c -xpe2c1t -x2p2e3d -x1t2 -x3ti -x1u -xu3a -xx4 -y5ac -3y2a2r4 -y5at -y1b -y1c -y2ce -yc5er -y3ch -ych4e2 -ycom4 -y1co -ycot4 -y1d -y5ee -y1er -y4er1f -yes4 -ye4t -y5gi -4y3h -y1i -y3la -ylla5b2l2 -yl1l -y3lo -y5lu -ymbol5 -y4m1b -yme4 -ym1pa3 -y4m1p -yn3c4hr4 -yn2ch -yn5d -yn5g -yn5ic -5ynx -y1o4 -yo5d -y4o5g -yom4 -yo5net -yo2n -y4o2n3s2 -y4os -y4p2ed -yper5 -yp3i -y3po -y4po4c -yp2ta -y2p1t -y5pu -yra5m -yr5i3a -y3ro -yr4r4 -ys4c -y3s2e -ys3i1ca -y1s3io -3y1sis -y4so -y2ss4 -ys1t -ys3ta -ysu2r4 -y1su -y3thin -yt3ic -y1w -za1 -z5a2b -z2a2r2 -4zb -2ze -ze4n -ze4p -z1er -z2e3ro -zet4 -2z1i -z4il -z4is -5zl -4zm -1zo -zo4m -zo5ol -zoo2 -zte4 -4z1z2 -z4zy -.as9s8o9c8i8a8te. -.as1so -.asso1ci -.asso3c2i1a -.as9s8o9c8i8a8t8es. -.de8c9l8i9n8a9t8i8on. -.de1c4l4 -.decl4i1na -.declin2at -.declina1t2io -.declinatio2n -.ob8l8i8g9a9t8o8ry. -.ob2l2 -.obl2ig -.obli1ga -.obliga1to -.obligato1ry -.ph8i8l9a8n9t8h8r8o8p8ic. -.ph4il2 -.phi1la -.phila2n -.philan1t -.philant4hr4 -.philanthrop3ic -.pr8e8s8e8nt. -.p3re1s2e -.presen1t -.pr8e8s8e8n8ts. -.presen4t4s2 -.pr8o8j8e8ct. -.pro5j -.pro1je -.proje2c1t -.pr8o8j8e8c8ts. -.projec4t1s2 -.re8c9i9p8r8o8c9i9t8y. -.re1c2i -.rec2ip -.recipr2 -.recipr2oc -.re1cipro1ci -.recipro2c1it -.reciproci1ty -.re9c8o8g9n8i9z8a8n8ce. -.re1co -.re2cog -.rec3ogniz -.recog1ni -.recogniza1 -.recogniza2n -.re8f9o8r9m8a9t8i8on. -.re1f -.re1fo -.refo2r -.refor1m -.refor1ma -.reforma1t2io -.reformatio2n -.re8t9r8i9b8u9t8i8on. -.re3tri -.retr4ib -.retri3bu1t2io -.retrib4u1t2i -.retributio2n -.ta9b8le. -.2tab -.tab2l2 -.ac8a8d9e9m8y. -.a1ca -.aca2d -.acad4em -.acade3my -.ac8a8d9e9m8i8e8s. -.academ2i4e4 -.ac9c8u9s8a9t8i8v8e. -.ac3c -.ac1c2us -.accusa2 -.accusa1t2iv -.ac8r8o9n8y8m. -.acro2n -.acronym4 -.ac8r8y8l9a8m8i8d8e. -.acry3la -.acrylam2id -.ac8r8y8l9a8m8i8d8e8s. -.acrylamide4s2 -.ac8r8y8l9a8l8d8e9h8y8d8e. -.acryla2ld -.acrylal2de -.acrylalde1h4 -.acrylaldehy1d -.ad8d9a9b8l8e. -.ad1d2a -.ad2d3a4b -.addab2l2 -.ad8d9i9b8l8e. -.addi1b2l2 -.ad8r8e8n9a9l8i8n8e. -.a1dr -.adre4 -.a5dren -.adre1na -.adrena4l1i -.adrena1l4ine -.ae8r8o9s8p8a8c8e. -.ae4r -.a2ero -.aero2s4pa -.aerospa4ce -.af9t8e8r9t8h8o8u8g8h8t. -.afterthou2 -.af9t8e8r9t8h8o8u8g8h8t8s. -.afterthough4t1s2 -.ag8r8o8n9o9m8i8s8t. -.a1gr -.ag4ro -.agro2n -.agronom2is -.ag8r8o8n9o9m8i8s8t8s. -.agronomis4t1s2 -.al9g8e9b8r8a9i9c8a8l9l8y. -.a4l1g4 -.alg2e1b -.alge3br -.algebr2ai2 -.algebrai1ca -.algebraical1l -.algebraical1ly -.am9p8h8e8t9a9m8i8n8e. -.a4m1p -.amphe4t -.amphe1ta -.amphetam1in -.amphetam2ine -.am9p8h8e8t9a9m8i8n8e8s. -.amphetami1nes -.an9a9l8y8s8e. -.3ana1ly -.a1na -.an4a2lys4 -.anal5y3s2e -.an9a9l8y8s8e8d. -.analy4s4ed -.an8a8l8y9s8e8s. -.analys1e4s -.an9i8s8o9t8r8o8p9i8c. -.ani2so -.anisotrop3ic -.an9i8s8o9t8r8o8p9i9c8a8l9l8y. -.anisotropi1ca -.anisotropical1l -.anisotropical1ly -.an9i8s8o8t9r8o9p8i8s8m. -.anisotropi2s1m -.an9i8s8o8t9r8o8p8y. -.anisotropy5 -.an8o8m9a8l8y. -.ano4 -.anoma5l -.ano1ma -.anoma1ly -.an8o8m9a8l8i8e8s. -.anomal1i -.anomal2i4e4 -.an8t8i9d8e8r8i8v9a9t8i8v8e. -.ant2id -.antider1i -.antider2i4v -.antide4ri1va -.antideri3vat -.antider2iva1t2iv -.an8t8i9d8e8r8i8v9a9t8i8v8e8s. -.antiderivativ4e2s -.an8t8i9h8o8l8o9m8o8r9p8h8i8c. -.anti3h -.antiholo1mo -.antiholomo2r -.antiholomor1p -.antiholomorp4h4 -.antiholomorph1ic -.an9t8i8n9o9m8y. -.an2t1in -.ant2i1no -.antino3my -.an9t8i8n9o9m8i8e8s. -.antinom2ie4 -.an9t8i9n8u9c8l8e8a8r. -.antin1u -.antinucle3 -.antinu1c4l4 -.antinucle2a -.antinucle2a2r -.an9t8i9n8u9c8l8e9o8n. -.antinucleo2n -.an9t8i9r8e8v9o9l8u9t8i8o8n9a8r8y. -.ant4ir -.antirev2 -.antirev5olu -.antirevo1lut -.antirevol4u1t2i -.antirevolutio1n5a -.antirevolu1t2io -.antirevolutio2n -.antirevolution2a2r -.ap8o8t8h9e9o9s8e8s. -.ap4ot -.ap4oth -.apoth2e -.apotheos4 -.apotheos1e4s -.ap8o8t8h9e9o9s8i8s. -.apotheo1sis -.ap9p8e8n9d8i8x. -.a4p1p -.ap2pe -.ap3pen -.ar9c8h8i9m8e9d8e8a8n. -.ar1c -.ar2ch -.archi2med -.archimedea2n -.ar9c8h8i9p8e8l9a8g8o. -.arch2i4p -.archipe4 -.archipe4la -.archipela2go -.ar9c8h8i9p8e8l9a9g8o8s. -.ar9c8h8i8v8e. -.arch2i2v -.ar9c8h8i8v8e8s. -.archiv4e2s -.ar9c8h8i8v9i8n8g. -.archiv1in -.archi4ving -.ar9c8h8i8v9i8s8t. -.ar9c8h8i8v9i8s8t8s. -.archivis4t1s2 -.ar9c8h8e9t8y8p9a8l. -.arche2 -.arche4t -.arche1ty -.archety1pa -.archetyp4al -.ar9c8h8e9t8y8p9i9c8a8l. -.archetyp3i -.archetypi1ca -.ar8c9t8a8n9g8e8n8t. -.ar2c1t -.arct5ang -.arc1ta -.arcta2n -.arctan1gen -.arctangen1t -.ar8c9t8a8n9g8e8n8t8s. -.arctangen4t4s2 -.as9s8i8g8n9a9b8l8e. -.as1si -.as4sig1n4a -.ass2ig -.assig2n1a2b -.assignab2l2 -.as9s8i8g8n9o8r. -.assig1no -.as9s8i8g8n9o8r8s. -.assigno4rs2 -.as9s8i8s8t9a8n8t9s8h8i8p. -.as1sis -.assis1ta -.assista2n -.assistan1t -.assistan4t4s2 -.assistants2h4 -.assistant3sh2i4p -.as9s8i8s8t9a8n8t9s8h8i8p8s. -.assistantshi2p1s2 -.as8y8m8p9t8o9m8a8t8i8c. -.as4y -.asy4m1p -.asym2p1t -.asymp1to -.asympto2ma -.asymptomat1ic -.as9y8m8p9t8o8t9i8c. -.as8y8n9c8h8r8o9n8o8u8s. -.asyn3c4hr4 -.asyn2ch -.asynchro2n -.asynchro1nou2 -.asynchrono2us -.at8h9e8r9o9s8c8l8e9r8o9s8i8s. -.4ath -.ath2e -.ath2ero -.atheros2c -.atheroscle5 -.atheros1c4l4 -.ath2eroscl4ero -.atherosclero1sis -.at9m8o8s9p8h8e8r8e. -.a4t1m -.at1mo -.atmos2 -.atmo3sp -.atmos2phe -.atmo3sph4er -.at9m8o8s9p8h8e8r8e8s. -.at9t8r8i8b9u8t8e8d. -.a4t3t2 -.attr4ib -.attribu2t1ed -.at9t8r8i8b9u8t9a8b8l8e. -.attri4bu1ta -.attribu2ta4b -.attributab2l2 -.au9t8o9m8a9t8i8o8n. -.au1to -.auto2ma -.automa1t2io -.automatio2n -.au9t8o8m9a9t8o8n. -.automa1to -.automato2n -.au9t8o8m9a9t8a. -.automa2ta -.au9t8o9n8u8m9b8e8r9i8n8g. -.au5to2n -.auton5um -.autonu4m1b -.autonumber1i -.autonumberin4g -.au9t8o8n9o9m8o8u8s. -.au4tono -.autono4mo -.autono3mo2us -.autonomou2 -.au8t8o9r8o8u8n8d9i8n8g. -.autorou2 -.autoroun2d -.autoround1in -.av9o8i8r9d8u9p8o8i8s. -.avoi4 -.avo4ir -.avoir1du -.avoir4dup -.avoirdupoi2 -.ba8n8d9l8e8a8d8e8r. -.b4and -.ban1dl -.bandle2a -.bandlea2d1 -.ba8n8d9l8e8a8d8e8r8s. -.bandleade4r5s2 -.ba8n8k9r8u8p8t. -.ba4nk2 -.bankru2p1t -.ba8n8k9r8u8p8t9c8y. -.bankrup4tc -.bankrupt1cy -.ba8n8k9r8u8p8t9c8i8e8s. -.bankrupt1ci -.bankruptc2ie4 -.ba8r9o8n8i8e8s. -.b2a2r -.ba5roni -.baro2n -.baron2ie4 -.ba8s8e9l8i8n8e9s8k8i8p. -.basel2i -.base1l4ine -.baseli1nes -.baselinesk2 -.baselinesk1i -.baselinesk2i4p -.ba9t8h8y8m9e9t8r8y. -.1bat -.b4ath -.bathyme4 -.bathym4etr -.bathyme3try -.ba8t8h8y9s8c8a8p8h8e. -.bathy2s -.bathys4c -.bathysca4p -.bathys1ca -.be8a8n9i8e8s. -.bea2n -.bea3nies -.bean2ie4 -.be9h8a8v9i8o8u8r. -.be1h4 -.behav1i -.behavi1ou2 -.behav2io -.behavi4our -.be9h8a8v9i8o8u8r8s. -.behaviou4rs2 -.be8v8i8e8s. -.be1vi -.bev2ie4 -.bi8b9l8i9o8g9r8a9p8h8y9s8t8y8l8e. -.bi2b -.bi1b2l2 -.bib3li -.bibli5og -.bibl2io -.biblio2gr -.biblio4g3ra1phy -.bibliography2s -.bibliographys1t -.bibliographys2ty -.bibliographys2tyl -.bi9d8i8f9f8e8r9e8n9t8i8a8l. -.b2i4d -.bi2di -.bid1if -.bidi4f1f -.bidiffer1 -.bidiffer3en1t -.bidifferent2i -.bidifferen1t2i1a -.bidifferenti2al -.bi8g9g8e8s8t. -.b2ig -.bi4g1g2 -.big2ge -.bi8l8l9a8b8l8e. -.1bil -.bill5ab -.bil1l -.billab2l2 -.bi8o9m8a8t8h9e9m8a8t9i8c8s. -.b2io -.bio4m -.bio1ma -.biom4ath3 -.biomath5em -.biomath2e -.biomathe1ma -.biomathemat1ic -.biomathemati4c3s2 -.bi8o9m8e8d9i9c8a8l. -.bio2me -.bio2med -.biom4edi -.biomed3i1ca -.bi8o9m8e8d9i9c8i8n8e. -.biomed2i1ci -.biomedi2cin -.biomedic2ine -.bi8o9r8h8y8t8h8m8s. -.biorh4 -.biorhyt4h1m -.biorhyth4m1s2 -.bi8t9m8a8p. -.bi2t -.bi4t1m -.bit1ma -.bit4map -.bi8t9m8a8p8s. -.bitma2p1s2 -.bl8a8n8d9e8r. -.b2l2 -.b3l4and -.bla2n -.blan1de -.bl8a8n8d9e8s8t. -.blande4s2 -.bl8i8n8d9e8r. -.bl4ind -.blin1de -.bl8o8n8d8e8s. -.b4lo -.blo2n -.bl2ond -.blon1de -.blondes2 -.bl8u8e9p8r8i8n8t. -.bluepr2 -.blueprin4t3 -.bl8u8e9p8r8i8n8t8s. -.blueprin4t4s2 -.bo9l8o8m9e9t8e8r. -.bolo2me -.bolo4met -.bolome1te -.bo8o8k9s8e8l8l9e8r. -.3boo2 -.bo2o4k -.boo4k1s2 -.booksel1l -.booksel2le -.bo8o8k9s8e8l8l9e8r8s. -.bookselle4r1s2 -.bo8o8l9e8a8n. -.boole2a -.boolea2n -.bo8o8l9e8a8n8s. -.boolea2n1s2 -.bo8r9n8o9l8o8g9i9c8a8l. -.borno4 -.borno3log1ic -.bornologi1ca -.bo8t9u9l8i8s8m. -.bo1tu -.botul2i -.botuli2s1m -.br8u8s8q8u8e8r. -.br2us -.brusqu2 -.brus3quer -.bu8f9f8e8r. -.buf4fer1 -.bu4f1f -.bu8f9f8e8r8s. -.buffe4r1s2 -.bu8s8i8e8r. -.bus5ie4 -.b2us -.bu8s8i8e8s8t. -.busi1est -.bu8s8s8i8n8g. -.bu2ss -.bus1si -.bus2s1in -.buss3ing -.bu8t8t8e8d. -.but2t1ed -.bu8z8z9w8o8r8d. -.bu4z1z2 -.buzz1wo2 -.bu8z8z9w8o8r8d8s. -.buzzwor2d1s2 -.ca9c8o8p8h9o9n8y. -.ca1co -.cac2oph -.cacopho5ny -.cacopho2n -.ca9c8o8p8h9o9n8i8e8s. -.caco5phoni -.cacophon2ie4 -.ca8l8l9e8r. -.cal1l -.cal2le -.ca8l8l9e8r8s. -.calle4r1s2 -.ca8m9e8r8a9m8e8n. -.cam5er1a -.camera1men -.ca8r8t9w8h8e8e8l. -.cartw4 -.ca8r8t9w8h8e8e8l8s. -.cartwhee2l1s2 -.ca9t8a8r8r8h8s. -.ca2ta -.cat2a2r -.catar1r4 -.catarrh4 -.catarr4h1s2 -.ca8t9a9s8t8r8o8p8h9i8c. -.catas1t4r -.catastr2oph -.catastroph1ic -.ca8t9a9s8t8r8o8p8h9i9c8a8l8l8y. -.catastrophi1ca -.catastrophical1l -.catastrophical1ly -.ca8t9e9n8o8i8d. -.cat4eno -.catenoi2 -.cateno2id -.ca8t9e9n8o8i8d8s. -.catenoi2d1s2 -.ca8u9l8i9f8l8o8w9e8r. -.cau4l2 -.caul2i -.cauli4f4l2 -.cauliflow1er -.ch8a8p9a8r9r8a8l. -.chap2a2r4 -.cha1pa -.chapar1r4 -.ch8a8r9t8r8e8u8s8e. -.ch2a2r -.chartr4eu2 -.chartre2us4 -.ch8e8m8o9t8h8e8r9a8p8y. -.che2 -.che1mo -.chem4oth3 -.chemoth2e -.chemoth4er1a -.chemothera3p -.ch8e8m8o9t8h8e8r9a9p8i8e8s. -.chemotherap2ie4 -.ch8l8o8r8o9m8e8t8h9a8n8e. -.c4h1l4 -.ch2lo -.chloro2me -.chloro4met -.chlorometha2n4 -.ch8l8o8r8o9m8e8t8h9a8n8e8s. -.chlorometha1nes -.ch8o9l8e8s9t8e8r8i8c. -.3cho2 -.c3hol4e -.choles2 -.choles1ter1i -.ci8g9a9r8e8t8t8e. -.c2ig -.ci1ga -.cig2a2r -.cigare4t3t2 -.ci8g9a9r8e8t8t8e8s. -.cigaret4tes -.ci8n8q8u8e9f8o8i8l. -.2cin -.cin1q -.cinqu2 -.cinque1f -.cinque1fo -.cinquefoi2 -.co9a8s8s8o9c8i8a9t8i8v8e. -.c4oa -.coa2ss -.coas1so -.coasso1ci -.coasso3c2i1a -.coassoci4a1t2iv -.co9g8n8a8c. -.2cog -.cog1n4a -.co9g8n8a8c8s. -.cogna4c3s2 -.co9k8e8r9n8e8l. -.c2ok -.cok1er -.coker3nel -.co9k8e8r9n8e8l8s. -.cokerne2l1s2 -.co8l9l8i8n9e8a9t8i8o8n. -.col1l -.coll2i -.col2lin4 -.col1l4ine -.collin3ea -.collinea2t -.collinea1t2io -.collineatio2n -.co8l9u8m8n8s. -.colu4m1n -.colum2n1s2 -.co8m9p8a8r9a8n8d. -.co4m1p -.compara5 -.com1pa -.comp2a2r -.compara2n -.compar4and -.co8m9p8a8r9a8n8d8s. -.comparan2d1s2 -.co8m9p8e8n9d8i8u8m. -.compendi1u -.co8m9p8o9n8e8n8t9w8i8s8e. -.compo2n -.compo3nen -.componen1t -.componentw4 -.componentwis4 -.componentwi2 -.component3w4ise -.co8m8p9t8r8o8l9l8e8r. -.comp4tr -.com2p1t -.comptrol1l -.comptrol2le -.co8m8p9t8r8o8l9l8e8r8s. -.comptrolle4r1s2 -.co8n9f8o8r8m9a8b8l8e. -.co2n -.con3f -.con1fo -.confo2r -.confor1m -.confor1ma -.confor2mab -.conformab2l2 -.co8n9f8o8r8m9i8s8t. -.confor2mi -.conform2is -.co8n9f8o8r8m9i8s8t8s. -.conformis4t1s2 -.co8n9f8o8r8m9i8t8y. -.confor3mit -.conformi1ty -.co8n9g8r8e8s8s. -.con3g -.con1gr -.congr2e2ss -.co8n9g8r8e8s8s8e8s. -.congress1e4s -.co8n9t8r8i8b9u8t8e. -.con5t -.contr4ib -.co8n9t8r8i8b9u8t8e8s. -.co8n9t8r8i8b9u8t8e8d. -.contribu2t1ed -.co9r8e9l8a9t8i8o8n. -.core1la -.corela1t2io -.corelatio2n -.co9r8e9l8a9t8i8o8n8s. -.corelatio2n3s2 -.co9r8e9l8i9g8i8o8n9i8s8t. -.core1l2i -.corel2ig -.corel4igi -.coreli5g2io -.coreligion3i -.coreligio2n -.coreligion1is -.co9r8e9l8i9g8i8o8n9i8s8t8s. -.coreligionis4t1s2 -.co9r8e9o8p9s8i8s. -.core1o -.coreo2p1s2 -.coreop1sis -.co9r8e9s8p8o8n9d8e8n8t. -.core1sp -.cores4po2n -.coresp2ond -.corespon1de -.corespon1den -.coresponden1t -.co9r8e9s8p8o8n9d8e8n8t8s. -.coresponden4t4s2 -.co9s8e9c8a8n8t. -.cos4e -.cose1ca -.coseca2n -.cosecan1t -.co9t8a8n9g8e8n8t. -.co4ta2n -.co1ta -.cot2ang -.cotan1gen -.cotangen1t -.co8u8r9s8e8s. -.cou2 -.cou4rs2 -.cour2se -.cours3e4s -.co9w8o8r8k9e8r. -.co4wo2 -.cowork1er -.co9w8o8r8k9e8r8s. -.coworke4r1s2 -.cr8a8n8k9c8a8s8e. -.cra2n -.cra4nk2 -.crank1ca -.cr8a8n8k9s8h8a8f8t. -.cran4k1s2 -.cranks2h -.cranksha2f -.cranksha2ft -.cr8o8c9o9d8i8l8e. -.cr2oc -.cro4cod -.cro1co -.cr8o8c9o9d8i8l8e8s. -.crocodiles2 -.cr8o8s8s9h8a8t8c8h. -.cro2s4s -.cross2h -.crossha4tc -.crosshat4ch -.cr8o8s8s9h8a8t8c8h8e8d. -.crosshatche2 -.crosshat4ch4ed -.cr8o8s8s9o8v8e8r. -.cros1so -.cros4sov -.cr8y8p9t8o9g8r8a8m. -.cry2p1t -.cryp1to -.crypto2gr -.cr8y8p9t8o9g8r8a8m8s. -.cryptogra4m1s2 -.cu8f8f9l8i8n8k. -.c4uf -.cu4f1f -.cuff4l2 -.cufflin4 -.cuffl4i4nk2 -.cu8f8f9l8i8n8k8s. -.cufflin4k1s2 -.cu9n8e8i9f8o8r8m. -.3cun -.cu2ne -.cunei2 -.cunei1fo -.cuneifo2r -.cuneifor1m -.cu8s9t8o8m9i8z9a9b8l8e. -.1c2us -.cus1to -.custom2iz -.customiza1 -.customiz5a2b -.customizab2l2 -.cu8s9t8o8m9i8z8e. -.customi2ze -.cu8s9t8o8m9i8z8e8s. -.cu8s9t8o8m9i8z8e8d. -.da8c8h8s9h8u8n8d. -.1d2a -.da2ch4 -.dac4h1s2 -.dach4s2h -.da8m9s8e8l9f8l8y. -.da2m2 -.da4m1s2 -.dam5se2l2f -.damself4l2 -.damself2ly5 -.da8m9s8e8l9f8l8i8e8s. -.damselfl2ie4 -.da8c8t8y8l9o9g8r8a8m. -.da2c1t -.dac1ty -.dac2tyl -.dacty3lo -.dactylo1gr -.da8c8t8y8l9o9g8r8a8p8h. -.da8t8a9b8a8s8e. -.3dat -.da2ta -.da2tab -.da8t8a9b8a8s8e8s. -.databas1e4s -.da8t8a9p8a8t8h. -.dat5ap -.datap5at -.data1pa -.datap4ath -.da8t8a9p8a8t8h8s. -.datapa2t4h1s2 -.da8t8e9s8t8a8m8p. -.dat3est -.dates1ta -.datesta4m1p -.da8t8e9s8t8a8m8p8s. -.datestam2p1s2 -.de9c8l8a8r9a8b8l8e. -.de4cl2a2r -.decla2rab -.declarab2l2 -.de9f8i8n9i9t8i8v8e. -.de1f -.de1fi -.de2fin -.def2ini -.defin2it -.defini1ti -.defini1t2iv -.de9l8e8c9t8a9b8l8e. -.d5elec -.dele2c1t -.delec2ta4b -.delec1ta -.delectab2l2 -.de8m8i9s8e8m8i9q8u8a9v8e8r. -.de4m2is -.dem4ise -.demisemi3qua -.demisemiqu2 -.demisemiqua5v4 -.de8m8i9s8e8m8i9q8u8a9v8e8r8s. -.demisemiquave4r1s2 -.de9m8o8c9r8a9t8i8s8m. -.de4mocr -.democrati2s4m -.de8m8o8s. -.demos2 -.de9r8i8v9a9t8i8v8e. -.der2i4v -.de4ri1va -.deri3vat -.der2iva1t2iv -.de9r8i8v9a9t8i8v8e8s. -.derivativ4e2s -.di8a9l8e8c9t8i8c. -.1d4i3a -.di2al -.di2ale -.diale2c1t -.di8a9l8e8c9t8i8c8s. -.dialecti4c3s2 -.di8a9l8e8c9t8i9c8i8a8n. -.dialect2i1ci -.d2i1alecti3c2i1a -.dialectici2a2n -.di8a9l8e8c9t8i9c8i8a8n8s. -.dialecticia2n1s2 -.di9c8h8l8o8r8o9m8e8t8h9a8n8e. -.d4i2ch -.dic4h1l4 -.dich2lo -.dichloro2me -.dichloro4met -.dichlorometha2n4 -.di8f9f8r8a8c8t. -.d1if -.dif4fr -.di4f1f -.diffra2c1t -.di8f9f8r8a8c8t8s. -.diffrac4t1s2 -.di8f9f8r8a8c9t8i8o8n. -.diffrac1t2io -.diffractio2n -.di8f9f8r8a8c9t8i8o8n8s. -.diffractio2n3s2 -.di8r8e8r. -.d4ir2 -.di1re -.dir1er4 -.di8r8e9n8e8s8s. -.dire1nes -.diren2e2ss -.di8s9p8a8r9a8n8d. -.dis1 -.dis1p -.di2s1pa -.disp2a2r -.dispara2n -.dispar4and -.di8s9p8a8r9a8n8d8s. -.disparan2d1s2 -.di8s9t8r8a8u8g8h8t9l8y. -.d4is3t -.dist4r -.dis1tra -.distraugh3 -.distraugh2tl -.distraught1ly -.di8s9t8r8i8b9u8t8e. -.distr4ib -.di8s9t8r8i8b9u8t8e8s. -.di8s9t8r8i8b9u8t8e8d. -.distribu2t1ed -.do8u9b8l8e9s8p8a8c8e. -.dou2 -.dou3b2l2 -.dou5ble1sp -.doubles2 -.double2s1pa -.doublespa4ce -.do8u9b8l8e9s8p8a8c9i8n8g. -.doublesp4a2ci -.doublespa2c1in -.doublespac1ing -.do8l8l9i8s8h. -.dol1l -.doll2i -.dollis2h -.dr8i8f8t9a8g8e. -.1dr -.dr4i2ft -.drif1ta -.dr8i8v9e8r8s. -.dr2iv -.drive4r1s2 -.dr8o8m9e9d8a8r8y. -.dro2me -.dro2med -.drom2e2d2a -.drome4dary -.dromed2a2r -.dr8o8m9e9d8a8r8i8e8s. -.dromedar1i -.dromedar2ie4 -.du9o8p9o9l8i8s8t. -.duopol2i -.du9o8p9o9l8i8s8t8s. -.duopolis4t1s2 -.du9o8p9o8l8y. -.duopo2ly -.dy8s9l8e8x8i8a. -.d2y -.dys1l2 -.dys2le -.dyslex3i -.dyslex2i5a -.dy8s9l8e8c9t8i8c. -.dysle2c1t -.ea8s8t9e8n8d9e8r8s. -.east3 -.eas3ten -.eas3tend -.easten1de -.eastende4r5s2 -.ec8o9n8o8m9i8c8s. -.e1co -.eco2n -.eco3nomic -.economi4c3s2 -.ec8o8n9o9m8i8s8t. -.econom2is -.ec8o8n9o9m8i8s8t8s. -.economis4t1s2 -.ei9g8e8n9c8l8a8s8s. -.ei2 -.e2ig2 -.ei1gen -.eigen1c4l4 -.eigencla2ss -.ei9g8e8n9c8l8a8s8s8e8s. -.eigenclass1e4s -.ei9g8e8n9v8a8l9u8e. -.eigen1v2 -.eigen1va -.eigenval1u -.ei9g8e8n9v8a8l9u8e8s. -.el8e8c8t8r8o9m8e8c8h8a8n9i9c8a8l. -.5elec -.ele2c1t -.electro2me -.electrome2ch -.electrome5cha4n1ic -.electromecha2n -.electromechani1ca -.el8e8c8t8r8o9m8e8c8h8a8n8o9a8c8o8u8s8t8i8c. -.electromechano4 -.electromechan4oa -.electromechanoa1co -.electromechanoacou2 -.electromechanoaco2us -.electromechanoacoust2i -.electromechanoacous1tic -.el8i8t9i8s8t. -.el2i -.el1it -.eli1ti -.el4itis -.el8i8t9i8s8t8s. -.elitis4t1s2 -.en9t8r8e9p8r8e9n8e8u8r. -.en1t -.entrepr2 -.entrepren4eu -.en9t8r8e9p8r8e9n8e8u8r9i8a8l. -.entrepreneur2i3a -.entrepreneuri2al -.ep9i9n8e8p8h9r8i8n8e. -.epi2n -.ep2ine -.epinep4hr4 -.ep2inephr2in4e -.eq8u8i9v8a8r8i9a8n8t. -.equ2iv3 -.equi1va -.equiv2a2r -.equivar1i -.equivar3i2a2n -.equivar2i3a -.equivar4ian4t -.eq8u8i9v8a8r8i9a8n8c8e. -.equivar4ianc -.et8h9a8n8e. -.etha2n4 -.et8h9y8l9e8n8e. -.ev8e8r9s8i9b8l8e. -.ev1er -.eve4r1s2 -.ever1si -.ever4si4b -.eversi1b2l2 -.ev8e8r8t. -.ev8e8r8t8s. -.ever4t1s2 -.ev8e8r8t9e8d. -.ever2t1ed -.ev8e8r8t9i8n8g. -.ever1ti -.ever2t1in -.ex9q8u8i8s9i8t8e. -.exqu2 -.exq2ui2 -.exquis2ite -.ex9t8r8a9o8r9d8i9n8a8r8y. -.ex1t2 -.ex1tra -.extr4ao -.extraord2i -.extraord1in4 -.extraor1di1na -.extraordin2a2r -.fa8l8l9i8n8g. -.1fa -.fal1l -.fall2i -.fal2lin4 -.fe8r8m8i9o8n8s. -.fer1 -.fer3m4 -.fer4m2io -.fermio2n -.fermio2n3s2 -.fi9n8i8t8e9l8y. -.1fi -.2fin -.f2ini -.fin2it -.fin2ite -.finite1ly -.fl8a9g8e8l9l8u8m. -.f4l2 -.flag5el1l -.fl8a9g8e8l9l8a. -.flag4ella -.fl8a8m9m8a9b8l8e8s. -.flam1m -.flam1ma -.flam2mab -.flammab2l2 -.flammables2 -.fl8e8d8g9l8i8n8g. -.fledgl2 -.fl8o8w9c8h8a8r8t. -.flow2ch -.flowch2a2r -.fl8o8w9c8h8a8r8t8s. -.flowchar4t1s2 -.fl8u8o8r8o9c8a8r9b8o8n. -.flu3o -.fluo3r -.fluor2oc -.fluoro1ca -.fluoroc2a2r -.fluorocar1b -.fluorocarb4o -.fluorocarbo2n -.fo8r9m8i9d8a9b8l8e. -.for2mi -.formi1d4a -.form2id -.formi2d3a4b -.formidab2l2 -.fo8r9m8i9d8a9b8l8y. -.formidab1ly -.fo8r9s8y8t8h9i8a. -.fo4rs2 -.fors4y -.forsyth2i1a -.fo8r8t8h9r8i8g8h8t. -.fort4hr4 -.forthr2ig -.fr8e8e9l8o8a8d8e8r. -.freel4oa -.freeloa2d3 -.fr8e8e9l8o8a8d8e8r8s. -.freeloade4r5s2 -.fr8i8e8n8d9l8i8e8r. -.fri2 -.fr2ie4 -.friendl2ie4 -.fr8i9v8o8l9i8t8y. -.fr2iv -.frivol2i -.frivol1it -.frivoli1ty -.fr8i9v8o8l9i9t8i8e8s. -.frivoli1ti -.frivolit2ie4 -.fr8i8v9o9l8o8u8s. -.frivolou2 -.frivolo2us -.ga9l8a8c9t8i8c. -.gala2c1t -.ga8l9a8x8y. -.ga8l9a8x9i8e8s. -.galax3i -.galax2ie4 -.ga8s9o8m9e9t8e8r. -.ga1so -.ga3som -.gaso2me -.gaso4met -.gasome1te -.ge9o9d8e8s9i8c. -.geodes2 -.geode1si -.geode2sic -.ge9o9d8e8t9i8c. -.geode1t -.geodet1ic -.ge8o9m8e8t9r8i8c. -.ge3om -.geo2me -.geo4met -.geom4etr -.geo5met3ric -.ge8o9m8e8t9r8i8c8s. -.geome4tri4c3s2 -.ge9o9s8t8r8o8p8h8i8c. -.geos4 -.geost4r -.geostr2oph -.geostroph1ic -.ge8o9t8h8e8r9m8a8l. -.ge4ot -.ge4oth -.geoth2e -.geother3m4 -.geother1ma -.ge9o8t9r8o9p8i8s8m. -.geotropi2s1m -.gn8o9m8o8n. -.g1no -.gno4mo -.gno4mo2n -.gn8o9m8o8n8s. -.gnomo2n3s2 -.gr8a8n8d9u8n8c8l8e. -.1gr -.gra2n2 -.gr4and -.gran1du -.grandu4n -.grandun1c4l4 -.gr8a8n8d9u8n8c8l8e8s. -.granduncles2 -.gr8i8e8v9a8n8c8e. -.gr2ie4 -.grie1va -.grieva2n -.gr8i8e8v9a8n8c8e8s. -.gr8i8e8v9o8u8s. -.grievou2 -.grievo2us -.gr8i8e8v9o8u8s9l8y. -.grievous1l2 -.grievous1ly -.ha8i8r9s8t8y8l8e. -.hai2 -.ha4ir -.hai4rs2 -.hairs2ty -.hairs2tyl -.ha8i8r9s8t8y8l8e8s. -.hairstyles2 -.ha8i8r9s8t8y8l9i8s8t. -.ha8i8r9s8t8y8l9i8s8t8s. -.hairstylis4t1s2 -.ha8l8f9s8p8a8c8e. -.ha2lf -.hal2f3s -.half2s1pa -.halfspa4ce -.ha8l8f9s8p8a8c8e8s. -.ha8l8f9w8a8y. -.ha8r9b8i8n9g8e8r. -.h2a2r -.har1b -.harbi2 -.har2bin -.harb4inge -.ha8r9b8i8n9g8e8r8s. -.harbinge4r1s2 -.ha8r9l8e9q8u8i8n. -.har4le4 -.har1l -.harle1q -.harlequ2 -.harleq2ui2 -.harlequi4n -.ha8r9l8e9q8u8i8n8s. -.harlequ2i2n1s2 -.ha8t8c8h9e8r8i8e8s. -.ha4tc -.hat4ch -.hatche2 -.hatcher1i -.hatcher2ie4 -.he8m8i9d8e8m8i9s8e8m8i9q8u8a9v8e8r. -.hem2id -.hemid4em -.hemide4m2is -.hemidem4ise -.hemidemisemi3qua -.hemidemisemiqu2 -.hemidemisemiqua5v4 -.he8m8i9d8e8m8i9s8e8m8i9q8u8a9v8e8r8s. -.hemidemisemiquave4r1s2 -.he9m8o9g8l8o9b8i8n. -.hemo4g -.he1mo -.hemo4gl2 -.hemo3glo -.hemoglo1bi -.hemoglo2bin -.he9m8o9p8h8i8l9i8a. -.hem2oph -.hemoph4il2 -.hemophil1i -.hemophil3i1a -.he9m8o9p8h8i8l9i8a8c. -.he9m8o9p8h8i8l9i8a8c8s. -.hemophilia4c3s2 -.he8m8o9r8h8e9o8l9o8g8y. -.hemo2r -.hemorh4 -.hemorhe3ol -.hemorheol1o1gy -.he9p8a8t9i8c. -.hep5 -.he2pa -.hepat1ic -.he8r9m8a8p8h9r8o9d8i8t8e. -.her3m4 -.her1ma -.her4map -.hermap4hr4 -.hermaphrod2ite -.he8r9m8a8p8h9r8o9d8i8t9i8c. -.hermaphrod2i1ti -.hermaphrod4i2tic -.he9r8o8e8s. -.hero4e -.he8x8a9d8e8c9i9m8a8l. -.hex1a -.hexa2d -.hexade1c2i -.hexade2c3im -.hexadeci1ma -.ho9l8o9n8o9m8y. -.holo2n -.holon3o3my -.ho9m8e8o9m8o8r9p8h8i8c. -.ho2me3 -.homeo1mo -.homeomo2r -.homeomor1p -.homeomorp4h4 -.homeomorph1ic -.ho9m8e8o9m8o8r9p8h8i8s8m. -.homeomorphi2s1m -.ho9m8o9t8h8e8t8i8c. -.ho1mo -.hom4oth3 -.homoth2e -.homo3the4t -.homothet1ic -.ho8r8s8e9r8a8d9i8s8h. -.hor4se -.ho4rs2 -.horser1a -.horsera2d -.horser2adi -.horseradis1 -.horseradis2h -.ho8t9b8e8d. -.ho2t1b -.hot4be2d -.ho8t9b8e8d8s. -.hotbe2d1s2 -.hy9d8r8o9t8h8e8r9m8a8l. -.hy1d -.hy1dr -.hydro4th2e -.hydr4oth -.hydrother3m4 -.hydrother1ma -.hy9p8o9t8h8a8l9a9m8u8s. -.hy3po -.hyp4ot -.hyp4oth -.hypotha3la -.hypothala3m -.hypothala1mu -.hypothalam2us -.id8e8a8l8s. -.ide3a4l -.idea2l1s2 -.id8e8o9g8r8a8p8h8s. -.ideo2g -.ideo1gr -.ideogra4p4h1s2 -.id8i8o9s8y8n9c8r8a8s8y. -.i2di -.i1d3io -.idi4os -.idios4y -.idiosyn1cr -.idiosyncr2as -.idiosyncras4y -.id8i8o9s8y8n9c8r8a9s8i8e8s. -.idiosyncras2ie4 -.id8i8o9s8y8n9c8r8a8t8i8c. -.idiosyn5crat1ic -.id8i8o9s8y8n9c8r8a8t9i9c8a8l9l8y. -.idiosyncrati1ca -.idiosyncratical1l -.idiosyncratical1ly -.ig9n8i8t9e8r. -.2ig -.ig1ni -.ign2it -.ign2ite -.ig9n8i8t9e8r8s. -.ignite4r1s2 -.ig9n8i9t8o8r. -.ign3itor -.igni1to -.ig8n8o8r8e9s8p8a8c8e8s. -.ig1no -.ignore1sp -.ignore2s1pa -.ignorespa4ce -.im9p8e8d9a8n8c8e. -.im2p2ed -.imp2e2d2a -.impeda2n -.im9p8e8d9a8n8c8e8s. -.in9d8u9b8i9t8a9b8l8e. -.4ind -.in1du -.indu1b4i -.indubi2t -.indubi1ta -.indubi2tab -.indubitab2l2 -.in9f8i8n9i8t8e9l8y. -.in3f -.in1fi -.in2fin -.inf2ini -.infin2it -.infin2ite -.infinite1ly -.in9f8i8n9i9t8e8s9i9m8a8l. -.infinit4es -.infinite1si -.infinite2s5im -.infinitesi1ma -.in9f8r8a9s8t8r8u8c9t8u8r8e. -.infr2as -.infras1t4r -.infrastru2c1t -.infrastructu4r -.infrastruc1tu -.infrastruc3ture -.in9f8r8a9s8t8r8u8c9t8u8r8e8s. -.in9s8t8a8l8l9e8r. -.ins2ta2l -.ins1ta -.instal1l -.instal2le -.in9s8t8a8l8l9e8r8s. -.installe4r1s2 -.in9t8e8r9d8i8s9c8i9p8l8i9n8a8r8y. -.in1t -.in5ter3d -.interd2i -.interdis1 -.interd2is1c -.interdis1ci -.interdisc2ip -.interdisci1p2l2 -.interdiscipli4n -.interdiscipl4i1na -.interdisciplin2a2r -.in9t8e8r9g8a9l8a8c9t8i8c. -.interg2 -.inter1ga -.intergala2c1t -.in9u8t8i8l8e. -.in1u -.in4u1t2i -.in9u8t8i8l9i9t8y. -.inutil1i -.inut2il1it -.inutili1ty -.ir9r8e9d8u8c9i8b8l8e. -.ir2r2ed -.irre1du -.irredu2c -.irreduci4b -.irredu1ci -.irreduci1b2l2 -.ir9r8e9d8u8c9i8b8l8y. -.irreducib1ly -.ir9r8e8v9o9c8a9b8l8e. -.irrev2 -.irre5voc -.irrevo1ca -.irrevoca1b2l2 -.is8o8t9r8o8p8y. -.i2so -.isotropy5 -.is8o9t8r8o8p9i8c. -.isotrop3ic -.it8i8n9e8r9a8r8y. -.i1ti -.i2t1in -.it2ine -.itin4er4a2r -.itin1er -.itiner1a -.it8i8n9e8r9a8r9i8e8s. -.itinerar1i -.itinerar2ie4 -.je9r8e9m8i9a8d8s. -.1je -.jerem2i3a -.jeremia2d -.jeremia2d1s2 -.ke8y9n8o8t8e. -.ke8y9n8o8t8e8s. -.keyno4tes -.ke8y9s8t8r8o8k8e. -.keys4 -.keys1t -.keyst4r -.keystr2ok2 -.ke8y9s8t8r8o8k8e8s. -.keystrokes4 -.ki8l8n9i8n8g. -.k1i -.k4i2l1n2 -.kiln1in -.kilnin4g -.la8c9i9e8s8t. -.l4a2ci4 -.la3c2ie4 -.laci1est -.la8m9e8n9t8a9b8l8e. -.la1men -.la3men1t -.lamen2ta4b -.lamen1ta -.lamentab2l2 -.la8n8d9s8c8a8p9e8r. -.3l4and -.la2n -.lan2d1s2 -.landsca4p -.lands1ca -.landsca5per -.la8n8d9s8c8a8p9e8r8s. -.landscape4r1s2 -.la8r9c8e9n8y. -.l2a2r -.lar1c -.lar2ce -.lar1cen4 -.la8r9c8e9n9i8s8t. -.lar4ceni -.le8a8f9h8o8p9p8e8r. -.le2a -.lea2f -.lea4fh -.leafho4p1p -.leafhop2pe -.leafhop3per -.le8a8f9h8o8p9p8e8r8s. -.leafhoppe4r1s2 -.le8t9t8e8r9s8p8a8c9i8n8g. -.le4t3t2 -.lette4r1s2 -.letter1sp -.letter2s1pa -.lettersp4a2ci -.letterspa2c1in -.letterspac1ing -.li8f8e9s8p8a8n. -.life1sp -.life2s1pa -.lifespa4n -.li8f8e9s8p8a8n8s. -.lifespa2n1s2 -.li8f8e9s8t8y8l8e. -.lifes2ty -.lifes2tyl -.li8f8e9s8t8y8l8e8s. -.lifestyles2 -.li8g8h8t9w8e8i8g8h8t. -.3ligh -.lightw4 -.lightwei2 -.l2ightwe2ig2 -.li8m9o8u9s8i8n8e8s. -.li4mo -.li3mo2us -.limou2 -.limou2s1in -.limous2ine -.limousi1nes -.li8n8e9b8a8c8k8e8r. -.1l4ine -.lin2e2b -.lineback1 -.lineback1er -.li8n8e9s8p8a8c8i8n8g. -.li1nes -.li4ne1sp -.line2s1pa -.linesp4a2ci -.linespa2c1in -.linespac1ing -.li9o8n9e8s8s. -.lio2n -.lio1nes -.lion2e2ss -.li8t8h9o9g8r8a8p8h8e8d. -.l2ith -.litho4g -.litho1gr -.lithograph4ed -.li8t8h9o9g8r8a8p8h8s. -.lithogra4p4h1s2 -.lo9b8o8t9o8m8y. -.lobo4to -.loboto3my -.lo9b8o8t9o8m9i8z8e. -.lobotom2iz -.lobotomi2ze -.lo8g8e8s. -.lo1ge -.lo8n8g9e8s8t. -.5long -.lo2n -.lo9q8u8a8c9i8t8y. -.lo1q -.loqu2 -.loquac4 -.loqu4a2ci -.loqua2c1it -.loquaci1ty -.lo8v8e9s8t8r8u8c8k. -.4lov -.lov4e2s -.lov2est4r -.lovestruc5 -.lovestruck1 -.ma8c8r8o9e8c8o9n8o8m8i8c8s. -.macro4e -.macroe1co -.macroeco2n -.macroeco3nomic -.macroeconomi4c3s2 -.ma8l9a9p8r8o8p9i8s8m. -.malapr2 -.malapropi2s1m -.ma8l9a9p8r8o8p9i8s8m8s. -.malaprop4is4m1s2 -.ma8n9s8l8a8u8g8h9t8e8r. -.ma2n1s2 -.man2s1l2 -.manslaugh3 -.ma8n9u9s8c8r8i8p8t. -.man2us -.manusc2 -.manuscri2 -.manuscr2ip -.manuscri2p1t -.ma8r9g8i8n9a8l. -.marg2 -.margi4n -.margi1na -.ma8t8h9e9m8a9t8i9c8i8a8n. -.m4ath3 -.math5em -.math2e -.1mathe1ma -.mathemat1ic -.mathemat2i1ci -.mathemati3c2i1a -.mathematici2a2n -.ma8t8h9e9m8a9t8i9c8i8a8n8s. -.mathematicia2n1s2 -.ma8t8t8e8s. -.mat5te -.ma4t3t2 -.mat4tes -.me8d9i8c9a8i8d. -.2med -.m4edi -.med3i1ca -.medicai2 -.medica2id -.me8d8i9o8c8r8e. -.me1d2io -.mediocre3 -.me8d8i9o8c9r8i9t8i8e8s. -.medi5ocrit -.mediocri2 -.medio5cri1ti -.mediocrit2ie4 -.me8g8a9l8i8t8h. -.me2g -.m4egal -.me1ga -.me3gal1i -.megal1it -.megal2ith -.me8g8a9l8i8t8h8s. -.megali2t4h1s2 -.me8t8a9b8o8l9i8c. -.me4ta -.me2ta4b -.metabol3ic -.metabol2i -.me9t8a8b9o9l8i8s8m. -.metaboli2s1m -.me9t8a8b9o9l8i8s8m8s. -.metabol4is4m1s2 -.me9t8a8b9o9l8i8t8e. -.metabo5l2ite -.metabol1it -.me9t8a8b9o9l8i8t8e8s. -.metabolit4es -.me8t8a9l8a8n9g8u8a8g8e. -.met3a2l -.meta5la -.metala2n -.metal2ang -.metalan1gu -.metalangu4a -.me8t8a9l8a8n9g8u8a8g8e8s. -.me8t8a9p8h8o8r9i8c. -.metapho4r -.me8t8h9a8n8e. -.metha2n4 -.me9t8r8o8p9o9l8i8s. -.m4etr -.metropol2i -.me9t8r8o8p9o9l8i8s8e8s. -.metropol4ise -.metropolis1e4s -.me8t9r8o9p8o8l9i9t8a8n. -.metropol1it -.metropoli3ta2n -.metropoli1ta -.me8t9r8o9p8o8l9i9t8a8n8s. -.metropolita2n1s2 -.mi8c8r8o9e8c8o9n8o8m8i8c8s. -.m4i1cr -.micro4e -.microe1co -.microeco2n -.microeco3nomic -.microeconomi4c3s2 -.mi9c8r8o9f8i8c8h8e. -.micro2fi -.microf4i2ch -.microfiche2 -.mi9c8r8o9f8i8c8h8e8s. -.microfich1es -.mi8c8r8o9o8r8g8a8n9i8s8m. -.microo2 -.microorg2 -.microor1ga -.microorgan5is -.microorga2n -.microorgani2s1m -.mi8c8r8o9o8r8g8a8n9i8s8m8s. -.microorgan4is4m1s2 -.mi8l8l9a8g8e. -.m4il1l -.mi8l9l8i9l8i8t8e8r. -.mill2i -.mil4l4i4l -.millil1i -.mill2il1it -.millil2ite -.mi8m8e8o9g8r8a8p8h8e8d. -.mimeo2g -.mimeo1gr -.mimeograph4ed -.mi8m8e8o9g8r8a8p8h8s. -.mimeogra4p4h1s2 -.mi8m9i8c9r8i8e8s. -.mim1i -.mim4i1cr -.mimicri2 -.mimicr2ie4 -.mi8n9i8s. -.m2ini -.min1is -.mi8n8i9s8y8m9p8o9s8i8u8m. -.minis4y -.minisy4m1p -.minisym1pos -.minisympo5si4u -.mi8n8i9s8y8m9p8o9s8i8a. -.minisympos2i1a -.mi9n8u8t9e8r. -.m4in1u -.mi9n8u8t9e8s8t. -.mi8s9c8h8i8e9v8o8u8s9l8y. -.m2is1c -.mis3ch2 -.misch2ie4 -.mischievou2 -.mischievo2us -.mischievous1l2 -.mischievous1ly -.mi9s8e8r8s. -.m4ise -.mis3er -.mise4r1s2 -.mi9s8o8g9a9m8y. -.mi2so -.miso1ga -.miso2gam -.mo8d9e8l9l8i8n8g. -.mo2d1 -.model1l -.modell2i -.model2lin4 -.mo8l9e9c8u8l8e. -.mole1cu -.mole4cul -.molecul4e -.mo8l9e9c8u8l8e8s. -.molecules2 -.mo8n9a8r8c8h8s. -.mo1n1a -.monar3c -.mon2a2r -.monar2ch -.monarc4h1s2 -.mo8n8e8y9l8e8n9d8e8r. -.moneylen1de -.mo8n8e8y9l8e8n9d8e8r8s. -.moneylende4r5s2 -.mo8n8o9c8h8r8o8m8e. -.mono2ch4 -.monoc4hr4 -.monochro2me -.mo8n8o9e8n9e8r9g8e8t8i8c. -.mo3noe -.monoen1er -.monoenerg2 -.monoener3get -.monoenerget1ic -.mo8n9o8i8d. -.monoi2 -.mono2id -.mo8n8o9p8o8l8e. -.mo4nop -.mo8n8o9p8o8l8e8s. -.monopoles2 -.mo9n8o8p9o8l8y. -.monopo2ly -.mo8n8o9s8p8l8i8n8e. -.monos1p2l2 -.monospli4n -.monosp1l4ine -.mo8n8o9s8p8l8i8n8e8s. -.monospli1nes -.mo8n8o9s8t8r8o8f8i8c. -.monos5t -.monost4r -.monostro2fi -.mo9n8o8t9o9n8i8e8s. -.mono1to -.mo2noto2n -.monoton2ie4 -.mo9n8o8t9o9n8o8u8s. -.mono4tono -.monoto1nou2 -.monotono2us -.mo9r8o8n9i8s8m. -.moro5n4is -.moro2n -.moroni2s1m -.mo8s9q8u8i9t8o. -.mos2 -.mosqu2 -.mosq2ui2 -.mosqui1to -.mo8s9q8u8i9t8o8s. -.mosquitos2 -.mo8s9q8u8i9t8o8e8s. -.mu8d9r8o8o8m. -.mu1dr -.mud1room -.mudroo2 -.mu8d9r8o8o8m8s. -.mudroo4m1s2 -.mu8l9t8i9f8a8c9e8t8e8d. -.5mu4lt -.mul1ti3 -.multif2 -.multi1fa -.multifa4ce -.multifacet4 -.multiface2t1ed -.mu8l9t8i9p8l8i8c9a8b8l8e. -.mult2ip -.multi1p2l2 -.multipli1ca -.multiplica1b2l2 -.mu8l8t8i9u8s8e8r. -.multi4u -.multi2us -.ne8o9f8i8e8l8d8s. -.3neo -.ne5of -.neo2fi -.neof2ie4 -.neofie2ld3 -.neofiel2d1s2 -.ne8o9n8a8z8i. -.neo2n -.neo1n1a -.neona2z1i -.ne8o9n8a8z8i8s. -.neonaz4is -.ne8p8h9e8w8s. -.nephe4 -.ne8p8h9r8i8t8e. -.nep4hr4 -.nephr2ite -.ne8p8h9r8i8t8i8c. -.nephr4i2t3ic -.nephri1ti -.ne8w9e8s8t. -.ne4w -.newest3 -.ne8w8s9l8e8t9t8e8r. -.news4l2 -.news2le -.newsle4t3t2 -.ne8w8s9l8e8t9t8e8r8s. -.newslette4r1s2 -.ni8t8r8o9m8e8t8h9a8n8e. -.n2it -.ni3tr -.nitro2me -.nitro4met -.nitrometha2n4 -.no9n8a8m8e. -.no4n -.no1n1a -.no8n9a8r9i8t8h9m8e8t9i8c. -.nonar3i -.non2a2r -.nonar2ith -.nonarit4h1m -.nonarithmet4 -.nonarithmet1ic -.no8n9e8m8e8r9g8e8n8c8y. -.none1me -.nonemerg2 -.nonemer1gen -.nonemergen1cy -.no8n9e8q8u8i9v8a8r8i9a8n8c8e. -.none2q -.nonequ2 -.noneq2ui2 -.nonequ2iv3 -.nonequi1va -.nonequiv2a2r -.nonequivar1i -.nonequivar3i2a2n -.nonequivar2i3a -.nonequivar4ianc -.no8n8e9t8h8e9l8e8s8s. -.noneth2e -.nonethe1les2 -.nonethe3l2e2ss -.no8n9e8u8c8l8i8d9e8a8n. -.non4eu -.noneu1c4l4 -.noneucl2id -.noneuclidea2n -.no8n9i8s8o9m8o8r9p8h8i8c. -.non5i -.non1is -.noni2so -.noni3som -.noniso1mo -.nonisomo2r -.nonisomor1p -.nonisomorp4h4 -.nonisomorph1ic -.no8n9p8s8e8u8d8o9c8o8m9p8a8c8t. -.non1p4 -.non2p1s2 -.nonp2se -.nonps4eu -.nonpseu1do -.nonpseudo1co -.nonpseudoco4m1p -.nonpseudocom1pa -.nonpseudocompa2c4t -.no8n9s8m8o8o8t8h. -.no2n3s2 -.non2s3m -.nons1mo -.nonsmoo2 -.nonsmo4oth -.no8n9u8n8i9f8o8r8m. -.no3nu4n -.nonu1ni -.nonuni1fo -.nonunifo2r -.nonunifor1m -.no8n9u8n8i9f8o8r8m9l8y. -.nonunifor4m1l -.nonuniform1ly -.no8r9e8p9i9n8e8p8h9r8i8n8e. -.nore5pi2n -.norep2ine -.norepinep4hr4 -.norep2inephr2in4e -.no8t9w8i8t8h9s8t8a8n8d9i8n8g. -.notw4 -.notwi2 -.notw2ith3 -.notwi2t4h1s2 -.notwith5st4and -.notwiths1ta -.notwithsta2n -.notwithstand1in -.nu9c8l8e8o9t8i8d8e. -.nucle3 -.nu1c4l4 -.nucle4ot -.nucleot2id -.nu9c8l8e8o9t8i8d8e8s. -.nucleotide4s2 -.nu8t9c8r8a8c8k9e8r. -.nu4tc -.nutcrack1 -.nutcrack1er -.nu8t9c8r8a8c8k9e8r8s. -.nutcracke4r1s2 -.oe8r9s8t8e8d8s. -.o3er -.oe4r1s2 -.oers4t1ed -.oerste2d1s2 -.of8f9l8i8n8e. -.o4f1f -.off4l2 -.offlin4 -.off1l4ine -.of8f9l8o8a8d. -.offl4oa -.offloa2d3 -.of8f9l8o8a8d8s. -.offloa2d1s2 -.of8f9l8o8a8d8e8d. -.offloa2d1ed -.ol8i9g8o8p9o9l8i8s8t. -.ol2i -.ol2ig -.oli2go -.ol2igopol2i -.ol8i9g8o8p9o9l8i8s8t8s. -.oligopolis4t1s2 -.ol8i9g8o8p9o8l8y. -.oligopo2ly -.ol8i9g8o8p9o8l9i8e8s. -.oligopol2ie4 -.op9e8r9a8n8d. -.op1er -.3oper1a -.op4er4and -.opera2n -.op9e8r9a8n8d8s. -.operan2d1s2 -.or8a8n8g9u8t8a8n. -.ora2n -.or2ang -.oran1gu -.oran4gu4t -.orangu1ta -.ora2nguta2n -.or8a8n8g9u8t8a8n8s. -.oranguta2n1s2 -.or9t8h8o9d8o8n9t8i8s8t. -.ortho2do4 -.orthodo2n -.orthodon3t4i -.orthodon1t -.or9t8h8o9d8o8n9t8i8s8t8s. -.orthodontis4t1s2 -.or9t8h8o9k8e8r9a9t8o8l9o8g8y. -.orth2ok -.orthok1er -.orthoker1a -.orthokera1to -.orthokeratol1o1gy -.or8t8h8o9n8i8t8r8o9t8o8l8u8e8n8e. -.ortho2n -.orthon2it -.orthoni3tr -.orthonitro1to -.orthonitrotolu3en -.orthonitrotolu4ene -.ov8e8r9v8i8e8w. -.overv2ie4 -.ov8e8r9v8i8e8w8s. -.ox9i8d9i8c. -.ox3i -.oxi5di -.ox2id -.pa8d9d8i8n8g. -.1pa -.p4a2d -.pad4d1in -.pad1d4 -.pa8i8n9l8e8s8s9l8y. -.p4ai2 -.pa4i4n4 -.pa4i4n1l -.painles2 -.pain3l2e2ss -.painles4s1l2 -.painless1ly -.pa8l9e8t8t8e. -.p4al -.p2ale -.pale4t3t2 -.pa8l9e8t8t8e8s. -.palet4tes -.pa8r9a9b8o8l8a. -.p2a2r -.pa2rab -.parabo1la -.pa8r9a9b8o8l9i8c. -.parabol3ic -.parabol2i -.pa9r8a8b9o9l8o8i8d. -.paraboloi2 -.parabolo2id -.pa8r9a9d8i8g8m. -.para2d -.par2adi -.parad2ig -.paradig1m -.pa8r9a9d8i8g8m8s. -.paradig4m1s2 -.pa8r8a9c8h8u8t8e. -.para2ch -.parachu4t -.pa8r8a9c8h8u8t8e8s. -.pa8r8a9d8i9m8e8t8h8y8l9b8e8n8z8e8n8e. -.parad4imet -.paradimethy2l1b -.paradimethylb4e4n3z -.paradimethylben2ze -.paradimethylbenze4n -.pa8r8a9f8l8u8o8r8o9t8o8l8u8e8n8e. -.para2f -.paraf4l2 -.paraflu3o -.parafluo3r -.parafluoro1to -.parafluorotolu3en -.parafluorotolu4ene -.pa8r8a9g8r8a8p8h9e8r. -.para1gr -.parag5ra3ph4er -.pa8r8a9l8e9g8a8l. -.par3al -.par2ale -.paral4egal -.parale1ga -.pa8r9a8l9l8e8l9i8s8m. -.paral1l -.paral2le -.paral3lel -.parallel2i -.paralle2lis -.paralleli2s1m -.pa8r8a9m8a8g9n8e8t9i8s8m. -.par4a1ma -.param3ag -.para5mag1n -.paramagneti2s4m -.pa8r8a9m8e8d8i8c. -.para2med -.param4edi -.pa8r8a9m8e8t8h8y8l9a8n8i8s8o8l8e. -.param3et -.paramethy3la -.paramethyla2n -.paramethylani2so -.pa9r8a8m9e9t8r8i8z8e. -.param4etr -.parametri2ze -.pa8r8a9m8i8l9i9t8a8r8y. -.par2ami -.paramil1i -.param2il1it -.paramili1ta -.paramilit2a2r -.pa8r8a9m8o8u8n8t. -.para2mo -.paramou2 -.paramoun1t -.pa8t8h9o9g8e8n9i8c. -.p4ath -.pat4ho -.patho4g -.patho1ge4 -.patho1gen -.pe8e8v9i8s8h. -.p4ee -.pee1vi -.peevis2h -.pe8e8v9i8s8h9n8e8s8s. -.peevis2h1n -.peevish1nes -.peevishn2e2ss -.pe8n9t8a9g8o8n. -.pen1t -.pen1ta -.penta2go -.pentago2n2 -.pe8n9t8a9g8o8n8s. -.pentago2n3s2 -.pe9t8r8o9l8e9u8m. -.petrol4eu -.ph8e9n8o8m9e9n8o8n. -.ph4e3no -.phe2n -.pheno2me -.pheno1men -.phenom4eno -.phenomeno4n -.ph8e8n8y8l9a8l8a9n8i8n8e. -.pheny3la -.phenylala2n -.phenylala5n2ine -.phenylalan1in -.ph8i9l8a8t9e9l8i8s8t. -.phi4latel2i4 -.philate2lis -.ph8i9l8a8t9e9l8i8s8t8s. -.philatelis4t1s2 -.ph8o9n8e8m8e. -.3phone -.pho2n -.phone1me -.ph8o9n8e8m8e8s. -.phone2mes -.ph8o9n8e9m8i8c. -.phone5mi -.ph8o8s9p8h8o8r9i8c. -.phos1p -.phospho5 -.phospho4r -.ph8o9t8o9g8r8a8p8h8s. -.pho1to -.photo2gr -.photogra4p4h1s2 -.ph8o9t8o9o8f8f9s8e8t. -.photoo2 -.photoo4f1f -.photoof2f3s -.pi8c9a9d8o8r. -.pi1ca -.pica2d -.pica1do -.picad4or -.pi8c9a9d8o8r8s. -.picado4rs2 -.pi8p8e9l8i8n8e. -.p2ip -.pipe4 -.pipel2i -.pipe1l4ine -.pi8p8e9l8i8n8e8s. -.pipeli1nes -.pi8p8e9l8i8n9i8n8g. -.pipel2in3i -.pipelin1in -.pipelinin4g -.pi9r8a9n8h8a8s. -.p4ir -.pi1ra -.pira2n -.pira4n1h4 -.piranha4 -.pl8a8c8a9b8l8e. -.1p2l2 -.pla1ca -.placa1b2l2 -.pl8a8n8t9h8o8p9p8e8r. -.3pla2n -.plan1t -.plantho4p1p -.planthop2pe -.planthop3per -.pl8a8n8t9h8o8p9p8e8r8s. -.planthoppe4r1s2 -.pl8e8a8s9a8n8c8e. -.ple2a -.pleasa2 -.plea3sanc -.pleasa2n -.pl8u8g9i8n. -.plug5in -.pl8u8g9i8n8s. -.plu5g4i2n1s2 -.po8l9t8e8r9g8e8i8s8t. -.po4l2t -.pol1te -.polterg2 -.poltergei2 -.po8l8y9e8n8e. -.po2ly -.po8l8y9e8t8h9y8l9e8n8e. -.polye4t -.po9l8y8g9a9m8i8s8t. -.poly1ga -.poly2gam -.polygam2is -.po9l8y8g9a9m8i8s8t8s. -.polygamis4t1s2 -.po8l8y8g9o8n9i9z8a9t8i8o8n. -.poly1go -.polygo2n2 -.polygo3ni -.polygoniza1 -.polygoniza1t2io -.polygonizatio2n -.po9l8y8p8h9o9n8o8u8s. -.polypho2n -.polypho1nou2 -.polyphono2us -.po8l8y9s8t8y8r8e8n8e. -.po2lys4 -.polys1t -.polys2ty -.po8m8e9g8r8a8n9a8t8e. -.po2me -.pome2g -.pome1gr -.pomegra2n2 -.pomegra1na -.pomegran2at -.po8r8o9e8l8a8s9t8i8c. -.1p4or -.poro4e -.poro4el -.poroe1la -.poroelast2i -.poroelas1tic -.po8r9o8u8s. -.porou2 -.poro2us -.po8r9t8a9b8l8e. -.por1ta -.por2tab -.portab2l2 -.po8s8t9a8m9b8l8e. -.1pos -.pos2ta -.posta4m1b -.postamb2l2 -.po8s8t9a8m9b8l8e8s. -.postambles2 -.po8s8t9h8u9m8o8u8s. -.posthu1mo -.posthu3mo2us -.posthumou2 -.po8s8t9s8c8r8i8p8t. -.pos4t1s2 -.post4sc -.postscri2 -.postscr2ip -.postscri2p1t -.po8s8t9s8c8r8i8p8t8s. -.postscrip4t1s2 -.po8s9t8u8r9a8l. -.pos1tu -.postu1ra -.pr8e9a8m9b8l8e. -.prea4m1b -.preamb2l2 -.pr8e9a8m9b8l8e8s. -.preambles2 -.pr8e9l8o8a8d8e8d. -.prel4oa -.preloa2d3 -.preloa2d1ed -.pr8e9p8a8r9i8n8g. -.pre2pa -.prep4a4r1i -.prep2a2r -.preparin4g -.pr8e9p8r8i8n8t. -.pr2epr2 -.preprin4t3 -.pr8e9p8r8i8n8t8s. -.preprin4t4s2 -.pr8e9p8r8o8c8e8s9s8o8r. -.pre3pro -.prepr2oc -.prepro1ce -.preproc2e2ss -.preproces1so -.pr8e9p8r8o8c8e8s9s8o8r8s. -.preprocesso4rs2 -.pr8e9s8p8l8i8t9t8i8n8g. -.pre1sp -.pres1p2l2 -.prespl1it -.prespl4i4t3t2 -.presplit2t1in -.pr8e9w8r8a8p. -.prewra4 -.pr8e9w8r8a8p8p8e8d. -.prewra4p1p -.prewrap2pe -.prewrap4p2ed -.pr8i8e8s8t9e8s8s8e8s. -.5pr2i4e4 -.pri1est -.pries4t2e2ss -.priestess1e4s -.pr8e8t9t8y9p8r8i8n9t8e8r. -.pre4t3t2 -.pret1ty -.pr2ettypr2 -.prettyprin4t3 -.pr8e8t9t8y9p8r8i8n9t8i8n8g. -.prettyprint2i -.prettyprin4t3ing -.prettyprin2t1in -.pr8o9c8e9d8u8r9a8l. -.pr2oc -.pro1ce -.proce1du -.procedu1ra -.pr8o8c8e8s8s. -.proc2e2ss -.pr8o9c8u8r9a8n8c8e. -.procu1ra -.procura2n -.pr8o8g9e9n8i8e8s. -.pro1ge -.pro1gen -.proge5n2ie4 -.pr8o8g9e9n8y. -.pro4geny -.pr8o9g8r8a8m9m8a8b8l8e. -.pro1gr -.program1m -.program1ma -.program2mab -.programmab2l2 -.pr8o8m9i9n8e8n8t. -.prom4i -.prom1in -.prom2ine -.promi1nen -.prominen1t -.pr8o9m8i8s9c8u9o8u8s. -.prom2is -.prom2is1c -.promis1cu -.promiscu1ou2 -.promiscuo2us -.pr8o8m9i8s9s8o8r8y. -.prom4i2s1s -.promis1so -.promisso1ry -.pr8o8m9i8s8e. -.prom4ise -.pr8o8m9i8s8e8s. -.promis1e4s -.pr8o9p8e8l9l8e8r. -.pro3pel -.propel1l -.propel2le -.pr8o9p8e8l9l8e8r8s. -.propelle4r1s2 -.pr8o9p8e8l9l8i8n8g. -.propell2i -.propel2lin4 -.pr8o9h8i8b9i9t8i8v8e. -.pro1h2 -.prohibi2t -.prohibi1ti -.prohibi1t2iv -.pr8o9h8i8b9i9t8i8v8e9l8y. -.prohibitiv4e1ly -.pr8o9s8c8i8u8t9t8o. -.pros2c -.pros1ci -.prosci1u -.prosciu4t3t2 -.prosciut5to -.pr8o9t8e8s8t9e8r. -.pro1t -.pro4tes -.pr8o9t8e8s8t9e8r8s. -.proteste4r1s2 -.pr8o9t8e8s9t8o8r. -.prot4es2to -.pr8o9t8e8s9t8o8r8s. -.protesto4rs2 -.pr8o9t8o9l8a8n9g8u8a8g8e. -.pro1to -.proto1la -.proto4la2n -.protol2ang -.protolan1gu -.protolangu4a -.pr8o9t8o9t8y8p9a8l. -.proto1ty -.prototy1pa -.prototyp4al -.pr8o8v9i8n8c8e. -.prov1in -.prov2inc -.pr8o8v9i8n8c8e8s. -.pr8o9v8i8n9c8i8a8l. -.provin1ci -.provin3c2i1a -.provinci2al -.pr8o8w9e8s8s. -.prow2e2ss -.ps8e8u9d8o9d8i8f9f8e8r9e8n9t8i8a8l. -.2p1s2 -.p2se -.ps4eu -.pseu1do -.pseudod1if -.pseudodi4f1f -.pseudodiffer1 -.pseudodiffer3en1t -.pseudodifferent2i -.pseudodifferen1t2i1a -.pseudodifferenti2al -.ps8e8u9d8o9f8i9n8i8t8e. -.pseu2d5of -.pseudo2fi -.pseudo2fin -.pseudof2ini -.pseudofin2it -.pseudofin2ite -.ps8e8u9d8o9f8i9n8i8t8e9l8y. -.pseudofinite1ly -.ps8e8u9d8o9f8o8r8c8e8s. -.pseudo1fo -.pseudofo2r -.pseudofor1c -.pseudofor2ce -.ps8e8u9d8o8g9r8a9p8h8e8r. -.pseud4og -.pseudo1gr -.pseudog5ra3ph4er -.ps8e8u9d8o9g8r8o8u8p. -.pseudo4g4ro -.pseudogrou2 -.ps8e8u9d8o9g8r8o8u8p8s. -.pseudogrou2p1s2 -.ps8e8u9d8o9n8y8m. -.pseu4do2n -.pseudonym4 -.ps8e8u9d8o9n8y8m8s. -.pseudony4m1s2 -.ps8e8u9d8o9w8o8r8d. -.pseudo4wo2 -.ps8e8u9d8o9w8o8r8d8s. -.pseudowor2d1s2 -.ps8y9c8h8e9d8e8l9i8c. -.ps4y -.p4sy1c -.psy3ch -.psych4e2 -.psy4ch4ed -.psychedel2i -.ps8y8c8h8s. -.psyc4h1s2 -.pu9b8e8s9c8e8n8c8e. -.pub3 -.pub4e -.pu4bes4 -.pubes2c -.pubes1cen -.pubes3cenc -.qu8a8d9d8i8n8g. -.qu2 -.qua2d -.quad4d1in -.quad1d4 -.qu8a9d8r8a8t9i8c. -.qua1dr -.quadrat1ic -.qu8a9d8r8a8t9i8c8s. -.quadrati4c3s2 -.qu8a8d9r8a9t8u8r8e. -.quadra2tu -.quadra3ture -.qu8a8d9r8i9p8l8e8g9i8c. -.quadri2p2l2 -.quadr2ip -.quadripleg4ic -.qu8a8i8n8t9e8r. -.quai2 -.qua4i4n -.quain1t -.qu8a8i8n8t9e8s8t. -.qu8a9s8i9e8q8u8i8v9a9l8e8n8c8e. -.quas2ie4 -.quasie1q -.qu2asiequ2 -.quasieq2ui2 -.quasiequ2iv3 -.quasiequi1va -.quasiequiv2ale -.quasiequiva3lenc -.qu8a9s8i9e8q8u8i8v9a9l8e8n8c8e8s. -.qu8a9s8i9e8q8u8i8v9a9l8e8n8t. -.quasiequiva1len1t -.qu8a9s8i9h8y9p8o9n8o8r9m8a8l. -.quasi3h -.quasihy3po -.quasihypo2n -.quasihyponor1m -.quasihyponor1ma -.qu8a9s8i9r8a8d9i9c8a8l. -.quas4i2r -.quasi1r5a -.quasira2d -.quasir2adi -.quasirad3i1ca -.qu8a9s8i9r8e8s8i8d9u8a8l. -.quasi4res -.quasire1si -.quasire2s2id -.quasiresi2du -.quasiresid1u1a -.qu8a9s8i9s8m8o8o8t8h. -.qua1sis -.quasi2s1m -.quasis1mo -.quasismoo2 -.quasismo4oth -.qu8a9s8i9s8t8a9t8i8o8n9a8r8y. -.quasis1ta -.quasistation5a2r -.quasista1t2io -.quasistatio2n -.quasistatio1n1a -.qu8a9s8i9t8o8p8o8s. -.qu5a5si4t -.quasi1to -.quasito1pos -.qu8a9s8i9t8r8i9a8n9g8u9l8a8r. -.quasi5tr2i3a -.quasitri2a2n -.quasitri2ang -.quasitrian1gu -.quasitriangu1la -.quasitriangul2a2r -.qu8a9s8i9t8r8i8v9i8a8l. -.quasitr2i4v -.quasitriv3i -.quasitriv2i1a -.quasitrivi2al -.qu8i8n9t8e8s9s8e8n8c8e. -.q2ui2 -.qui4n -.quin1t -.quin4t2e2ss -.quintes4senc -.qu8i8n9t8e8s9s8e8n8c8e8s. -.qu8i8n9t8e8s9s8e8n9t8i8a8l. -.quintessen1t -.quintessent2i -.quintessen1t2i1a -.quintessenti2al -.ra8b9b8i8t9r8y. -.2rab -.ra2b1b -.rabbi2t -.rabbi3tr -.rabbit5ry -.ra9d8i9o8g9r8a9p8h8y. -.ra2d -.r2adi -.ra3d2io -.radio5g -.radio2gr -.radio4g3ra1phy -.ra8f8f9i8s8h. -.raf5fi -.ra2f -.ra4f1f4 -.raf2f5is -.raffis2h -.ra8f8f9i8s8h9l8y. -.raffis4h1l4 -.raffish1ly -.ra8m9s8h8a8c8k8l8e. -.ra4m1s2 -.ram4s2h -.ramshack1 -.ramshack1l -.ra8v9e8n9o8u8s. -.rav4e4no -.rave1nou2 -.raveno2us -.re9a8r8r8a8n8g8e9m8e8n8t. -.re5ar1r4 -.re2a2r -.rearran4ge -.rearra2n -.rearr2ang -.rearrange1me -.rearrange1men -.rearrange3men1t -.re9a8r8r8a8n8g8e9m8e8n8t8s. -.rearrangemen4t4s2 -.re8c9i9p8r8o8c9i9t8i8e8s. -.reciproci1ti -.reciprocit2ie4 -.re8c9t8a8n9g8l8e. -.rec4ta2n -.re2c1t -.rect5ang -.rec1ta -.rectan1gl2 -.rectan1gle -.re8c9t8a8n9g8l8e8s. -.rectangles2 -.re8c9t8a8n9g8u9l8a8r. -.rectan1gu -.rectangu1la -.rectangul2a2r -.re9d8i9r8e8c8t. -.2r2ed -.r4edi -.red4ir2 -.redi1re -.redire2c1t -.re9d8i9r8e8c8t9i8o8n. -.redirec1t2io -.redirectio2n -.re9d8u8c9i8b8l8e. -.re1du -.redu2c -.reduci4b -.redu1ci -.reduci1b2l2 -.re9e8c8h8o. -.ree2c -.ree2ch -.ree3cho2 -.re9p8h8r8a8s8e. -.rep4hr4 -.rephr2as -.re9p8h8r8a8s8e8s. -.rephras1e4s -.re9p8h8r8a8s8e8d. -.rephra4s4ed -.re9p8o9s8i9t8i8o8n. -.re4posi -.re1po -.re1pos -.repo3s2i1t2io -.reposi1ti -.repositio2n -.re9p8o9s8i9t8i8o8n8s. -.repositio2n3s2 -.re9p8r8i8n8t. -.repr2 -.reprin4t3 -.re9p8r8i8n8t8s. -.reprin4t4s2 -.re9s8t8o8r9a8b8l8e. -.r4es2to -.resto2ra -.resto2rab -.restorab2l2 -.re8t8r8o9f8i8t. -.retro2fi -.re8t8r8o9f8i8t9t8e8d. -.retrof4i4t4t2 -.retrofit2t1ed -.re9u8s9a8b8l8e. -.r4eu2 -.re2us4 -.reusa2 -.reu2s1ab -.reusab2l2 -.re9u8s8e. -.re9w8i8r8e. -.rewi2 -.rew4ir4 -.re9w8r8a8p. -.rewra4 -.re9w8r8a8p8p8e8d. -.rewra4p1p -.rewrap2pe -.rewrap4p2ed -.re9w8r8i8t8e. -.rewri4 -.rewr2ite -.rh8i9n8o8c9e8r9o8s. -.rh4 -.rh2i1no -.rhi4no4c -.rhino1ce -.rhinoc2ero -.ri8g8h8t9e8o8u8s. -.righ1teo -.righteou2 -.righteo2us -.ri8g8h8t9e8o8u8s9n8e8s8s. -.righteous1n4 -.righteous1nes -.righteousn2e2ss -.ri8n8g9l8e8a8d8e8r. -.rin4g -.ringl2 -.rin1gle -.ringle2a -.ringlea2d1 -.ri8n8g9l8e8a8d8e8r8s. -.ringleade4r5s2 -.ro9b8o8t. -.ro9b8o8t8s. -.robo4t1s2 -.ro9b8o8t8i8c. -.ro9b8o8t9i8c8s. -.roboti4c3s2 -.ro8u8n8d9t8a8b8l8e. -.rou2 -.roun2d -.round1ta -.round2tab -.roundtab2l2 -.ro8u8n8d9t8a8b8l8e8s. -.roundta5bles2 -.sa8l8e8s9c8l8e8r8k. -.sa2 -.s2ale -.sales2 -.sales2c -.salescle5 -.sales1c4l4 -.sa8l8e8s9c8l8e8r8k8s. -.salescler4k1s2 -.sa8l8e8s9w8o8m8a8n. -.sales4w2 -.sale4s1wo2 -.saleswom1 -.saleswo1ma -.saleswoma2n -.sa8l8e8s9w8o8m8e8n. -.saleswo2me -.saleswo1men -.sa8l9m8o9n8e8l9l8a. -.s4a2l4m -.salmo2n4 -.sal1mo -.salmon4ella -.salmonel1l -.sa8l9t8a9t8i8o8n. -.sa4l4t -.sal1ta -.salta1t2io -.saltatio2n -.sa8r9s8a9p8a8r9i8l9l8a. -.s2a2r -.sa2r4sa2 -.sa4rs2 -.sars1ap -.s2a2rsap2a2r4 -.sarsa1pa -.sarsap4a4r1i -.sarsaparil1l -.sa8u8e8r9k8r8a8u8t. -.sau4 -.sauerkrau4t -.sc8a8t9o9l8o8g9i9c8a8l. -.s1ca -.sca1to -.scato3log1ic -.scatologi1ca -.sc8h8e8d9u8l9i8n8g. -.s2ch2 -.sche2 -.s4ch4ed -.sche4dul -.sche1du -.schedul2i -.schedul3ing -.sc8h8i8z9o9p8h8r8e8n8i8c. -.schi2z -.schi1zo -.schiz2oph -.schizop4hr4 -.sc8h8n8a8u9z8e8r. -.sc2h1n -.sch1na -.schn2au -.schnau2z4e -.schnauz1er -.sc8h8o8o8l9c8h8i8l8d. -.s4cho2 -.schoo2 -.schoo4l1c2 -.s2chool2ch -.schoolch4il2 -.schoolchi2ld -.sc8h8o8o8l9c8h8i8l8d9r8e8n. -.schoolchil3dr -.schoolchildre4 -.schoolchil5dren -.sc8h8o8o8l9t8e8a8c8h8e8r. -.schoo4l2t -.school1te -.s2chooltea2ch -.schoolteache2 -.sc8h8o8o8l9t8e8a8c8h9e8r8s. -.schoolteach3e4r1s2 -.sc8r8u9t8i9n8y. -.scru2t1i5n -.scr4u1t2i -.scrut4iny -.sc8y8t8h9i8n8g. -.s1cy -.scy3thin -.se8l8l9e8r. -.sel2le -.se8l8l9e8r8s. -.selle4r1s2 -.se8c9r8e9t8a8r9i8a8t. -.se1cr -.se4c3re1ta -.secret2a2r -.secretar1i -.secretar2i3a -.se8c9r8e9t8a8r9i8a8t8s. -.secretaria4t1s2 -.se8m9a9p8h8o8r8e. -.se1ma -.se4map -.semapho4r -.se8m9a9p8h8o8r8e8s. -.se9m8e8s9t8e8r. -.4se1me -.se2mes -.se8m8i9d8e8f9i9n8i8t8e. -.sem2id -.semide1f -.semidef5i5n2ite -.semide1fi -.semide2fin -.semidef2ini -.semidefin2it -.se8m8i9d8i9r8e8c8t. -.semi2di -.semid4ir2 -.semidi1re -.semidire2c1t -.se8m8i9h8o9m8o9t8h8e8t9i8c. -.semi3h -.semiho1mo -.semihom4oth3 -.semihomoth2e -.semihomo3the4t -.semihomothet1ic -.se8m8i9r8i8n8g. -.sem4ir -.semir1i -.semirin4g -.se8m8i9r8i8n8g8s. -.semirings2 -.se8m8i9s8i8m9p8l8e. -.se4m2is -.semisi4m1p -.semisim1p2l2 -.se8m8i9s8k8i8l8l8e8d. -.sem4is4k2 -.semisk1i -.semisk4il1l -.semiskil2le -.se8r8o9e8p8i9d8e9m8i9o9l8o8g9i9c8a8l. -.s2er4o -.sero4e -.seroep4id -.seroepi3de -.seroepid4em -.seroepidem2io -.seroepidemi1ol -.seroepidemio3log1ic -.seroepidemiologi1ca -.se8r9v8o9m8e8c8h9a8n8i8s8m. -.4ser3vo -.servo2me -.servome2ch -.servomech5a5nis -.servomecha2n -.servomechani2s1m -.se8r9v8o9m8e8c8h9a8n8i8s8m8s. -.servomechan4is4m1s2 -.se8s9q8u8i9p8e9d8a9l8i8a8n. -.s1e4s -.sesqu2 -.sesq2ui2 -.sesqu2ip -.sesquipe4 -.sesqui2p2ed -.sesquip2e2d2a -.sesquipedal1i -.sesquipedal2i1a -.sesquipedali2a2n -.se8t9u8p. -.se1tu -.se8t9u8p8s. -.setu2p1s2 -.se9v8e8r8e9l8y. -.5sev -.sev1er -.sev4erel -.severe1ly -.sh8a8p8e9a8b8l8e. -.sha3pe4a -.shape1a4b -.shapeab2l2 -.sh8o8e9s8t8r8i8n8g. -.sho4 -.sho2est4r -.shoestrin4g -.sh8o8e9s8t8r8i8n8g8s. -.shoestrings2 -.si8d8e9s8t8e8p. -.5side4s2 -.s2id -.sideste4p -.si8d8e9s8t8e8p8s. -.sideste2p1s2 -.si8d8e9s8w8i8p8e. -.sides4w2 -.sideswi2 -.sidesw2ip -.sideswipe4 -.sk8y9s8c8r8a8p8e8r. -.sk2 -.skys4c -.skyscrap3er -.sk8y9s8c8r8a8p8e8r8s. -.skyscrape4r1s2 -.sm8o8k8e9s8t8a8c8k. -.2s1m -.s1mo -.s4m2ok -.smokes4 -.smokes1ta -.smokestack1 -.sm8o8k8e9s8t8a8c8k8s. -.smokestac4k1s2 -.sn8o8r9k8e8l9i8n8g. -.s1n4 -.snorke5l2i -.snorke4l3ing -.so9l8e9n8o8i8d. -.1so -.sol4eno -.solenoi2 -.soleno2id -.so9l8e9n8o8i8d8s. -.solenoi2d1s2 -.so8l8u8t8e. -.so1lut -.so8l8u8t8e8s. -.so8v9e8r9e8i8g8n. -.4sov -.soverei2 -.sovere2ig2 -.so8v9e8r9e8i8g8n8s. -.sovereig2n1s2 -.sp8a9c8e8s. -.2s1pa -.spa4ce -.sp8e9c8i8o8u8s. -.spe2c -.spe1c2i -.spec2io -.speciou2 -.specio2us -.sp8e8l8l9e8r. -.spel1l -.spel2le -.sp8e8l8l9e8r8s. -.spelle4r1s2 -.sp8e8l8l9i8n8g. -.spell2i -.spel2lin4 -.sp8e9l8u8n8k9e8r. -.spelu4nk2 -.spelunk1er -.sp8e8n8d9t8h8r8i8f8t. -.spen4d -.spend2th -.spendt4hr4 -.spendthr4i2ft -.sp8h8e8r9o8i8d. -.s2phe -.3sph4er -.sph2ero -.spheroi2 -.sphero2id -.sp8h8e8r9o8i8d9a8l. -.spheroi1d2a -.sp8h8i8n9g8e8s. -.sph5ing -.sph4inge -.sp8i8c9i9l8y. -.sp2i1ci -.spici1ly -.sp8i8n9o8r8s. -.spi2n -.sp4i1no -.spino4rs2 -.sp8o8k8e8s9w8o8m8a8n. -.sp2ok -.spokes4 -.spokes4w2 -.spoke4s1wo2 -.spokeswom1 -.spokeswo1ma -.spokeswoma2n -.sp8o8k8e8s9w8o8m8e8n. -.spokeswo2me -.spokeswo1men -.sp8o8r8t8s9c8a8s8t. -.s1p4or4 -.spor4t1s2 -.sport4sc -.sports1ca -.sp8o8r8t8s9c8a8s8t9e8r. -.sportscast5er -.sp8o8r9t8i8v8e9l8y. -.spor1ti -.spor4t2iv -.sportiv4e1ly -.sp8o8r8t8s9w8e8a8r. -.sport4sw2 -.sportswe2a2r -.sp8o8r8t8s9w8r8i8t8e8r. -.sportswri4 -.sportswr2ite -.sp8o8r8t8s9w8r8i8t8e8r8s. -.sportswrit5e4r1s2 -.sp8r8i8g8h8t9l8i8e8r. -.spr2 -.spr2ig -.sprigh2tl -.sprightl2ie4 -.sq8u8e8a9m8i8s8h. -.squ2 -.squeam2is -.squeamis2h -.st8a8n8d9a8l8o8n8e. -.5st4and -.sta2n -.stan1d2a -.standalo2n -.st8a8r9t8l8i8n8g. -.st2a2r -.star2tl -.st8a8r9t8l8i8n8g9l8y. -.startlingl2 -.startling1ly -.st8a9t8i8s9t8i8c8s. -.statis1t2i -.statis1tic -.statisti4c3s2 -.st8e8a8l8t8h9i8l8y. -.stea4l -.stea4lt -.stealth3i -.steal4th4il2 -.stealthi1ly -.st8e8e8p8l8e9c8h8a8s8e. -.s1tee -.stee4p1 -.stee1p2l2 -.steeple2ch -.st8e8r8e8o9g8r8a8p8h9i8c. -.stere1o -.stereo2g -.stereo1gr -.stereo5graph1ic -.stereogr4aphi -.st8o9c8h8a8s9t8i8c. -.s1to -.sto2ch4 -.stochast2i -.stochas1tic -.st8r8a8n8g8e9n8e8s8s. -.st4r -.s1tra -.stran4ge -.stra2n -.str2ang -.strange4n4e -.stran1gen -.strange1nes -.strangen2e2ss -.st8r8a8p9h8a8n8g8e8r. -.straph2an4g -.straphang5er -.strapha2n -.st8r8a8t9a9g8e8m. -.stra2ta -.st8r8a8t9a9g8e8m8s. -.stratage4m1s2 -.st8r8e8t8c8h9i9e8r. -.stre4tc -.stret4ch -.stretch2ie4 -.st8r8i8p9t8e8a8s8e. -.str2ip -.stri2p1t -.strip2te -.st8r8o8n8g9h8o8l8d. -.stro2n -.strongho2l2d -.st8r8o8n8g9e8s8t. -.st8u9p8i8d9e8r. -.s1tu -.stup4id -.stupi3de -.st8u9p8i8d9e8s8t. -.stupide4s2 -.su8b9d8i8f9f8e8r9e8n9t8i8a8l. -.1su -.su4b3 -.su4b1d -.subd1if -.subdi4f1f -.subdiffer1 -.subdiffer3en1t -.subdifferent2i -.subdifferen1t2i1a -.subdifferenti2al -.su8b9e8x9p8r8e8s9s8i8o8n. -.sub4e -.sub1ex3p -.subexpr2 -.subex3pr2e2ss -.subexpres1si -.subexpres1s2io -.subexpres5sio2n -.su8b9e8x9p8r8e8s9s8i8o8n8s. -.subexpressio2n3s2 -.su8m9m8a9b8l8e. -.su2m -.sum1m -.sum1ma -.sum2mab -.summab2l2 -.su8p8e8r9e8g8o. -.su1pe -.supere1go -.su8p8e8r9e8g8o8s. -.supere4gos -.su9p8r8e8m9a9c8i8s8t. -.supr2 -.supre4mac -.supre1ma -.suprem4a2ci -.su9p8r8e8m9a9c8i8s8t8s. -.supremacis4t1s2 -.su8r9v8e8i8l9l8a8n8c8e. -.su2r -.surv4e -.survei2 -.surveil1l -.surveilla2n -.sw8i8m9m8i8n8g9l8y. -.sw2 -.swi2 -.swim1m -.swimm4ingl2 -.swimm5ing1ly -.sy8m8p9t8o9m8a8t8i8c. -.sy4m1p -.sym2p1t -.symp1to -.sympto2ma -.symptomat1ic -.sy8n9c8h8r8o9m8e8s8h. -.syn3c4hr4 -.syn2ch -.synchro2me -.synchro2mes -.synchrom4es2h -.sy8n9c8h8r8o9n8o8u8s. -.synchro2n -.synchro1nou2 -.synchrono2us -.sy8n9c8h8r8o9t8r8o8n. -.synchrotro2n -.ta8f8f9r8a8i8l. -.4ta2f4 -.ta4f1f4 -.taffr2ai2 -.ta8l8k9a9t8i8v8e. -.ta2l -.4talk -.talka3 -.talka4t -.talka1t2iv -.ta9p8e8s9t8r8y. -.tap2est4r -.tape4stry -.ta9p8e8s9t8r8i8e8s. -.tapestr2ie4 -.ta8r9p8a8u9l8i8n. -.t2a2r -.tar2p -.tar1pa -.tarpau4l2 -.tarpaul2i -.ta8r9p8a8u9l8i8n8s. -.tarpaul2i2n1s2 -.te9l8e8g9r8a9p8h8e8r. -.tele1gr -.teleg5ra3ph4er -.te9l8e8g9r8a9p8h8e8r8s. -.telegraphe4r1s2 -.te8l8e9k8i9n8e8t9i8c. -.teleki4n -.telek1i -.telek2ine -.teleki3net1ic -.te8l8e9k8i9n8e8t9i8c8s. -.telekineti4c3s2 -.te8l8e9r8o9b8o8t9i8c8s. -.te4l1er -.tel4ero -.teler5ob -.teleroboti4c3s2 -.te8l8l9e8r. -.tel1l -.tel2le -.te8l8l9e8r8s. -.telle4r1s2 -.te8m9p8o9r8a8r9i8l8y. -.te4m1p -.tem1p4or -.tempo1ra -.tempo4raril -.tempor2a2r -.temporar1i -.temporari1ly -.te8n9u8r8e. -.te8s8t9b8e8d. -.tes2t1b -.test4be2d -.te8x8t9w8i8d8t8h. -.3tex -.tex1t2 -.textw4 -.textwi2 -.textw2id -.textwid2th -.th8a8l9a9m8u8s. -.tha3la -.thala3m -.thala1mu -.thalam2us -.th8e8r9m8o9e8l8a8s9t8i8c. -.th2e -.ther3m4 -.ther1mo -.thermo4el -.thermoe1la -.thermoelast2i -.thermoelas1tic -.ti8m8e9s8t8a8m8p. -.ti2mes -.times1ta -.timesta4m1p -.ti8m8e9s8t8a8m8p8s. -.timestam2p1s2 -.to8o8l9k8i8t. -.too2 -.toolk1i -.to8o8l9k8i8t8s. -.toolki4t1s2 -.to8p8o9g8r8a8p8h9i9c8a8l. -.to5po4g -.topo1gr -.topo5graph1ic -.topogr4aphi -.topographi1ca -.to8q8u8e8s. -.to1q -.toqu2 -.tr8a8i9t8o8r9o8u8s. -.1tra -.tr2ai2 -.trai1to -.traitorou2 -.traitoro2us -.tr8a8n8s9c8e8i8v8e8r. -.tra2n -.tra2n1s2 -.trans4c -.tran4s3cei2 -.transce2iv -.tr8a8n8s9c8e8i8v8e8r8s. -.transceive4r1s2 -.tr8a8n8s9g8r8e8s8s. -.tran2s3g -.trans1gr -.transgr2e2ss -.tr8a8n8s9v8e8r9s8a8l. -.tran4sv -.transve4r1s2 -.transver1sa2 -.tr8a8n8s9v8e8r9s8a8l8s. -.transversa2l1s2 -.tr8a8n8s9v8e8s9t8i8t8e. -.transv4e2s -.transvest2i -.transvest2ite -.tr8a8n8s9v8e8s9t8i8t8e8s. -.transvestit4es -.tr8a9v8e8r8s9a9b8l8e. -.trave4r1s2 -.traver1sa2 -.traver2s1ab -.traversab2l2 -.tr8a9v8e8r9s8a8l. -.tr8a9v8e8r9s8a8l8s. -.traversa2l1s2 -.tr8i9e8t8h8y8l9a8m8i8n8e. -.tri5et -.tr2ie4 -.triethy3la -.triethylam1in -.triethylam2ine -.tr8e8a8c8h9e8r8i8e8s. -.trea2ch -.treache2 -.treacher1i -.treacher2ie4 -.tr8o8u9b8a9d8o8u8r. -.trou2 -.trouba2d -.trouba1do -.troubadou2 -.tu8r9k8e8y. -.1tu -.tu8r9k8e8y8s. -.turkeys4 -.tu8r8n9a8r8o8u8n8d. -.tur4n2a2r -.tur1na -.turnarou2 -.turnaroun2d -.tu8r8n9a8r8o8u8n8d8s. -.turnaroun2d1s2 -.ty8p9a8l. -.1ty -.ty1pa -.typ4al -.un9a8t9t8a8c8h8e8d. -.un2at4 -.una4t3t2 -.unat1ta -.unatta2ch -.unattache2 -.unatta4ch4ed -.un9e8r8r9i8n8g9l8y. -.un4er -.uner4r4 -.unerrin4g -.unerringl2 -.unerring1ly -.un9f8r8i8e8n8d9l8y. -.un3f -.unfri2 -.unfr2ie4 -.unfrien2d1ly -.un9f8r8i8e8n8d9l8i9e8r. -.unfriendl2ie4 -.va8g8u8e8r. -.1va -.vag4 -.va5guer -.va2gue -.va8u8d8e9v8i8l8l8e. -.vaude1v4 -.vaude2v3i4l -.vaude1vi -.vaudevil1l -.vaudevil2le -.vi8c9a8r8s. -.v4ic2a2r -.vi1ca -.vica4rs2 -.vi8l9l8a8i8n9e8s8s. -.2vil -.vil1l -.villai2 -.villa4i4n -.villa2ine -.villai5n2e2ss -.villai1nes -.vi8s9u8a8l. -.vi3su -.visu1al -.vi8s9u8a8l9l8y. -.visual1l -.visual1ly -.vi9v8i8p9a9r8o8u8s. -.3v2iv -.viv2i4p -.vivi1pa -.vivip2a2r -.viviparou2 -.viviparo2us -.vo8i8c8e9p8r8i8n8t. -.voi4 -.voi3cep -.voicepr2 -.voiceprin4t3 -.vs8p8a8c8e. -.v2s1pa -.vspa4ce -.wa8d9d8i8n8g. -.wa2d -.wad4d1in -.wad1d4 -.wa8l8l9f8l8o8w8e8r. -.wal1l -.wal2lf -.wallf4l2 -.wallflow1er -.wa8l8l9f8l8o8w9e8r8s. -.wallflowe4r1s2 -.wa8r8m9e8s8t. -.w2a2r -.war1m -.war2me -.war2mes -.wa8s8t8e9w8a8t8e8r. -.was4t -.waste2w -.waste1w5a -.wastewa1te -.wa8v8e9g8u8i8d8e. -.waveg3 -.waveg2ui2 -.wavegu2id -.wa8v8e9g8u8i8d8e8s. -.waveguide4s2 -.wa8v8e9l8e8t. -.wa8v8e9l8e8t8s. -.wavele4t1s2 -.we8b9l8i8k8e. -.w2e1b -.web2l2 -.web3l4ik -.we8e8k9n8i8g8h8t. -.weekn2ig -.we8e8k9n8i8g8h8t8s. -.weeknigh4t1s2 -.wh8e8e8l9c8h8a8i8r. -.whee4l1c2 -.wheel2ch -.wheelchai2 -.wheelcha4ir -.wh8e8e8l9c8h8a8i8r8s. -.wheelchai4rs2 -.wh8i8c8h9e8v8e8r. -.whi4 -.wh4i2ch -.whiche2 -.whichev1er -.wh8i8t8e9s8i8d8e8d. -.wh2ite -.whit4es -.white1si -.white2s2id -.whitesi2d1ed -.wh8i8t8e9s8p8a8c8e. -.white1sp -.white2s1pa -.whitespa4ce -.wh8i8t8e9s8p8a8c8e8s. -.wi8d8e9s8p8r8e8a8d. -.w2id -.wide4s2 -.wide1sp -.wides4pre -.widespr2 -.widesprea2d1 -.wi8n8g9s8p8a8n. -.win4g -.wings2 -.wing2s1pa -.wingspa4n -.wi8n8g9s8p8a8n8s. -.wingspa2n1s2 -.wi8n8g9s8p8r8e8a8d. -.wingspr2 -.wingsprea2d1 -.wi8t8c8h9c8r8a8f8t. -.wi4tc -.wit4ch -.witchcra2f4t -.witchcra2f -.wo8r8d9s8p8a8c9i8n8g. -.1wo2 -.wor2d1s2 -.words4p -.word2s1pa -.wordsp4a2ci -.wordspa2c1in -.wordspac1ing -.wo8r8k9a8r8o8u8n8d. -.work2a2r -.workarou2 -.workaroun2d -.wo8r8k9a8r8o8u8n8d8s. -.workaroun2d1s2 -.wo8r8k9h8o8r8s8e. -.workh4 -.workhor4se -.workho4rs2 -.wo8r8k9h8o8r8s8e8s. -.workhors3e4s -.wr8a8p9a8r8o8u8n8d. -.wra4 -.wrap2a2r4 -.wra1pa -.wraparou2 -.wraparoun2d -.wr8e8t8c8h9e8d. -.wre4tc -.wret4ch -.wretche2 -.wret4ch4ed -.wr8e8t8c8h9e8d9l8y. -.wretche2d1ly -.ye8s9t8e8r9y8e8a8r. -.yes4 -.yesterye2a2r -.al9g8e9b8r8a8i9s8c8h8e. -.algebra2is1c -.algebrais3ch2 -.algebraische2 -.al9l8e9g8h8e9n8y. -.al1l -.al2le -.al3leg -.alleghe2n -.ar9k8a8n9s8a8s. -.arka2n -.arkan2sa2 -.arka2n1s2 -.at8p9a8s8e. -.a4t1p -.at1pa -.at8p9a8s8e8s. -.atpas1e4s -.au8s9t8r8a8l9a8s8i8a8n. -.a2us -.aus1t4r -.aus1tra -.australas2i1a -.australasi2a2n -.au8t8o9m8a8t8i9s8i8e8r9t8e8r. -.automa3tis -.automatis2ie4 -.automatisiert3er -.be9d8i8e9n8u8n8g. -.4be2d -.b4e3di -.be5di3en -.bed2ie4 -.bedie3nu4n -.be8m8b8o. -.4be5m -.be4m5b -.bi8b9l8i9o9g8r8a9p8h8i9s8c8h8e. -.bibliogr4aphi -.bibliograph2is1c -.bibliographis3ch2 -.bibliographische2 -.bo8s9t8o8n. -.5bos4 -.bos1to -.bosto2n -.br8o8w8n9i8a8n. -.brown5i -.brow3n4i1a -.browni3a2n -.br8u8n8s9w8i8c8k. -.bru2n -.bru2n3s4 -.brun4sw2 -.brunswi2 -.brunswick1 -.bu9d8a9p8e8s8t. -.bu1d2a -.ca8r9i8b9b8e8a8n. -.car1i -.car4ib -.cari2b1b -.carib2be -.caribbea2n -.ch8a8r8l8e8s9t8o8n. -.char4le4 -.char1l -.charles2 -.charl4es2to -.charle3sto2n -.ch8a8r9l8o8t8t8e8s9v8i8l8l8e. -.char3lo4 -.charlo4t3t2 -.charlot4tes -.charlotte4sv -.charlottes2vil -.charlottesvil1l -.charlottesvil2le -.co9l8u8m9b8i8a. -.colum4bi -.colu4m1b -.columb2i1a -.cz8e8c8h8o9s8l8o9v8a9k8i8a. -.c2ze4 -.cze2ch -.cze3cho2 -.czechos4l2 -.czechos4lov -.czechoslo1va -.czechoslovak1i -.czechoslovak2i1a -.de8l9a9w8a8r8e. -.de1la -.de4law -.delaw2a2r -.di8j8k9s8t8r8a. -.di3j -.dij4k1s2 -.dijkst4r -.dijks1tra -.du8a8n8e. -.d1u1a -.dua2n -.dy9n8a9m8i9s8c8h8e. -.5dyn -.dy1na -.dynam2is -.dynam2is1c -.dynamis3ch2 -.dynamische2 -.en8g9l8i8s8h. -.engl2 -.englis2h -.eu8l8e8r9i8a8n. -.eul4e -.eu3l4er1i -.eule1r2i3a4 -.euleri2a2n -.ev8a8n9s8t8o8n. -.e1va -.eva2n -.evan4st -.eva2n1s2 -.evans1to -.evansto2n -.fe8b9r8u9a8r8y. -.f2e4b -.fe3br -.febru3a -.febru2a2r -.fe8s8t9s8c8h8r8i8f8t. -.fes4t1s2 -.fest4sc -.fests2ch2 -.festsc4hr4 -.festschr4i2ft -.fl8o8r9i9d8a. -.flor2id -.flori1d2a -.fl8o8r9i9d9i8a8n. -.flori2di -.florid5i2a2n -.flori1d4i3a -.fo8r9s8c8h8u8n8g8s9i8n9s8t8i9t8u8t. -.fors4c -.fors2ch2 -.forschungs2 -.forschung2s1in -.forschungs2i2n1s2 -.forschungsinst2i -.forschungsinsti1tu -.fr8e8e9b8s8d. -.fre2e1b -.free2b5s2 -.freeb4s5d -.fu8n8k9t8s8i8o8n8a8l. -.3fu -.fu4nk2 -.funk5t -.funk4t1s2 -.funkt1s2io -.funkt5sio2n -.funktsio1n5a -.ga8u8s8s9i8a8n. -.ga2us -.gau2ss -.gaus1si -.gauss2i1a -.gaussi2a2n -.gh8o8s8t9s8c8r8i8p8t. -.ghos4t1s2 -.ghost4sc -.ghostscri2 -.ghostscr2ip -.ghostscri2p1t -.gh8o8s8t9v8i8e8w. -.ghos4tv -.ghostv2ie4 -.gr8a8s8s9m8a8n8n9i8a8n. -.gr2as -.gra2ss -.gras2s1m -.grass3ma -.grassma2n3 -.grassma4n1n2 -.grassman3n4i1a -.grassma2nni3a2n -.gr8e8i8f8s9w8a8l8d. -.grei2 -.grei2f3s -.greifsw2 -.greifswa2ld -.gr8o8t8h8e8n9d8i8e8c8k. -.g4ro -.gro4th2e -.gr4oth -.grothe2n -.grothend2ie4 -.grothendieck1 -.gr8u8n8d9l8e8h9r8e8n. -.gru2n -.grundle1h4 -.grundle4hr4 -.ha9d8a9m8a8r8d. -.ha2d -.ha1d2a -.hada2m2 -.had4a1ma -.hadam2a2r -.ha8i9f8a. -.hai1fa -.ha8m8i8l9t8o8n9i8a8n. -.ha4m -.hami4lt -.hamil1to -.hamilto2n -.hamilto3n4i1a -.hamiltoni3a2n -.he8l9s8i8n8k8i. -.he2l1s2 -.hel2s1in -.hels4i4nk2 -.helsink1i -.he8r9m8i8t9i8a8n. -.her3mit -.hermi1ti -.herm4i1t2i1a -.hermiti2a2n -.hi8b8b8s. -.hi2b1b -.hib2b5s2 -.ho8k9k8a8i9d8o. -.h2ok -.hokk4 -.hokkai2 -.hokka2id -.hokkai1do -.ja8c9k8o8w9s8k8i. -.5ja -.jack1 -.jackowsk2 -.jackowsk1i -.ja8n9u9a8r8y. -.ja2n -.jan3u1a -.janu2a2r -.ja9p8a9n8e8s8e. -.ja4p -.ja1pa -.japa2n -.japa1nes -.japane1s2e -.ka8d9o8m9t8s8e8v. -.ka2d -.ka1do -.kado4mt -.kadom4t1s2 -.kadomt5sev -.ka8n9s8a8s. -.ka2n -.kan2sa2 -.ka2n1s2 -.ka8r8l8s9r8u8h8e. -.k2a2r -.kar1l -.kar2l1s2 -.karls1r -.ko8r9t8e9w8e8g. -.ko5r -.kr8i8s8h8n8a. -.kr2is -.kr3is2h -.kris2h1n -.krish1na -.kr8i8s8h9n8a9i8s8m. -.krishnai2 -.krishnai2s1m -.kr8i8s8h9n8a8n. -.krishn2a2n -.la8n9c8a8s9t8e8r. -.lan1ca -.lancast5er -.le9g8e8n8d8r8e. -.le1gen -.legen1dr -.legendre4 -.le8i8c8e8s9t8e8r. -.lei2 -.le5ic -.leices5t -.li8p9s8c8h8i8t8z. -.l2ip -.li2p1s2 -.lips2ch2 -.lips3chit -.lipschi4tz -.li8p9s8c8h8i8t8z9i8a8n. -.lipschit2z1i -.lipschitz2i1a -.lipschitzi2a2n -.lo8j9b8a8n. -.lo5j -.lojba2n -.lo8u9i9s8i9a8n8a. -.lou2 -.lo2ui2 -.louis2i1a -.louisi2a2n -.louisia1na -.ma8c9o8s. -.ma1co -.ma8n9c8h8e8s9t8e8r. -.man2ch -.manche2 -.manch1es -.ma8r9k8o8v9i8a8n. -.marko5vi2a2n -.markov2i1a -.ma8r8k8t9o8b8e8r9d8o8r8f. -.mark5t -.mark1to -.markto3b -.marktober1do -.marktoberd4or -.marktoberdor1f -.ma8s8s9a9c8h8u9s8e8t8t8s. -.ma2ss -.mas1sa2 -.massa2ch -.massach2us -.massachuse4t3t2 -.massachuset4t1s2 -.ma8x9w8e8l8l. -.maxwel4l -.mi9c8r8o9s8o8f8t. -.micro2so -.microso2ft3 -.mi8n9n8e9a8p9o9l8i8s. -.m2i4n1n2 -.minne4 -.minneapol2i -.mi8n9n8e9s8o8t8a. -.min1nes -.minne1so -.minneso1ta -.mo8s9c8o8w. -.mos2c -.mos1co -.na8c8h9r8i8c8h8t8e8n. -.1na -.na2ch -.nac4hr4 -.na2chr4i2ch -.nachricht1en -.na8s8h9v8i8l8l8e. -.n4as -.nas2h -.nash2vil -.nashvil1l -.nashvil2le -.ne8t9b8s8d. -.ne2t1b -.net2b5s2 -.netb4s5d -.ne8t9s8c8a8p8e. -.ne4t1s2 -.net4sc -.netsca4p -.nets1ca -.ni8j9m8e9g8e8n. -.ni3j -.nijme2g -.nijme1gen -.no8e9t8h8e8r9i8a8n. -.3noe -.noeth2e -.noether1i -.noethe1r2i3a4 -.noetheri2a2n -.no8o8r8d9w8i8j8k8e8r9h8o8u8t. -.noo2 -.no3ord -.noord1w -.noordwi2 -.noordwi3j -.noordwijk1er -.noordwijker1h4 -.noordwijkerhou2 -.no9v8e8m9b8e8r. -.nove4m5b -.op8e8n9b8s8d. -.ope4n1b4 -.open2b5s2 -.openb4s5d -.op8e8n9o8f8f8i8c8e. -.op4eno -.openo4f1f -.openof1fi -.pa8l8a9t8i8n8o. -.pala2t1in -.palat2i1no -.pa9l8e8r9m8o. -.paler3m4 -.paler1mo -.pe9t8r8o8v9s8k8i. -.petro3v -.petrovsk2 -.petrovsk1i -.pf8a8f8f9i8a8n. -.4pf -.p1fa -.pfa2f -.pfa4f1f4 -.pfaf1fi -.pfaff2i3a -.pfaffi2a2n -.ph8i8l9a9d8e8l9p8h8i8a. -.phi4l4ade -.phila2d -.philade2lp -.philadel5phi -.philadelph2i1a -.ph8i8l9o9s8o8p8h9i9s8c8h8e. -.philo2so -.philos4op -.philos2oph -.philosoph2is1c -.philosophis3ch2 -.philosophische2 -.po8i8n9c8a8r8e. -.poin2 -.poi2 -.poinc2a2r5 -.poin1ca -.po9t8e8n9t8i8a8l9g8l8e8i9c8h8u8n8g. -.p4ot -.po1ten1t -.potent2i -.poten1t2i1a -.potenti2al -.potentia4l1g4 -.potentialgl2 -.potential1gle -.potentialglei2 -.potentialgle5ic -.potentialgle4i2ch -.ra9d8h8a9k8r8i8s8h9n8a8n. -.rad1h2 -.radhakr2is -.radhakr3is2h -.radhakris2h1n -.radhakrish1na -.radhakrishn2a2n -.ra8t8h8s9k8e8l9l8e8r. -.r4ath -.ra2t4h1s2 -.rathsk2 -.rath4ske -.rathskel1l -.rathskel2le -.ri8e9m8a8n8n9i8a8n. -.r2ie4 -.rie5ma2n -.rie1ma -.riema4n1n2 -.rieman3n4i1a -.riema2nni3a2n -.ry8d9b8e8r8g. -.ry1d -.ryd1b -.rydberg2 -.sc8h8o8t9t8i8s8c8h8e. -.scho4t3t2 -.schott2is1c -.s2ch2ottis3ch2 -.schottische2 -.sc8h8r8o9d8i8n8g9e8r. -.sc4hr4 -.schrod1in -.schrod4inge -.sc8h8w8a9b8a9c8h8e8r. -.sch1w -.schwaba2ch -.schwabache2 -.sc8h8w8a8r8z9s8c8h8i8l8d. -.schw2a2r -.s2chwarzs2ch2 -.schwarzsch4il2 -.schwarzschi2ld -.se8p9t8e8m9b8e8r. -.se2p1t -.sep2te -.septe4m5b -.st8o8k8e8s9s8c8h8e. -.st2ok -.stokes4 -.stok2e2ss -.stokes2s5c -.stokess2ch2 -.stokessche2 -.st8u8t8t9g8a8r8t. -.stu4t3t2 -.stut4t1g -.stutt1ga -.stuttg2a2r -.su8s9q8u8e9h8a8n9n8a. -.s2us -.susqu2 -.susque1h4 -.susqueha2n -.susqueha4n1n2 -.susquehan1na -.ta8u9b8e8r9i8a8n. -.tau4b -.taub4e -.tau3ber -.tauber1i -.taube1r2i3a4 -.tauberi2a2n -.te8c8h9n8i9s8c8h8e. -.te2ch -.tec2h1n -.techn2is1c -.te2chnis3ch2 -.technische2 -.te8n9n8e8s9s8e8e. -.t4e4n1n2 -.tenne4 -.ten1nes -.tenn2e2ss -.to9m8a9s8z8e8w9s8k8i. -.to2ma -.tomas2ze -.tomaszewsk2 -.tomaszewsk1i -.ty9p8o9g8r8a8p8h8i8q8u8e. -.ty3po -.ty5po4g -.typo1gr -.typogr4aphi -.typographiqu2 -.uk8r8a8i8n9i8a8n. -.4uk -.ukr2ai2 -.ukra4i4n -.ukra2ini -.ukrai4n4i1a -.ukraini3a2n -.ve8r9a8l8l9g8e9m8e8i8n9e8r8t8e. -.veral1l -.veral4l1g4 -.verallge1me -.verallgemei2 -.verallgeme2ine -.verallgemein1er -.ve8r9e8i8n9i9g8u8n8g. -.vere3in -.verei2 -.vere2ini -.verein2ig -.vereini3gun -.ve8r9t8e8i9l8u8n9g8e8n. -.vertei2 -.verteilun1gen -.vi8i8i8t8h. -.v4i5i4 -.vi4i5i4 -.vii2ith -.vi8i8t8h. -.vi2ith -.wa8h8r9s8c8h8e8i8n9l8i8c8h9k8e8i8t8s9t8h8e8o9r8i8e. -.wa4hr4 -.wah4rs2 -.wahrs4c -.wahrs2ch2 -.wahrsche2 -.wahrschei2 -.wahrsche4i4n1l -.wahrs2cheinl4i2ch -.wahrscheinlic4hk -.wahrscheinlichkei2 -.wahrscheinlichkei4t1s2 -.wahrscheinlichkeits3th2e -.wahrscheinlichkeitsthe1o5r -.wahrscheinlichkeitstheor2ie4 -.we8r9n8e8r. -.w1er -.wer4n1er -.we8r9t8h8e8r9i8a8n. -.werth2e -.werther1i -.werthe1r2i3a4 -.wertheri2a2n -.wi8n9c8h8e8s9t8e8r. -.win2ch -.winche2 -.winch1es -.wi8r8t9s8c8h8a8f8t. -.w4ir4 -.wir4t1s2 -.wirt4sc -.wirts2ch2 -.wirtscha2f -.wirtscha2ft -.wi8s9s8e8n9s8c8h8a8f8t9l8i8c8h. -.w4i2s1s -.wissen4 -.wisse2n1s2 -.wissens4c -.wissens2ch2 -.wissenscha2f -.wissenscha2ft -.wissenschaf2tl -.wissens2chaftl4i2ch -.xv8i8i8i8t8h. -.xv4i5i4 -.xvi4i5i4 -.xvii2ith -.xv8i8i8t8h. -.xvi2ith -.xx8i8i8i8r8d. -.xx4 -.xx3i -.xx4i5i4 -.xxi4i5i4 -.xxii4ir -.xx8i8i8n8d. -.xxi4ind -.yi8n8g9y8o8n8g. -.y1i -.yin2gy -.yingy1o4 -.yingyo2n -.sh8u9x8u8e. -.shux1u3 -.ji9s8u8a8n. -.ji2su -.jisua2n -.ze8a9l8a8n8d. -.2ze -.zea4l -.zea3l4and -.zeala2n -.ze8i8t9s8c8h8r8i8f8t. -.zei2 -.zei4t1s2 -.zeit4sc -.zeits2ch2 -.zeitsc4hr4 -.zeitschr4i2ft diff --git a/core/res/assets/webkit/incognito_mode_start_page.html b/core/res/assets/webkit/incognito_mode_start_page.html deleted file mode 100644 index 5d7a3fbf98c0..000000000000 --- a/core/res/assets/webkit/incognito_mode_start_page.html +++ /dev/null @@ -1,24 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/> - <title>New incognito window</title> - </head> - <body> - <p><strong>You've gone incognito</strong>. Pages you view in this window - won't appear in your browser history or search history, and they won't - leave other traces, like cookies, on your device after you close the - incognito window. Any files you download or bookmarks you create will be - preserved, however.</p> - - <p><strong>Going incognito doesn't affect the behavior of other people, - servers, or software. Be wary of:</strong></p> - - <ul> - <li>Websites that collect or share information about you</li> - <li>Internet service providers or employers that track the pages you visit</li> - <li>Malicious software that tracks your keystrokes in exchange for free smileys</li> - <li>Surveillance by secret agents</li> - <li>People standing behind you</li> - </ul> - </body> -</html> diff --git a/core/res/assets/webkit/missingImage.png b/core/res/assets/webkit/missingImage.png Binary files differdeleted file mode 100644 index f49a98d59d2d..000000000000 --- a/core/res/assets/webkit/missingImage.png +++ /dev/null diff --git a/core/res/assets/webkit/nullPlugin.png b/core/res/assets/webkit/nullPlugin.png Binary files differdeleted file mode 100644 index 96a52e3c2cc6..000000000000 --- a/core/res/assets/webkit/nullPlugin.png +++ /dev/null diff --git a/core/res/assets/webkit/play.png b/core/res/assets/webkit/play.png Binary files differdeleted file mode 100644 index 26fe2864d7c3..000000000000 --- a/core/res/assets/webkit/play.png +++ /dev/null diff --git a/core/res/assets/webkit/textAreaResizeCorner.png b/core/res/assets/webkit/textAreaResizeCorner.png Binary files differdeleted file mode 100644 index 777eff01a0a0..000000000000 --- a/core/res/assets/webkit/textAreaResizeCorner.png +++ /dev/null diff --git a/core/res/assets/webkit/togglePlugin.png b/core/res/assets/webkit/togglePlugin.png Binary files differdeleted file mode 100644 index 008333c66e60..000000000000 --- a/core/res/assets/webkit/togglePlugin.png +++ /dev/null diff --git a/core/res/assets/webkit/youtube.html b/core/res/assets/webkit/youtube.html deleted file mode 100644 index 8e103c1655e1..000000000000 --- a/core/res/assets/webkit/youtube.html +++ /dev/null @@ -1,71 +0,0 @@ -<html> - <head> - <style type="text/css"> - body { background-color: black; } - a:hover { text-decoration: none; } - a:link { color: black; } - a:visited { color: black; } - #main { - position: absolute; - left: 0%; - top: 0%; - width: 100%; - height: 100%; - padding: 0%; - z-index: 10; - background-size: 100%; - background: no-repeat; - background-position: center; - } - #play { - position: absolute; - left: 50%; - top: 50%; - } - #logo { - position: absolute; - bottom: 0; - right: 0; - } - </style> - </head> - <body id="body"> - <script type="text/javascript"> - function setup() { - var width = document.body.clientWidth; - var height = document.body.clientHeight; - var mainElement = document.getElementById("main"); - var playElement = document.getElementById("play"); - var loadcount = 0; - var POSTER = "http://img.youtube.com/vi/VIDEO_ID/0.jpg"; - - function doload() { - if (++loadcount == 2) { - // Resize the element to the right size - mainElement.width = width; - mainElement.height = height; - mainElement.style.backgroundImage = "url('" + POSTER + "')"; - // Center the play button - playElement.style.marginTop = "-" + play.height/2 + "px"; - playElement.style.marginLeft = "-" + play.width/2 + "px"; - playElement.addEventListener("click", function(e) { - top.location.href = "vnd.youtube:VIDEO_ID"; - }, false); - } - } - var background = new Image(); - background.onload = doload; - background.src = POSTER; - play = new Image(); - play.onload = doload; - play.src = "play.png"; - } - - window.onload = setup; - </script> - <div id="main"> - <img src="play.png" id="play"></img> - <img src="youtube.png" id="logo"></img> - </div> - </body> -</html> diff --git a/core/res/assets/webkit/youtube.png b/core/res/assets/webkit/youtube.png Binary files differdeleted file mode 100644 index 87779b113dd0..000000000000 --- a/core/res/assets/webkit/youtube.png +++ /dev/null diff --git a/core/res/res/anim-watch/progress_indeterminate_material.xml b/core/res/res/anim-watch/progress_indeterminate_material.xml new file mode 100644 index 000000000000..8f00d6c4cb66 --- /dev/null +++ b/core/res/res/anim-watch/progress_indeterminate_material.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2016 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. +--> +<set xmlns:android="http://schemas.android.com/apk/res/android" > + <objectAnimator + android:duration="3333" + android:interpolator="@interpolator/trim_start_interpolator" + android:propertyName="trimPathStart" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.75" + android:valueType="floatType" /> + <objectAnimator + android:duration="3333" + android:interpolator="@interpolator/trim_end_interpolator" + android:propertyName="trimPathEnd" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.75" + android:valueType="floatType" /> + <objectAnimator + android:duration="3333" + android:interpolator="@interpolator/trim_offset_interpolator" + android:propertyName="trimPathOffset" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.25" + android:valueType="floatType" /> +</set> diff --git a/core/res/res/anim-watch/progress_indeterminate_rotation_material.xml b/core/res/res/anim-watch/progress_indeterminate_rotation_material.xml new file mode 100644 index 000000000000..63e66ec24410 --- /dev/null +++ b/core/res/res/anim-watch/progress_indeterminate_rotation_material.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" + android:interpolator="@interpolator/progress_indeterminate_rotation_interpolator" + android:duration="16666" + android:propertyName="rotation" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="720" + android:valueType="floatType" /> diff --git a/core/res/res/anim/watch_switch_thumb_to_off_animation.xml b/core/res/res/anim/watch_switch_thumb_to_off_animation.xml deleted file mode 100644 index cd02e0db2fd5..000000000000 --- a/core/res/res/anim/watch_switch_thumb_to_off_animation.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2016 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. ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:ordering="sequentially"> - <objectAnimator - android:duration="33" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M 0.0,-7.0 l 0.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l 0.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> - <objectAnimator - android:duration="66" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> - <objectAnimator - android:duration="66" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M 0.0,-7.0 l 0.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l 0.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> -</set> diff --git a/core/res/res/anim/watch_switch_thumb_to_on_animation.xml b/core/res/res/anim/watch_switch_thumb_to_on_animation.xml deleted file mode 100644 index e64421776605..000000000000 --- a/core/res/res/anim/watch_switch_thumb_to_on_animation.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2016 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. ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:ordering="sequentially"> - <objectAnimator - android:duration="33" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M 0.0,-7.0 l 0.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l 0.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> - <objectAnimator - android:duration="66" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> - <objectAnimator - android:duration="66" - android:interpolator="@android:interpolator/linear" - android:propertyName="pathData" - android:valueFrom="M -3.0,-7.0 l 6.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l -6.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueTo="M 0.0,-7.0 l 0.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l 0.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" - android:valueType="pathType" /> -</set> diff --git a/core/res/res/color/watch_switch_thumb_color_material.xml b/core/res/res/color/watch_switch_thumb_color_material.xml index d4796a032631..f78d9b62a509 100644 --- a/core/res/res/color/watch_switch_thumb_color_material.xml +++ b/core/res/res/color/watch_switch_thumb_color_material.xml @@ -10,9 +10,9 @@ 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:color="?android:colorButtonNormal" android:state_enabled="false" /> - <item android:color="?android:colorControlActivated" android:state_checked="true" /> - <item android:color="?android:colorButtonNormal" /> -</selector>
\ No newline at end of file + <item android:color="?attr/colorButtonNormal" android:alpha="?attr/disabledAlpha" + android:state_enabled="false" /> + <item android:color="?attr/colorControlActivated" android:state_checked="true" /> + <item android:color="?attr/colorButtonNormal" /> +</selector> diff --git a/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_14w.png b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_14w.png Binary files differnew file mode 100644 index 000000000000..371469c43b13 --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_14w.png diff --git a/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_15w.png b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_15w.png Binary files differnew file mode 100644 index 000000000000..e47726058e3e --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_15w.png diff --git a/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_16w.png b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_16w.png Binary files differnew file mode 100644 index 000000000000..19a1bd317799 --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_16w.png diff --git a/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_17w.png b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_17w.png Binary files differnew file mode 100644 index 000000000000..79dc7332b60d --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_17w.png diff --git a/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_18w.png b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_18w.png Binary files differnew file mode 100644 index 000000000000..6d921c0709b8 --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_thumb_mtrl_18w.png diff --git a/core/res/res/drawable-hdpi/watch_switch_track_mtrl_alpha.png b/core/res/res/drawable-hdpi/watch_switch_track_mtrl_alpha.png Binary files differnew file mode 100644 index 000000000000..ecee3e137ef6 --- /dev/null +++ b/core/res/res/drawable-hdpi/watch_switch_track_mtrl_alpha.png diff --git a/core/res/res/drawable-nodpi/default_wallpaper.png b/core/res/res/drawable-nodpi/default_wallpaper.png Binary files differindex ce546f0a11e7..d60ef83a86e3 100644 --- a/core/res/res/drawable-nodpi/default_wallpaper.png +++ b/core/res/res/drawable-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable-sw600dp-hdpi/unlock_wave.png b/core/res/res/drawable-sw600dp-hdpi/unlock_wave.png Binary files differindex d259499312c5..64e3cf89c121 100644 --- a/core/res/res/drawable-sw600dp-hdpi/unlock_wave.png +++ b/core/res/res/drawable-sw600dp-hdpi/unlock_wave.png diff --git a/core/res/res/drawable-sw600dp-mdpi/unlock_wave.png b/core/res/res/drawable-sw600dp-mdpi/unlock_wave.png Binary files differindex 9e3849908eb5..719366eb147d 100644 --- a/core/res/res/drawable-sw600dp-mdpi/unlock_wave.png +++ b/core/res/res/drawable-sw600dp-mdpi/unlock_wave.png diff --git a/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png b/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png Binary files differindex af8e2512385a..7b7e940d1063 100644 --- a/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png +++ b/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable-sw600dp-xhdpi/unlock_wave.png b/core/res/res/drawable-sw600dp-xhdpi/unlock_wave.png Binary files differindex 035bd9255c03..93916cdbb058 100644 --- a/core/res/res/drawable-sw600dp-xhdpi/unlock_wave.png +++ b/core/res/res/drawable-sw600dp-xhdpi/unlock_wave.png diff --git a/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png b/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png Binary files differindex cb00d82a826f..68e63312cfa8 100644 --- a/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png +++ b/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_14w.png b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_14w.png Binary files differnew file mode 100644 index 000000000000..7f7ca1416b76 --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_14w.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_15w.png b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_15w.png Binary files differnew file mode 100644 index 000000000000..52120b8bef02 --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_15w.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_16w.png b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_16w.png Binary files differnew file mode 100644 index 000000000000..d6e9be9e5daf --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_16w.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_17w.png b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_17w.png Binary files differnew file mode 100644 index 000000000000..8d76393a1b63 --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_17w.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_18w.png b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_18w.png Binary files differnew file mode 100644 index 000000000000..ca9c66e994ff --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_thumb_mtrl_18w.png diff --git a/core/res/res/drawable-xhdpi/watch_switch_track_mtrl_alpha.png b/core/res/res/drawable-xhdpi/watch_switch_track_mtrl_alpha.png Binary files differnew file mode 100644 index 000000000000..1aa544227380 --- /dev/null +++ b/core/res/res/drawable-xhdpi/watch_switch_track_mtrl_alpha.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_14w.png b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_14w.png Binary files differnew file mode 100644 index 000000000000..c0d72d70d6dd --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_14w.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_15w.png b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_15w.png Binary files differnew file mode 100644 index 000000000000..d7c0ec0fd25e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_15w.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_16w.png b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_16w.png Binary files differnew file mode 100644 index 000000000000..5815ba9d3767 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_16w.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_17w.png b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_17w.png Binary files differnew file mode 100644 index 000000000000..41da8c0eaaa6 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_17w.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_18w.png b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_18w.png Binary files differnew file mode 100644 index 000000000000..975eb01cea4a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_thumb_mtrl_18w.png diff --git a/core/res/res/drawable-xxhdpi/watch_switch_track_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/watch_switch_track_mtrl_alpha.png Binary files differnew file mode 100644 index 000000000000..af2042be7f59 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/watch_switch_track_mtrl_alpha.png diff --git a/core/res/res/drawable/watch_switch_thumb_material.xml b/core/res/res/drawable/watch_switch_thumb_material.xml deleted file mode 100644 index 3463a4f54684..000000000000 --- a/core/res/res/drawable/watch_switch_thumb_material.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2016 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="20dp" - android:height="40dp" - android:viewportHeight="40" - android:viewportWidth="20"> - <group - android:translateX="10" - android:translateY="20"> - <path - android:name="thumb_path" - android:fillColor="@color/white" - android:pathData="M 0.0,-7.0 l 0.0,0.0 c 3.8659932486,0.0 7.0,3.1340067514 7.0,7.0 l 0.0,0.0 c 0.0,3.8659932486 -3.1340067514,7.0 -7.0,7.0 l 0.0,0.0 c -3.8659932486,0.0 -7.0,-3.1340067514 -7.0,-7.0 l 0.0,0.0 c 0.0,-3.8659932486 3.1340067514,-7.0 7.0,-7.0 Z" /> - </group> -</vector> diff --git a/core/res/res/drawable/watch_switch_thumb_material_anim.xml b/core/res/res/drawable/watch_switch_thumb_material_anim.xml index 686fb976cf1c..9e3e89338dab 100644 --- a/core/res/res/drawable/watch_switch_thumb_material_anim.xml +++ b/core/res/res/drawable/watch_switch_thumb_material_anim.xml @@ -15,21 +15,79 @@ android:constantSize="true"> <item android:id="@+id/off" - android:drawable="@drawable/watch_switch_thumb_material" + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" android:state_enabled="false" /> <item android:id="@+id/on" - android:drawable="@drawable/watch_switch_thumb_material" + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" android:state_checked="true" /> <item android:id="@+id/off" - android:drawable="@drawable/watch_switch_thumb_material" /> + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" /> <transition - android:drawable="@drawable/watch_switch_thumb_to_on_anim_mtrl" android:fromId="@id/off" - android:toId="@id/on" /> + android:toId="@id/on"> + <animation-list> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" + android:duration="30" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_15w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_16w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_17w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_18w" + android:duration="75" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_17w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_16w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_15w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" + android:duration="30" /> + </animation-list> + </transition> <transition - android:drawable="@drawable/watch_switch_thumb_to_off_anim_mtrl" android:fromId="@id/on" - android:toId="@id/off" /> + android:toId="@id/off"> + <animation-list> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" + android:duration="30" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_15w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_16w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_17w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_18w" + android:duration="75" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_17w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_16w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_15w" + android:duration="15" /> + <item + android:drawable="@drawable/watch_switch_thumb_mtrl_14w" + android:duration="30" /> + </animation-list> + </transition> </animated-selector> diff --git a/core/res/res/drawable/watch_switch_track_material.xml b/core/res/res/drawable/watch_switch_track_material.xml index 00cdadb1b59d..79e92a331071 100644 --- a/core/res/res/drawable/watch_switch_track_material.xml +++ b/core/res/res/drawable/watch_switch_track_material.xml @@ -11,13 +11,11 @@ limitations under the License. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:gravity="center_vertical|center_horizontal"> - <shape android:shape="oval"> - <solid android:color="@android:color/white" /> - <size - android:width="40dp" - android:height="40dp" /> - </shape> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false"> + <bitmap android:alpha="0.1" android:src="@drawable/watch_switch_track_mtrl_alpha" /> </item> -</layer-list>
\ No newline at end of file + <item> + <bitmap android:alpha="0.2" android:src="@drawable/watch_switch_track_mtrl_alpha" /> + </item> +</selector> diff --git a/core/res/res/interpolator-watch/progress_indeterminate_rotation_interpolator.xml b/core/res/res/interpolator-watch/progress_indeterminate_rotation_interpolator.xml new file mode 100644 index 000000000000..ed2655cb0ac8 --- /dev/null +++ b/core/res/res/interpolator-watch/progress_indeterminate_rotation_interpolator.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2016 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. +--> +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="M 0.0,0.0 c 0.032,0.0 0.016,0.2 0.08,0.2 l 0.12,0.0 c 0.032,0.0 0.016,0.2 0.08,0.2 l 0.12,0.0 c 0.032,0.0 0.016,0.2 0.08,0.2 l 0.12,0.0 c 0.032,0.0 0.016,0.2 0.08,0.2 l 0.12,0.0 c 0.032,0.0 0.016,0.2 0.08,0.2 l 0.12,0.0 L 1.0,1.0" /> diff --git a/core/res/res/values-round-watch/styles_material.xml b/core/res/res/interpolator-watch/trim_end_interpolator.xml index a2f3c0243189..f46d5e0e7c82 100644 --- a/core/res/res/values-round-watch/styles_material.xml +++ b/core/res/res/interpolator-watch/trim_end_interpolator.xml @@ -1,5 +1,6 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2016 The Android Open Source Project +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2016 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. @@ -13,8 +14,5 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources> - <style name="TextAppearance.Material.AlertDialogMessage" parent="TextAppearance.Material.Body1"> - <item name="textAlignment">center</item> - </style> -</resources> +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="M 0.0,0.0 c 0.08,0.0 0.04,1.0 0.2,1.0 l 0.8,0.0 L 1.0,1.0" /> diff --git a/core/res/res/drawable/watch_switch_thumb_to_on_anim_mtrl.xml b/core/res/res/interpolator-watch/trim_offset_interpolator.xml index 9f92361e70ea..d58672e9cb42 100644 --- a/core/res/res/drawable/watch_switch_thumb_to_on_anim_mtrl.xml +++ b/core/res/res/interpolator-watch/trim_offset_interpolator.xml @@ -1,19 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2016 The Android Open Source Project +<!-- + Copyright (C) 2016 The Android Open Source Project + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> - -<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" - android:drawable="@drawable/watch_switch_thumb_material"> - <target - android:name="thumb_path" - android:animation="@anim/watch_switch_thumb_to_on_animation" /> -</animated-vector> +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="M 0.0,0.0 l 0.4,1.0 l 0.6,0.0 L 1.0,1.0" /> diff --git a/core/res/res/drawable/watch_switch_thumb_to_off_anim_mtrl.xml b/core/res/res/interpolator-watch/trim_start_interpolator.xml index 2c6ba2f75753..365609c97d75 100644 --- a/core/res/res/drawable/watch_switch_thumb_to_off_anim_mtrl.xml +++ b/core/res/res/interpolator-watch/trim_start_interpolator.xml @@ -1,19 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2016 The Android Open Source Project +<!-- + Copyright (C) 2016 The Android Open Source Project + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> - -<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" - android:drawable="@drawable/watch_switch_thumb_material"> - <target - android:name="thumb_path" - android:animation="@anim/watch_switch_thumb_to_off_animation" /> -</animated-vector> +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="M 0.0,0.0 l 0.2,0.0 c 0.08,0.0 0.04,1.0 0.2,1.0 l 0.6,0.0 L 1.0,1.0" /> diff --git a/core/res/res/layout-notround-watch/alert_dialog_header_micro.xml b/core/res/res/layout-notround-watch/alert_dialog_title_material.xml index fc840d9fa73f..307c6db91c3a 100644 --- a/core/res/res/layout-notround-watch/alert_dialog_header_micro.xml +++ b/core/res/res/layout-notround-watch/alert_dialog_title_material.xml @@ -30,12 +30,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@null" /> - <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" + <TextView android:id="@+id/alertTitle" style="?android:attr/windowTitleStyle" - android:ellipsize="end" - android:layout_marginStart="8dp" android:layout_marginBottom="8dp" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAlignment="viewStart" /> + android:layout_height="wrap_content" /> </LinearLayout> diff --git a/core/res/res/layout-round-watch/alert_dialog_header_micro.xml b/core/res/res/layout-round-watch/alert_dialog_title_material.xml index 6f7ae02388a3..027991106c5a 100644 --- a/core/res/res/layout-round-watch/alert_dialog_header_micro.xml +++ b/core/res/res/layout-round-watch/alert_dialog_title_material.xml @@ -27,12 +27,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@null" /> - <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" + <TextView android:id="@+id/alertTitle" style="?android:attr/windowTitleStyle" - android:ellipsize="end" android:layout_marginTop="36dp" - android:layout_marginBottom="4dp" + android:layout_marginBottom="8dp" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAlignment="center" /> + android:layout_height="wrap_content" /> </FrameLayout> diff --git a/core/res/res/layout-watch/alert_dialog_material.xml b/core/res/res/layout-watch/alert_dialog_material.xml index ce8e20a12187..002dde83cd93 100644 --- a/core/res/res/layout-watch/alert_dialog_material.xml +++ b/core/res/res/layout-watch/alert_dialog_material.xml @@ -39,7 +39,7 @@ <include android:id="@+id/title_template" android:layout_width="match_parent" android:layout_height="wrap_content" - layout="@layout/alert_dialog_header_micro"/> + layout="@layout/alert_dialog_title_material"/> </FrameLayout> <!-- Content Panel --> @@ -50,7 +50,8 @@ <TextView android:id="@+id/message" android:layout_width="match_parent" android:layout_height="wrap_content" - android:textAppearance="@style/TextAppearance.Material.Body1" + android:gravity="@integer/config_dialogTextGravity" + android:textAppearance="@style/TextAppearance.Material.Subhead" android:paddingStart="?dialogPreferredPadding" android:paddingEnd="?dialogPreferredPadding" android:paddingTop="8dip" @@ -77,6 +78,7 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_gravity="bottom" android:orientation="vertical" android:minHeight="@dimen/alert_dialog_button_bar_height" android:paddingBottom="?dialogPreferredPadding" diff --git a/core/res/res/layout-watch/date_picker_dialog.xml b/core/res/res/layout-watch/date_picker_dialog.xml new file mode 100644 index 000000000000..b8772bc5ea3c --- /dev/null +++ b/core/res/res/layout-watch/date_picker_dialog.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2007 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. +--> + +<DatePicker xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/datePicker" + android:layout_gravity="center_horizontal" + android:gravity="center_horizontal" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:spinnersShown="true" + android:calendarViewShown="false" + android:datePickerMode="@integer/date_picker_mode" /> diff --git a/core/res/res/layout-watch/preference_widget_switch.xml b/core/res/res/layout-watch/preference_widget_switch.xml index 37d0c6bf1af6..5881cf0c4d1e 100644 --- a/core/res/res/layout-watch/preference_widget_switch.xml +++ b/core/res/res/layout-watch/preference_widget_switch.xml @@ -23,8 +23,8 @@ android:layout_gravity="center" android:thumb="@drawable/watch_switch_thumb_material_anim" android:thumbTint="@color/watch_switch_thumb_color_material" + android:thumbTintMode="multiply" android:track="@drawable/watch_switch_track_material" - android:trackTint="?android:colorPrimary" android:focusable="false" android:clickable="false" android:background="@null" /> diff --git a/core/res/res/layout-watch/time_picker_dialog.xml b/core/res/res/layout-watch/time_picker_dialog.xml new file mode 100644 index 000000000000..788602bf09ba --- /dev/null +++ b/core/res/res/layout-watch/time_picker_dialog.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2007, 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. +*/ +--> + +<TimePicker xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/timePicker" + android:layout_gravity="center_horizontal" + android:gravity="center_horizontal" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:timePickerMode="@integer/time_picker_mode" /> diff --git a/core/res/res/layout/date_picker_legacy_holo.xml b/core/res/res/layout/date_picker_legacy_holo.xml index b465d97339a2..a6e93c99160d 100644 --- a/core/res/res/layout/date_picker_legacy_holo.xml +++ b/core/res/res/layout/date_picker_legacy_holo.xml @@ -41,8 +41,8 @@ android:id="@+id/month" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:layout_marginStart="8dip" android:layout_marginEnd="8dip" android:focusable="true" @@ -54,8 +54,8 @@ android:id="@+id/day" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:layout_marginStart="8dip" android:layout_marginEnd="8dip" android:focusable="true" @@ -67,8 +67,8 @@ android:id="@+id/year" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:layout_marginStart="8dip" android:layout_marginEnd="16dip" android:focusable="true" diff --git a/core/res/res/layout/number_picker_material.xml b/core/res/res/layout/number_picker_material.xml index b0455857e79e..6fbd2b279f0c 100644 --- a/core/res/res/layout/number_picker_material.xml +++ b/core/res/res/layout/number_picker_material.xml @@ -22,4 +22,4 @@ android:gravity="center" android:singleLine="true" android:background="@null" - android:textAppearance="@style/TextAppearance.Material.Body1" /> + android:textAppearance="@style/TextAppearance.Material.NumberPicker" /> diff --git a/core/res/res/layout/time_picker_legacy_material.xml b/core/res/res/layout/time_picker_legacy_material.xml index c6b7d3a70d97..ee56266390f1 100644 --- a/core/res/res/layout/time_picker_legacy_material.xml +++ b/core/res/res/layout/time_picker_legacy_material.xml @@ -40,8 +40,8 @@ android:id="@+id/hour" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:focusable="true" android:focusableInTouchMode="true" /> @@ -62,8 +62,8 @@ android:id="@+id/minute" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:focusable="true" android:focusableInTouchMode="true" /> @@ -75,8 +75,8 @@ android:id="@+id/amPm" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dip" - android:layout_marginBottom="16dip" + android:layout_marginTop="@dimen/picker_top_margin" + android:layout_marginBottom="@dimen/picker_bottom_margin" android:layout_marginStart="8dip" android:layout_marginEnd="8dip" android:focusable="true" diff --git a/core/res/res/raw-ar-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ar-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 002be4164c9a..000000000000 --- a/core/res/res/raw-ar-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>نافذة جديدة للتصفح المتخفي</title> - </head> - <body> - <p><strong>أنت الآن في وضع التصفح المتخفي</strong> الصفحات التي تشاهدها في هذه النافذة لن تظهر في سجل المتصفح أو سجلّ البحث، ولن تترك آثارًا أخرى للتتبع، مثل ملفات تعريف الارتباط على جهازك بعد أن تغلق نافذة التصفح المتخفي. ورغم ذلك، سيتم الاحتفاظ بأي ملفات تنزلها أو أية إشارات مرجعية تقوم بإنشائها.</p> - - <p><strong>العمل في وضع التصفح المخفي لا يؤثر على طريقة عمل الأشخاص الآخرين أو الخوادم أو البرامج الأخرى. كن على حذر مما يلي:</strong></p> - - <ul> - <li>مواقع الويب التي تجمع معلومات عنك أو تشارك الآخرين فيها</li> - <li>مزوّدو خدمة الإنترنت أو الموظفون الذين يتتبعون الصفحات التي تزورها</li> - <li>البرامج الضارة التي تتبع ضغطات المفاتيح التي تقوم بها مقابل تنزيل وجوه رمزية مجانًا</li> - <li>المراقبة من قبل العملاء السريين</li> - <li>الأشخاص الذين يقفون خلفك</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ar/incognito_mode_start_page.html b/core/res/res/raw-ar/incognito_mode_start_page.html deleted file mode 100644 index 002be4164c9a..000000000000 --- a/core/res/res/raw-ar/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>نافذة جديدة للتصفح المتخفي</title> - </head> - <body> - <p><strong>أنت الآن في وضع التصفح المتخفي</strong> الصفحات التي تشاهدها في هذه النافذة لن تظهر في سجل المتصفح أو سجلّ البحث، ولن تترك آثارًا أخرى للتتبع، مثل ملفات تعريف الارتباط على جهازك بعد أن تغلق نافذة التصفح المتخفي. ورغم ذلك، سيتم الاحتفاظ بأي ملفات تنزلها أو أية إشارات مرجعية تقوم بإنشائها.</p> - - <p><strong>العمل في وضع التصفح المخفي لا يؤثر على طريقة عمل الأشخاص الآخرين أو الخوادم أو البرامج الأخرى. كن على حذر مما يلي:</strong></p> - - <ul> - <li>مواقع الويب التي تجمع معلومات عنك أو تشارك الآخرين فيها</li> - <li>مزوّدو خدمة الإنترنت أو الموظفون الذين يتتبعون الصفحات التي تزورها</li> - <li>البرامج الضارة التي تتبع ضغطات المفاتيح التي تقوم بها مقابل تنزيل وجوه رمزية مجانًا</li> - <li>المراقبة من قبل العملاء السريين</li> - <li>الأشخاص الذين يقفون خلفك</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-bg-xlarge/incognito_mode_start_page.html b/core/res/res/raw-bg-xlarge/incognito_mode_start_page.html deleted file mode 100644 index ee25ae4023ff..000000000000 --- a/core/res/res/raw-bg-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нов прозорец „инкогнито“</title> - </head> - <body> - <p><strong>Влязохте в режим „инкогнито“</strong>. Страниците, които разглеждате в този прозорец, няма да се показват в историята на браузъра ви, нито в историята на търсенията ви. Те също няма да оставят други следи като „бисквитки“ в устройството ви, след като затворите прозореца в режим „инкогнито“. Ще се съхранят обаче всички файлове, които изтеглите, или отметки, които създадете.</p> - - <p><strong>Преминаването в режим „инкогнито“ не засяга поведението на други хора, сървъри или софтуер. </strong>Внимавайте за:</p> - - <ul> - <li>уебсайтове, които събират или споделят информация за вас;</li> - <li>доставчици на интернет услуги или служители, които проследяват посещаваните от вас страници;</li> - <li>злонамерен софтуер, който ви дава безплатни емотикони, но в замяна проследява натисканията на клавишите от вас;</li> - <li>наблюдение от тайните служби;</li> - <li>хора, които стоят зад вас.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-bg/incognito_mode_start_page.html b/core/res/res/raw-bg/incognito_mode_start_page.html deleted file mode 100644 index ee25ae4023ff..000000000000 --- a/core/res/res/raw-bg/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нов прозорец „инкогнито“</title> - </head> - <body> - <p><strong>Влязохте в режим „инкогнито“</strong>. Страниците, които разглеждате в този прозорец, няма да се показват в историята на браузъра ви, нито в историята на търсенията ви. Те също няма да оставят други следи като „бисквитки“ в устройството ви, след като затворите прозореца в режим „инкогнито“. Ще се съхранят обаче всички файлове, които изтеглите, или отметки, които създадете.</p> - - <p><strong>Преминаването в режим „инкогнито“ не засяга поведението на други хора, сървъри или софтуер. </strong>Внимавайте за:</p> - - <ul> - <li>уебсайтове, които събират или споделят информация за вас;</li> - <li>доставчици на интернет услуги или служители, които проследяват посещаваните от вас страници;</li> - <li>злонамерен софтуер, който ви дава безплатни емотикони, но в замяна проследява натисканията на клавишите от вас;</li> - <li>наблюдение от тайните служби;</li> - <li>хора, които стоят зад вас.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ca-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ca-xlarge/incognito_mode_start_page.html deleted file mode 100644 index bec3dacb9101..000000000000 --- a/core/res/res/raw-ca-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova finestra d'incògnit</title> - </head> - <body> - <p><strong>Has passat a l'estat d'incògnit</strong>. Les pàgines que visualitzis en aquesta finestra no apareixeran a l'historial del navegador ni a l'historial de cerques, i no deixaran cap pista, com ara galetes, al dispositiu després de tancar la finestra d'incògnit. Tanmateix, es conservaran tots els fitxers que baixis o les adreces d'interès que creïs.</p> - - <p><strong>Utilitzar el mode d'incògnit no afecta el comportament d'altres usuaris, servidors ni programari. Vés amb compte amb:</strong></p> - - <ul> - <li>llocs web que recopilen o comparteixen informació sobre la teva identitat,</li> - <li>proveïdors de serveis d'Internet o treballadors que segueixen les pàgines que visites,</li> - <li>programari maliciós que segueix les teves pulsacions del teclat a canvi d'emoticones,</li> - <li>vigilància per part d'agents secrets,</li> - <li>persones que estan darrere teu.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ca/incognito_mode_start_page.html b/core/res/res/raw-ca/incognito_mode_start_page.html deleted file mode 100644 index bec3dacb9101..000000000000 --- a/core/res/res/raw-ca/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova finestra d'incògnit</title> - </head> - <body> - <p><strong>Has passat a l'estat d'incògnit</strong>. Les pàgines que visualitzis en aquesta finestra no apareixeran a l'historial del navegador ni a l'historial de cerques, i no deixaran cap pista, com ara galetes, al dispositiu després de tancar la finestra d'incògnit. Tanmateix, es conservaran tots els fitxers que baixis o les adreces d'interès que creïs.</p> - - <p><strong>Utilitzar el mode d'incògnit no afecta el comportament d'altres usuaris, servidors ni programari. Vés amb compte amb:</strong></p> - - <ul> - <li>llocs web que recopilen o comparteixen informació sobre la teva identitat,</li> - <li>proveïdors de serveis d'Internet o treballadors que segueixen les pàgines que visites,</li> - <li>programari maliciós que segueix les teves pulsacions del teclat a canvi d'emoticones,</li> - <li>vigilància per part d'agents secrets,</li> - <li>persones que estan darrere teu.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-cs-xlarge/incognito_mode_start_page.html b/core/res/res/raw-cs-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 7420393d3e51..000000000000 --- a/core/res/res/raw-cs-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nové anonymní okno</title> - </head> - <body> - <p><strong>Spustili jste anonymní režim</strong>. Stránky, které zobrazíte v tomto okně, se nezahrnou do historie prohlížeče ani historie vyhledávání a dokonce po zavření tohoto anonymního okna ve vašem zařízení nezanechají ani žádné jiné stopy například v podobě souborů cookie. Veškeré stažené soubory nebo vytvořené záložky však budou zachovány.</p> - - <p><strong>Použití anonymního režimu nemá vliv na chování jiných osob, serverů nebo softwaru. Dejte si pozor na:</strong></p> - - <ul> - <li>Weby, které sbírají nebo sdílejí informace o vás</li> - <li>Poskytovatele internetových služeb nebo zaměstnavatele, kteří sledují stránky, které navštěvujete</li> - <li>Škodlivý software, který sleduje stisknuté klávesy a výměnou nabízí nové emotikony</li> - <li>Tajné agenty</li> - <li>Lidi, kteří vám koukají přes rameno</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-cs/incognito_mode_start_page.html b/core/res/res/raw-cs/incognito_mode_start_page.html deleted file mode 100644 index 7420393d3e51..000000000000 --- a/core/res/res/raw-cs/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nové anonymní okno</title> - </head> - <body> - <p><strong>Spustili jste anonymní režim</strong>. Stránky, které zobrazíte v tomto okně, se nezahrnou do historie prohlížeče ani historie vyhledávání a dokonce po zavření tohoto anonymního okna ve vašem zařízení nezanechají ani žádné jiné stopy například v podobě souborů cookie. Veškeré stažené soubory nebo vytvořené záložky však budou zachovány.</p> - - <p><strong>Použití anonymního režimu nemá vliv na chování jiných osob, serverů nebo softwaru. Dejte si pozor na:</strong></p> - - <ul> - <li>Weby, které sbírají nebo sdílejí informace o vás</li> - <li>Poskytovatele internetových služeb nebo zaměstnavatele, kteří sledují stránky, které navštěvujete</li> - <li>Škodlivý software, který sleduje stisknuté klávesy a výměnou nabízí nové emotikony</li> - <li>Tajné agenty</li> - <li>Lidi, kteří vám koukají přes rameno</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-da-xlarge/incognito_mode_start_page.html b/core/res/res/raw-da-xlarge/incognito_mode_start_page.html deleted file mode 100644 index eae989f9cd19..000000000000 --- a/core/res/res/raw-da-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nyt inkognitovindue</title> - </head> - <body> - <p><strong>Nu er du inkognito</strong>. De sider, du besøger i dette vindue, vises ikke i din browser- eller søgeoversigt, og de efterlader ikke andre spor, såsom cookies, på din enhed, når du lukker incognitovinduet. Filer, som du downloader eller bogmærker, som du opretter, gemmes dog.</p> - - <p><strong>At være inkognito er ikke noget, der påvirker andre folk, servere eller software. Vær opmærksom på:</strong></p> - - <ul> - <li>Websider, der indsamler eller deler oplysninger om dig</li> - <li>Internetserviceudbydere eller arbejdsgivere, der registrerer de sider, du besøger</li> - <li>Ondsindet software, der registrerer dine tasteslag til gengæld for gratis smileys</li> - <li>Overvågning af hemmelige agenter</li> - <li>Folk, der kigger dig over skulderen</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-da/incognito_mode_start_page.html b/core/res/res/raw-da/incognito_mode_start_page.html deleted file mode 100644 index eae989f9cd19..000000000000 --- a/core/res/res/raw-da/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nyt inkognitovindue</title> - </head> - <body> - <p><strong>Nu er du inkognito</strong>. De sider, du besøger i dette vindue, vises ikke i din browser- eller søgeoversigt, og de efterlader ikke andre spor, såsom cookies, på din enhed, når du lukker incognitovinduet. Filer, som du downloader eller bogmærker, som du opretter, gemmes dog.</p> - - <p><strong>At være inkognito er ikke noget, der påvirker andre folk, servere eller software. Vær opmærksom på:</strong></p> - - <ul> - <li>Websider, der indsamler eller deler oplysninger om dig</li> - <li>Internetserviceudbydere eller arbejdsgivere, der registrerer de sider, du besøger</li> - <li>Ondsindet software, der registrerer dine tasteslag til gengæld for gratis smileys</li> - <li>Overvågning af hemmelige agenter</li> - <li>Folk, der kigger dig over skulderen</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-de-xlarge/incognito_mode_start_page.html b/core/res/res/raw-de-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 1d2cb69904b0..000000000000 --- a/core/res/res/raw-de-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Neues Inkognito-Fenster</title> - </head> - <body> - <p><strong>Sie haben den Modus für anonymes Browsen aktiviert</strong>. In diesem Fenster aufgerufene Seiten erscheinen nicht in Ihrem Browser- oder Suchverlauf. Zudem werden nach dem Schließen des Inkognito-Fensters keine anderen Spuren wie etwa Cookies auf Ihrem Gerät gespeichert. Heruntergeladene Dateien oder hinzugefügte Lesezeichen werden jedoch beibehalten.</p> - - <p><strong>Das anonyme Browsen wirkt sich nicht auf das Verhalten von Menschen, Servern oder Software aus. </strong>Vorsicht ist geboten bei:</p> - - <ul> - <li>Websites, auf denen Informationen über Sie gesammelt oder weitergegeben werden</li> - <li>Internetanbietern oder Arbeitgebern, die die von Ihnen aufgerufenen Seiten protokollieren</li> - <li>Bösartiger Software, die Ihnen kostenlose Smileys bietet, dafür aber Ihre Tastatureingaben speichert</li> - <li>Geheimagenten</li> - <li>Personen, die hinter Ihnen stehen</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-de/incognito_mode_start_page.html b/core/res/res/raw-de/incognito_mode_start_page.html deleted file mode 100644 index 1d2cb69904b0..000000000000 --- a/core/res/res/raw-de/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Neues Inkognito-Fenster</title> - </head> - <body> - <p><strong>Sie haben den Modus für anonymes Browsen aktiviert</strong>. In diesem Fenster aufgerufene Seiten erscheinen nicht in Ihrem Browser- oder Suchverlauf. Zudem werden nach dem Schließen des Inkognito-Fensters keine anderen Spuren wie etwa Cookies auf Ihrem Gerät gespeichert. Heruntergeladene Dateien oder hinzugefügte Lesezeichen werden jedoch beibehalten.</p> - - <p><strong>Das anonyme Browsen wirkt sich nicht auf das Verhalten von Menschen, Servern oder Software aus. </strong>Vorsicht ist geboten bei:</p> - - <ul> - <li>Websites, auf denen Informationen über Sie gesammelt oder weitergegeben werden</li> - <li>Internetanbietern oder Arbeitgebern, die die von Ihnen aufgerufenen Seiten protokollieren</li> - <li>Bösartiger Software, die Ihnen kostenlose Smileys bietet, dafür aber Ihre Tastatureingaben speichert</li> - <li>Geheimagenten</li> - <li>Personen, die hinter Ihnen stehen</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-el-xlarge/incognito_mode_start_page.html b/core/res/res/raw-el-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 5641650b8691..000000000000 --- a/core/res/res/raw-el-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Νέο παράθυρο για ανώνυμη περιήγηση</title> - </head> - <body> - <p><strong>Είστε σε κατάσταση ανώνυμης περιήγησης</strong>. Οι σελίδες που θα προβάλλετε σε αυτό το παράθυρο δεν θα εμφανιστούν στο ιστορικό του πρόγράμματος περιήγησης ή στο ιστορικό αναζήτησης. Επίσης, δεν θα αφήσουν ίχνη, όπως cookie, στη συσκευή σας αφού κλείσετε το παράθυρο ανώνυμης περιήγησης. Ωστόσο, τα αρχεία και οι σελιδοδείκτες που θα δημιουργήσετε θα διατηρηθούν.</p> - - <p><strong>Η κατάσταση ανώνυμης περιήγησης δεν επηρεάζει την συμπεριφορά άλλων, διακομιστών ή λογισμικού. Αλλά προσοχή σε:</strong></p> - - <ul> - <li>Ιστοτόπους που συλλέγουν ή μοιράζονται πληροφορίες για εσάς</li> - <li>Πάροχους υπηρεσιών διαδικτύου ή εργοδότες που παρακολουθούν τις ιστοσελίδες που επισκέπτεστε</li> - <li>Κακόβουλο λογισμικό που καταγράφει ότι πληκτρολογείτε με αντάλλαγμα δωρεάν "φατσούλες"</li> - <li>Παρακολούθηση από μυστικούς πράκτορες</li> - <li>Άτομα που στέκονται πίσω σας</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-el/incognito_mode_start_page.html b/core/res/res/raw-el/incognito_mode_start_page.html deleted file mode 100644 index 5641650b8691..000000000000 --- a/core/res/res/raw-el/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Νέο παράθυρο για ανώνυμη περιήγηση</title> - </head> - <body> - <p><strong>Είστε σε κατάσταση ανώνυμης περιήγησης</strong>. Οι σελίδες που θα προβάλλετε σε αυτό το παράθυρο δεν θα εμφανιστούν στο ιστορικό του πρόγράμματος περιήγησης ή στο ιστορικό αναζήτησης. Επίσης, δεν θα αφήσουν ίχνη, όπως cookie, στη συσκευή σας αφού κλείσετε το παράθυρο ανώνυμης περιήγησης. Ωστόσο, τα αρχεία και οι σελιδοδείκτες που θα δημιουργήσετε θα διατηρηθούν.</p> - - <p><strong>Η κατάσταση ανώνυμης περιήγησης δεν επηρεάζει την συμπεριφορά άλλων, διακομιστών ή λογισμικού. Αλλά προσοχή σε:</strong></p> - - <ul> - <li>Ιστοτόπους που συλλέγουν ή μοιράζονται πληροφορίες για εσάς</li> - <li>Πάροχους υπηρεσιών διαδικτύου ή εργοδότες που παρακολουθούν τις ιστοσελίδες που επισκέπτεστε</li> - <li>Κακόβουλο λογισμικό που καταγράφει ότι πληκτρολογείτε με αντάλλαγμα δωρεάν "φατσούλες"</li> - <li>Παρακολούθηση από μυστικούς πράκτορες</li> - <li>Άτομα που στέκονται πίσω σας</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-en-rGB-xlarge/incognito_mode_start_page.html b/core/res/res/raw-en-rGB-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 7436f9804c51..000000000000 --- a/core/res/res/raw-en-rGB-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>New incognito window</title> - </head> - <body> - <p><strong>You've gone incognito</strong>. Pages that you view in this window won't appear in your browser history or search history, and they won't leave other traces, such as cookies, on your device after you close the incognito window. However, any files that you download or bookmarks that you create will be preserved.</p> - - <p><strong>Going incognito doesn't affect the behaviour of other people, servers or software. Be cautious of:</strong></p> - - <ul> - <li>Websites that collect or share information about you</li> - <li>Internet service providers or employers that track the pages that you visit</li> - <li>Malicious software that tracks your keystrokes in exchange for free smileys</li> - <li>Surveillance by secret agents</li> - <li>People standing behind you</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-en-rGB/incognito_mode_start_page.html b/core/res/res/raw-en-rGB/incognito_mode_start_page.html deleted file mode 100644 index 7436f9804c51..000000000000 --- a/core/res/res/raw-en-rGB/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>New incognito window</title> - </head> - <body> - <p><strong>You've gone incognito</strong>. Pages that you view in this window won't appear in your browser history or search history, and they won't leave other traces, such as cookies, on your device after you close the incognito window. However, any files that you download or bookmarks that you create will be preserved.</p> - - <p><strong>Going incognito doesn't affect the behaviour of other people, servers or software. Be cautious of:</strong></p> - - <ul> - <li>Websites that collect or share information about you</li> - <li>Internet service providers or employers that track the pages that you visit</li> - <li>Malicious software that tracks your keystrokes in exchange for free smileys</li> - <li>Surveillance by secret agents</li> - <li>People standing behind you</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-es-rUS-xlarge/incognito_mode_start_page.html b/core/res/res/raw-es-rUS-xlarge/incognito_mode_start_page.html deleted file mode 100644 index d283df56cbaf..000000000000 --- a/core/res/res/raw-es-rUS-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nueva ventana de incógnito</title> - </head> - <body> - <p><strong>Estás de incógnito</strong>. Las páginas que veas en esta ventana no aparecerán en el historial de tu navegador ni en el historial de búsquedas, y cuando cierres la ventana de incógnito, tampoco quedará ningún otro rastro, como cookies, en tu dispositivo. Sin embargo, sí se preservarán los archivos que descargues o los favoritos que marques.</p> - - <p><strong>Estar de incógnito no afecta el comportamiento de otras personas, servidores o programas. Ten cuidado con:</strong></p> - - <ul> - <li>Sitios web que recaban o comparten tu información</li> - <li>Proveedores de servicio de Internet o empleadores que hacen un seguimiento de las páginas que visitas</li> - <li>Programas de software maliciosos que hacen un seguimiento de la actividad de tu teclado a cambio de emoticones gratuitos</li> - <li>Vigilancia a cargo de agentes secretos</li> - <li>Personas paradas atrás tuyo</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-es-rUS/incognito_mode_start_page.html b/core/res/res/raw-es-rUS/incognito_mode_start_page.html deleted file mode 100644 index d283df56cbaf..000000000000 --- a/core/res/res/raw-es-rUS/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nueva ventana de incógnito</title> - </head> - <body> - <p><strong>Estás de incógnito</strong>. Las páginas que veas en esta ventana no aparecerán en el historial de tu navegador ni en el historial de búsquedas, y cuando cierres la ventana de incógnito, tampoco quedará ningún otro rastro, como cookies, en tu dispositivo. Sin embargo, sí se preservarán los archivos que descargues o los favoritos que marques.</p> - - <p><strong>Estar de incógnito no afecta el comportamiento de otras personas, servidores o programas. Ten cuidado con:</strong></p> - - <ul> - <li>Sitios web que recaban o comparten tu información</li> - <li>Proveedores de servicio de Internet o empleadores que hacen un seguimiento de las páginas que visitas</li> - <li>Programas de software maliciosos que hacen un seguimiento de la actividad de tu teclado a cambio de emoticones gratuitos</li> - <li>Vigilancia a cargo de agentes secretos</li> - <li>Personas paradas atrás tuyo</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-es-xlarge/incognito_mode_start_page.html b/core/res/res/raw-es-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 6d9b5014b615..000000000000 --- a/core/res/res/raw-es-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nueva ventana de incógnito</title> - </head> - <body> - <p><strong>Estás navegando de incógnito</strong>. Las páginas que consultes a través de esta ventana no quedarán registradas en el historial del navegador ni en el historial de búsquedas, y tampoco dejarán otros rastros en el ordenador (como cookies) una vez cerrada. Los archivos que descargues y los marcadores que guardes sí se almacenarán. </p> - - <p><strong>La función de navegación de incógnito no afecta al comportamiento de los servidores o programas de software. Ten cuidado con:</strong></p> - - <ul> - <li>sitios web que recopilan o comparten información personal</li> - <li>proveedores de servicios de Internet o trabajadores de estas empresas que supervisan las páginas que visitas</li> - <li>software malicioso que realiza un seguimiento de las teclas que pulsas a cambio de emoticonos gratuitos</li> - <li>actividades de seguimiento por parte de terceros</li> - <li>personas merodeando cerca de tu ordenador</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-es/incognito_mode_start_page.html b/core/res/res/raw-es/incognito_mode_start_page.html deleted file mode 100644 index 6d9b5014b615..000000000000 --- a/core/res/res/raw-es/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nueva ventana de incógnito</title> - </head> - <body> - <p><strong>Estás navegando de incógnito</strong>. Las páginas que consultes a través de esta ventana no quedarán registradas en el historial del navegador ni en el historial de búsquedas, y tampoco dejarán otros rastros en el ordenador (como cookies) una vez cerrada. Los archivos que descargues y los marcadores que guardes sí se almacenarán. </p> - - <p><strong>La función de navegación de incógnito no afecta al comportamiento de los servidores o programas de software. Ten cuidado con:</strong></p> - - <ul> - <li>sitios web que recopilan o comparten información personal</li> - <li>proveedores de servicios de Internet o trabajadores de estas empresas que supervisan las páginas que visitas</li> - <li>software malicioso que realiza un seguimiento de las teclas que pulsas a cambio de emoticonos gratuitos</li> - <li>actividades de seguimiento por parte de terceros</li> - <li>personas merodeando cerca de tu ordenador</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fa-xlarge/incognito_mode_start_page.html b/core/res/res/raw-fa-xlarge/incognito_mode_start_page.html deleted file mode 100644 index f004120a62e4..000000000000 --- a/core/res/res/raw-fa-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>پنجره ناشناس جدید</title> - </head> - <body> - <p><strong>شما به صورت ناشناس وارد شده اید</strong> صفحاتی که شما در این پنجره مشاهده میکنید در سابقه مرورگر یا سابقه جستجوی شما ظاهر نمیشوند، و پس از بستن پنجره ناشناس، دنباله ای از خود مانند کوکی ها روی دستگاه شما بر جای نمیگذارند. به هر حال، فایل های دانلود شده و نشانکهای صفحه ای که ایجاد کرده اید باقی خواهند ماند.</p> - - <p><strong>وارد شدن به صورت ناشناس، تاثیری بر روی رفتار افراد دیگر، سرورها و یا نرم افزارها ندارد. در خصوص موارد زیر هشیار باشید:</strong></p> - - <ul> - <li>وبسایت هایی که اطلاعاتی را در مورد شما جمع آوری کرده و به اشتراک میگذارند</li> - <li>تامین کننده های خدمات اینترنتی شما یا کارمندانی که صفحاتی که شما بازدید کرده اید را پیگیری میکنند</li> - <li>نرم افزارهای مخربی که در ازای نشانک های رایگان، ضربات کلیدهای شما را ذخیره میکنند</li> - <li>نظارت توسط نمایندگان سری</li> - <li>افرادی که پشت سرتان ایستاده اند</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fa/incognito_mode_start_page.html b/core/res/res/raw-fa/incognito_mode_start_page.html deleted file mode 100644 index f004120a62e4..000000000000 --- a/core/res/res/raw-fa/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>پنجره ناشناس جدید</title> - </head> - <body> - <p><strong>شما به صورت ناشناس وارد شده اید</strong> صفحاتی که شما در این پنجره مشاهده میکنید در سابقه مرورگر یا سابقه جستجوی شما ظاهر نمیشوند، و پس از بستن پنجره ناشناس، دنباله ای از خود مانند کوکی ها روی دستگاه شما بر جای نمیگذارند. به هر حال، فایل های دانلود شده و نشانکهای صفحه ای که ایجاد کرده اید باقی خواهند ماند.</p> - - <p><strong>وارد شدن به صورت ناشناس، تاثیری بر روی رفتار افراد دیگر، سرورها و یا نرم افزارها ندارد. در خصوص موارد زیر هشیار باشید:</strong></p> - - <ul> - <li>وبسایت هایی که اطلاعاتی را در مورد شما جمع آوری کرده و به اشتراک میگذارند</li> - <li>تامین کننده های خدمات اینترنتی شما یا کارمندانی که صفحاتی که شما بازدید کرده اید را پیگیری میکنند</li> - <li>نرم افزارهای مخربی که در ازای نشانک های رایگان، ضربات کلیدهای شما را ذخیره میکنند</li> - <li>نظارت توسط نمایندگان سری</li> - <li>افرادی که پشت سرتان ایستاده اند</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fi-xlarge/incognito_mode_start_page.html b/core/res/res/raw-fi-xlarge/incognito_mode_start_page.html deleted file mode 100644 index feb9f4faae32..000000000000 --- a/core/res/res/raw-fi-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Uusi incognito-ikkuna</title> - </head> - <body> - <p><strong>Olet nyt incognito-tilassa</strong>. Incognito-tilassa katsellut sivut eivät näy selainhistoriassa eikä hakuhistoriassa. Ne eivät myöskään jätä muita jälkiä, kuten evästeitä, sivun sulkemisen jälkeen. Lataamasi tiedostot tai luomasi kirjanmerkit tosin tallentuvat.</p> - - <p><strong>Incognito-tilaan siirtyminen ei vaikuta muiden ihmisten, palvelimien tai tietokoneohjelmien toimintaan. Varo:</strong></p> - - <ul> - <li>Verkkosivustoja jotka keräävät sinusta tietoa ja/tai jakavat sitä eteenpäin</li> - <li>Internet-palveluntarjoajia ja työnantajia jotka seuraavat sivuja, joilla käyt</li> - <li>Haittaohjelmia jotka seuraavat näppäimistön toimintaa ja tarjoavat vastineeksi ilmaisia hymiöitä</li> - <li>Salaisten agenttien seurantaa</li> - <li>Ihmisiä jotka seisovat takanasi</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fi/incognito_mode_start_page.html b/core/res/res/raw-fi/incognito_mode_start_page.html deleted file mode 100644 index feb9f4faae32..000000000000 --- a/core/res/res/raw-fi/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Uusi incognito-ikkuna</title> - </head> - <body> - <p><strong>Olet nyt incognito-tilassa</strong>. Incognito-tilassa katsellut sivut eivät näy selainhistoriassa eikä hakuhistoriassa. Ne eivät myöskään jätä muita jälkiä, kuten evästeitä, sivun sulkemisen jälkeen. Lataamasi tiedostot tai luomasi kirjanmerkit tosin tallentuvat.</p> - - <p><strong>Incognito-tilaan siirtyminen ei vaikuta muiden ihmisten, palvelimien tai tietokoneohjelmien toimintaan. Varo:</strong></p> - - <ul> - <li>Verkkosivustoja jotka keräävät sinusta tietoa ja/tai jakavat sitä eteenpäin</li> - <li>Internet-palveluntarjoajia ja työnantajia jotka seuraavat sivuja, joilla käyt</li> - <li>Haittaohjelmia jotka seuraavat näppäimistön toimintaa ja tarjoavat vastineeksi ilmaisia hymiöitä</li> - <li>Salaisten agenttien seurantaa</li> - <li>Ihmisiä jotka seisovat takanasi</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fr-xlarge/incognito_mode_start_page.html b/core/res/res/raw-fr-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 8962cdf28859..000000000000 --- a/core/res/res/raw-fr-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nouvelle fenêtre de navigation privée</title> - </head> - <body> - <p><strong>Vous êtes passé en navigation privée</strong>. Les pages que vous consultez dans cette fenêtre n'apparaîtront ni dans l'historique de votre navigateur, ni dans l'historique des recherches, et ne laisseront aucune trace (comme les cookies) sur votre appareil une fois que vous aurez fermé la fenêtre de navigation privée. Tous les fichiers téléchargés et les favoris créés seront toutefois conservés.</p> - - <p><strong>Passer en navigation privée n'a aucun effet sur les autres utilisateurs, serveurs ou logiciels. Méfiez-vous :</strong></p> - - <ul> - <li>Des sites Web qui collectent ou partagent des informations vous concernant</li> - <li>Des fournisseurs d'accès Internet ou des employeurs qui conservent une trace des pages que vous visitez</li> - <li>Des programmes indésirables qui enregistrent vos frappes en échange d'émoticônes gratuites</li> - <li>Des personnes qui pourraient surveiller vos activités</li> - <li>Des personnes qui se tiennent derrière vous</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-fr/incognito_mode_start_page.html b/core/res/res/raw-fr/incognito_mode_start_page.html deleted file mode 100644 index 8962cdf28859..000000000000 --- a/core/res/res/raw-fr/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nouvelle fenêtre de navigation privée</title> - </head> - <body> - <p><strong>Vous êtes passé en navigation privée</strong>. Les pages que vous consultez dans cette fenêtre n'apparaîtront ni dans l'historique de votre navigateur, ni dans l'historique des recherches, et ne laisseront aucune trace (comme les cookies) sur votre appareil une fois que vous aurez fermé la fenêtre de navigation privée. Tous les fichiers téléchargés et les favoris créés seront toutefois conservés.</p> - - <p><strong>Passer en navigation privée n'a aucun effet sur les autres utilisateurs, serveurs ou logiciels. Méfiez-vous :</strong></p> - - <ul> - <li>Des sites Web qui collectent ou partagent des informations vous concernant</li> - <li>Des fournisseurs d'accès Internet ou des employeurs qui conservent une trace des pages que vous visitez</li> - <li>Des programmes indésirables qui enregistrent vos frappes en échange d'émoticônes gratuites</li> - <li>Des personnes qui pourraient surveiller vos activités</li> - <li>Des personnes qui se tiennent derrière vous</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hi-xlarge/incognito_mode_start_page.html b/core/res/res/raw-hi-xlarge/incognito_mode_start_page.html deleted file mode 100644 index f73c41d01e9c..000000000000 --- a/core/res/res/raw-hi-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>नई गुप्त विंडो</title> - </head> - <body> - <p><strong>आप गुप्त मोड में हैं</strong>. इस विंडो में देखे गए पृष्ठ आपके ब्राउज़र इतिहास या खोज इतिहास में प्रकट नहीं होंगे, और वे आपके डिवाइस पर गुप्त विंडो बंद करने के बाद और कोई चिह्न जैसे कुकीज़, नहीं छोड़ते. हालांकि डाउनलोड की गई या बुकमार्क की गई कोई भी फ़ाइल संरक्षित रखी जाएगी.</p> - - <p><strong>गुप्त मोड में होने से दूसरे लोगों, सर्वर. या सॉफ़्टवेयर पर कोई प्रभाव नहीं होता. इनका ध्यान रखें</strong></p> - - <ul> - <li>वे वेबसाइट जो आपके बारे में जानकारी एकत्र या शेयर करती हैं</li> - <li>इंटरनेट सेवा प्रदाता या नियोक्ता जो आपके द्वारा विज़िट किए गए पृष्ठों पर नज़र रखते हैं</li> - <li>दुर्भावनापूर्ण सॉफ़्टवेयर जो मुफ़्त स्माइली के बदले आपके कीस्ट्रोक पर नज़र रखते हैं.</li> - <li>गुप्तचरों द्वारा निगरानी</li> - <li>आपके पीछे खड़े लोग</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hi/incognito_mode_start_page.html b/core/res/res/raw-hi/incognito_mode_start_page.html deleted file mode 100644 index f73c41d01e9c..000000000000 --- a/core/res/res/raw-hi/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>नई गुप्त विंडो</title> - </head> - <body> - <p><strong>आप गुप्त मोड में हैं</strong>. इस विंडो में देखे गए पृष्ठ आपके ब्राउज़र इतिहास या खोज इतिहास में प्रकट नहीं होंगे, और वे आपके डिवाइस पर गुप्त विंडो बंद करने के बाद और कोई चिह्न जैसे कुकीज़, नहीं छोड़ते. हालांकि डाउनलोड की गई या बुकमार्क की गई कोई भी फ़ाइल संरक्षित रखी जाएगी.</p> - - <p><strong>गुप्त मोड में होने से दूसरे लोगों, सर्वर. या सॉफ़्टवेयर पर कोई प्रभाव नहीं होता. इनका ध्यान रखें</strong></p> - - <ul> - <li>वे वेबसाइट जो आपके बारे में जानकारी एकत्र या शेयर करती हैं</li> - <li>इंटरनेट सेवा प्रदाता या नियोक्ता जो आपके द्वारा विज़िट किए गए पृष्ठों पर नज़र रखते हैं</li> - <li>दुर्भावनापूर्ण सॉफ़्टवेयर जो मुफ़्त स्माइली के बदले आपके कीस्ट्रोक पर नज़र रखते हैं.</li> - <li>गुप्तचरों द्वारा निगरानी</li> - <li>आपके पीछे खड़े लोग</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hr-xlarge/incognito_mode_start_page.html b/core/res/res/raw-hr-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 6f20fe0ecfd9..000000000000 --- a/core/res/res/raw-hr-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Novi anonimni prozor</title> - </head> - <body> - <p><strong>Sada ste anonimni</strong>. Stranice koje pregledavate u ovom prozoru neće se pojaviti u povijesti preglednika ili povijesti pretraživanja, neće ostaviti tragove, poput kolačića, na vašem uređaju nakon što zatvorite anonimni prozor. Međutim, sve datoteke koje preuzmete ili oznake koje stvorite bit će sačuvane.</p> - - <p><strong>Anonimno pregledavanje neće utjecati na ponašanje drugih osoba, poslužitelja ili softvera. Pazite na sljedeće:</strong></p> - - <ul> - <li>Web-lokacije koje prikupljaju ili dijele informacije o vama</li> - <li>Davatelje internetskih usluga ili poslodavce koji prate stranice koje posjećujete</li> - <li>Zlonamjerni softver koji prati koje tipke pritišćete u zamjenu za besplatne emotikone</li> - <li>Nadzor tajnih službi</li> - <li>Osobe koje stoje iza vas</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hr/incognito_mode_start_page.html b/core/res/res/raw-hr/incognito_mode_start_page.html deleted file mode 100644 index 6f20fe0ecfd9..000000000000 --- a/core/res/res/raw-hr/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Novi anonimni prozor</title> - </head> - <body> - <p><strong>Sada ste anonimni</strong>. Stranice koje pregledavate u ovom prozoru neće se pojaviti u povijesti preglednika ili povijesti pretraživanja, neće ostaviti tragove, poput kolačića, na vašem uređaju nakon što zatvorite anonimni prozor. Međutim, sve datoteke koje preuzmete ili oznake koje stvorite bit će sačuvane.</p> - - <p><strong>Anonimno pregledavanje neće utjecati na ponašanje drugih osoba, poslužitelja ili softvera. Pazite na sljedeće:</strong></p> - - <ul> - <li>Web-lokacije koje prikupljaju ili dijele informacije o vama</li> - <li>Davatelje internetskih usluga ili poslodavce koji prate stranice koje posjećujete</li> - <li>Zlonamjerni softver koji prati koje tipke pritišćete u zamjenu za besplatne emotikone</li> - <li>Nadzor tajnih službi</li> - <li>Osobe koje stoje iza vas</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hu-xlarge/incognito_mode_start_page.html b/core/res/res/raw-hu-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 38b0806a1d58..000000000000 --- a/core/res/res/raw-hu-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Új inkognitóablak</title> - </head> - <body> - <p><strong>Ön inkognitó módra váltott</strong>. Az inkognitóablakban megtekintett oldalak nem jelennek meg böngészője előzményeiben, illetve keresési előzményeiben, és nem hagynak más nyomot pl. cookie-t sem a számítógépén az inkognitóablak bezárását követően. A letöltött fájlok, valamint a létrehozott könyvjelzők azonban megmaradnak.</p> - - <p><strong>Az inkognitó üzemmód nem befolyásolja a többi felhasználó, szerver vagy szoftver viselkedését. Ügyeljen a következőkre:</strong></p> - - <ul> - <li>Olyan webhelyek, amelyek információt gyűjtenek vagy osztanak meg Önről</li> - <li>Olyan internetszolgáltatók vagy alkalmazottaik, akik nyomon követik az Ön által látogatott oldalakat</li> - <li>Olyan kártékony szoftverek, amelyek ingyenes hangulatjelekért cserébe nyomon követik billentyűbeviteleit</li> - <li>Titkos ügynökök megfigyelése</li> - <li>Az Ön mögött álló emberek</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-hu/incognito_mode_start_page.html b/core/res/res/raw-hu/incognito_mode_start_page.html deleted file mode 100644 index 38b0806a1d58..000000000000 --- a/core/res/res/raw-hu/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Új inkognitóablak</title> - </head> - <body> - <p><strong>Ön inkognitó módra váltott</strong>. Az inkognitóablakban megtekintett oldalak nem jelennek meg böngészője előzményeiben, illetve keresési előzményeiben, és nem hagynak más nyomot pl. cookie-t sem a számítógépén az inkognitóablak bezárását követően. A letöltött fájlok, valamint a létrehozott könyvjelzők azonban megmaradnak.</p> - - <p><strong>Az inkognitó üzemmód nem befolyásolja a többi felhasználó, szerver vagy szoftver viselkedését. Ügyeljen a következőkre:</strong></p> - - <ul> - <li>Olyan webhelyek, amelyek információt gyűjtenek vagy osztanak meg Önről</li> - <li>Olyan internetszolgáltatók vagy alkalmazottaik, akik nyomon követik az Ön által látogatott oldalakat</li> - <li>Olyan kártékony szoftverek, amelyek ingyenes hangulatjelekért cserébe nyomon követik billentyűbeviteleit</li> - <li>Titkos ügynökök megfigyelése</li> - <li>Az Ön mögött álló emberek</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-id-xlarge/incognito_mode_start_page.html b/core/res/res/raw-id-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 788c08868012..000000000000 --- a/core/res/res/raw-id-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Jendela penyamaran baru</title> - </head> - <body> - <p><strong>Anda menggunakan penyamaran</strong>. Laman yang Anda lihat di jendela ini tidak akan ditampilkan dalam riwayat peramban atau riwayat penelusuran, dan tidak akan meninggalkan jejak, seperti kuki, di perangkat setelah jendela penyamaran ditutup. Namun, berkas yang diunduh atau bookmark yang dibuat akan disimpan.</p> - - <p><strong>Menggunakan penyamaran tidak mempengaruhi perilaku orang lain, server, atau perangkat lunak. Waspadai:</strong></p> - - <ul> - <li>Situs web yang mengumpulkan atau berbagi informasi tentang Anda</li> - <li>Penyedia layanan internet atau tempat kerja yang melacak laman yang Anda kunjungi</li> - <li>Perangkat lunak jahat yang melacak penekanan tombol dengan imbalan smiley gratis</li> - <li>Pemantauan oleh agen rahasia</li> - <li>Orang yang berdiri di belakang Anda</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-id/incognito_mode_start_page.html b/core/res/res/raw-id/incognito_mode_start_page.html deleted file mode 100644 index 788c08868012..000000000000 --- a/core/res/res/raw-id/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Jendela penyamaran baru</title> - </head> - <body> - <p><strong>Anda menggunakan penyamaran</strong>. Laman yang Anda lihat di jendela ini tidak akan ditampilkan dalam riwayat peramban atau riwayat penelusuran, dan tidak akan meninggalkan jejak, seperti kuki, di perangkat setelah jendela penyamaran ditutup. Namun, berkas yang diunduh atau bookmark yang dibuat akan disimpan.</p> - - <p><strong>Menggunakan penyamaran tidak mempengaruhi perilaku orang lain, server, atau perangkat lunak. Waspadai:</strong></p> - - <ul> - <li>Situs web yang mengumpulkan atau berbagi informasi tentang Anda</li> - <li>Penyedia layanan internet atau tempat kerja yang melacak laman yang Anda kunjungi</li> - <li>Perangkat lunak jahat yang melacak penekanan tombol dengan imbalan smiley gratis</li> - <li>Pemantauan oleh agen rahasia</li> - <li>Orang yang berdiri di belakang Anda</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-it-xlarge/incognito_mode_start_page.html b/core/res/res/raw-it-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 4a34874462da..000000000000 --- a/core/res/res/raw-it-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nuova finestra di navigazione in incognito</title> - </head> - <body> - <p><strong>Sei passato alla navigazione in incognito</strong>. Le pagine aperte in questa finestra non vengono registrate nella cronologia di navigazione o di ricerca, e non lasciano traccia sul tuo computer, ad esempio sotto forma di cookie, una volta chiusa la finestra. Tuttavia, qualsiasi file scaricato o preferito creato verrà conservato.</p> - - <p><strong>La navigazione in incognito non influisce sul comportamento di altri utenti, server o software. Diffida di:</strong></p> - - <ul> - <li>Siti web che raccolgono o condividono informazioni su di te</li> - <li>Provider di servizi Internet o datori di lavoro che registrano le pagine da te visitate</li> - <li>Software dannosi che registrano le sequenze di tasti da te utilizzate in cambio di smiley gratuiti</li> - <li>Agenti segreti</li> - <li>Persone che ti stanno alle spalle</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-it/incognito_mode_start_page.html b/core/res/res/raw-it/incognito_mode_start_page.html deleted file mode 100644 index 4a34874462da..000000000000 --- a/core/res/res/raw-it/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nuova finestra di navigazione in incognito</title> - </head> - <body> - <p><strong>Sei passato alla navigazione in incognito</strong>. Le pagine aperte in questa finestra non vengono registrate nella cronologia di navigazione o di ricerca, e non lasciano traccia sul tuo computer, ad esempio sotto forma di cookie, una volta chiusa la finestra. Tuttavia, qualsiasi file scaricato o preferito creato verrà conservato.</p> - - <p><strong>La navigazione in incognito non influisce sul comportamento di altri utenti, server o software. Diffida di:</strong></p> - - <ul> - <li>Siti web che raccolgono o condividono informazioni su di te</li> - <li>Provider di servizi Internet o datori di lavoro che registrano le pagine da te visitate</li> - <li>Software dannosi che registrano le sequenze di tasti da te utilizzate in cambio di smiley gratuiti</li> - <li>Agenti segreti</li> - <li>Persone che ti stanno alle spalle</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-iw-xlarge/incognito_mode_start_page.html b/core/res/res/raw-iw-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 368dea0ed395..000000000000 --- a/core/res/res/raw-iw-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>חלון חדש של גלישה בסתר</title> - </head> - <body> - <p><strong>עברת למצב של גלישה בסתר</strong>. דפים שאתה רואה בחלון זה לא יופיעו בהיסטוריית הדפדפן או בהיסטוריית החיפושים שלך, והם לא ישאירו עקבות אחרים, כמו קובצי cookie, לאחר שתסגור את חלון הגלישה בסתר. עם זאת, כל קובץ שאתה מוריד או כוכביות שאתה יוצר יישמרו.</p> - - <p><strong> גלישה בסתר לא משפיעה על התנהגותם של אנשים אחרים, שרתים אחרים או תוכנות אחרות. היזהר מ:</strong></p> - - <ul> - <li>אתרים שאוספים נתונים או משתפים מידע לגביך</li> - <li>ספקי שירות אינטרנט או עובדים שעוקבים אחר הדפים שבהם אתה מבקר</li> - <li>תוכנה זדונית שעוקבת אחר ההקשות שלך על המקשים בתמורה לסימני סמיילי בחינם</li> - <li>מעקב של סוכנים חשאיים</li> - <li>אנשים שעומדים מאחוריך</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-iw/incognito_mode_start_page.html b/core/res/res/raw-iw/incognito_mode_start_page.html deleted file mode 100644 index 368dea0ed395..000000000000 --- a/core/res/res/raw-iw/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="RTL"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>חלון חדש של גלישה בסתר</title> - </head> - <body> - <p><strong>עברת למצב של גלישה בסתר</strong>. דפים שאתה רואה בחלון זה לא יופיעו בהיסטוריית הדפדפן או בהיסטוריית החיפושים שלך, והם לא ישאירו עקבות אחרים, כמו קובצי cookie, לאחר שתסגור את חלון הגלישה בסתר. עם זאת, כל קובץ שאתה מוריד או כוכביות שאתה יוצר יישמרו.</p> - - <p><strong> גלישה בסתר לא משפיעה על התנהגותם של אנשים אחרים, שרתים אחרים או תוכנות אחרות. היזהר מ:</strong></p> - - <ul> - <li>אתרים שאוספים נתונים או משתפים מידע לגביך</li> - <li>ספקי שירות אינטרנט או עובדים שעוקבים אחר הדפים שבהם אתה מבקר</li> - <li>תוכנה זדונית שעוקבת אחר ההקשות שלך על המקשים בתמורה לסימני סמיילי בחינם</li> - <li>מעקב של סוכנים חשאיים</li> - <li>אנשים שעומדים מאחוריך</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ja-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ja-xlarge/incognito_mode_start_page.html deleted file mode 100644 index a58ad05c2ea7..000000000000 --- a/core/res/res/raw-ja-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新しいシークレットウィンドウ</title> - </head> - <body> - <p><strong>シークレットモードを使用中です</strong>。このウィンドウで開いたページはブラウザの履歴や検索履歴に残りません。このウィンドウを閉じるとCookieなどの記録も端末から消去されます。ただし、ダウンロードしたファイルやブックマークしたページは保存されます。</p> - - <p><strong>シークレットモードが他のユーザーやサーバー、ソフトウェアの動作に影響することはありません。なお、下記のようなケースにご注意ください。</strong></p> - - <ul> - <li>ユーザーの情報を収集、共有するウェブサイト</li> - <li>アクセスしたページをトラッキングするインターネットサービスプロバイダや雇用主</li> - <li>無料ダウンロードなどと一緒にインストールされ、キーストロークを記録するマルウェア</li> - <li>スパイ、諜報活動</li> - <li>背後にいる人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ja/incognito_mode_start_page.html b/core/res/res/raw-ja/incognito_mode_start_page.html deleted file mode 100644 index a58ad05c2ea7..000000000000 --- a/core/res/res/raw-ja/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新しいシークレットウィンドウ</title> - </head> - <body> - <p><strong>シークレットモードを使用中です</strong>。このウィンドウで開いたページはブラウザの履歴や検索履歴に残りません。このウィンドウを閉じるとCookieなどの記録も端末から消去されます。ただし、ダウンロードしたファイルやブックマークしたページは保存されます。</p> - - <p><strong>シークレットモードが他のユーザーやサーバー、ソフトウェアの動作に影響することはありません。なお、下記のようなケースにご注意ください。</strong></p> - - <ul> - <li>ユーザーの情報を収集、共有するウェブサイト</li> - <li>アクセスしたページをトラッキングするインターネットサービスプロバイダや雇用主</li> - <li>無料ダウンロードなどと一緒にインストールされ、キーストロークを記録するマルウェア</li> - <li>スパイ、諜報活動</li> - <li>背後にいる人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ko-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ko-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 0e703b100102..000000000000 --- a/core/res/res/raw-ko-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>새 시크릿 창</title> - </head> - <body> - <p><strong>시크릿 모드로 들어오셨습니다.</strong> 이 창에서 보는 페이지는 브라우저 기록이나 검색기록에 남지 않으며, 시크릿 창을 닫은 뒤 기기에 쿠기와 같은 흔적도 남기지 않습니다. 다운로드한 파일이나 생성한 북마크는 보관됩니다. </p> - - <p><strong>시크릿 모드를 이용해도 다른 사용자, 서버, 소프트웨어에 영향을 주지는 않습니다. 다음을 주의하세요.</strong></p> - - <ul> - <li>사용자에 대한 정보를 모으고 공유하는 웹사이트</li> - <li>방문 페이지를 추적하는 인터넷 서비스 제공업체나 직원 </li> - <li>스마일 이모티콘을 제공한다는 명목으로 입력 내용을 추적하는 악성 소프트웨어</li> - <li>비밀 개체를 통한 감시</li> - <li>뒤에서 사용자의 작업내용을 지켜보는 사람</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ko/incognito_mode_start_page.html b/core/res/res/raw-ko/incognito_mode_start_page.html deleted file mode 100644 index 0e703b100102..000000000000 --- a/core/res/res/raw-ko/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>새 시크릿 창</title> - </head> - <body> - <p><strong>시크릿 모드로 들어오셨습니다.</strong> 이 창에서 보는 페이지는 브라우저 기록이나 검색기록에 남지 않으며, 시크릿 창을 닫은 뒤 기기에 쿠기와 같은 흔적도 남기지 않습니다. 다운로드한 파일이나 생성한 북마크는 보관됩니다. </p> - - <p><strong>시크릿 모드를 이용해도 다른 사용자, 서버, 소프트웨어에 영향을 주지는 않습니다. 다음을 주의하세요.</strong></p> - - <ul> - <li>사용자에 대한 정보를 모으고 공유하는 웹사이트</li> - <li>방문 페이지를 추적하는 인터넷 서비스 제공업체나 직원 </li> - <li>스마일 이모티콘을 제공한다는 명목으로 입력 내용을 추적하는 악성 소프트웨어</li> - <li>비밀 개체를 통한 감시</li> - <li>뒤에서 사용자의 작업내용을 지켜보는 사람</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-lt-xlarge/incognito_mode_start_page.html b/core/res/res/raw-lt-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 9244ae4398b1..000000000000 --- a/core/res/res/raw-lt-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Naujas inkognito langas</title> - </head> - <body> - <p><strong>Naršote inkognito režimu</strong>. Šiame lange peržiūrimi puslapiai nebus išsaugomi naršyklės istorijoje ar paieškos istorijoje ir uždarius inkognito langą nepaliks jokių kitų žymių, pvz., slapukų. Tačiau bus išsaugoti atsisiųsti failai ar sukurtos žymos.</p> - - <p><strong>Naršymas inkognito režimu nedaro jokios įtakos kitiems asmenims, serveriams ar programinei įrangai. Saugokitės:</strong></p> - - <ul> - <li>svetainių, kurios renka ar platina informaciją apie jus</li> - <li>interneto paslaugos teikėjų ar darbdavių, kurie stebi, kuriuos puslapius peržiūrite</li> - <li>kenkėjiškos programinės įrangos, kuri siūlydama nemokamų šypsniukų fiksuoja klavišų paspaudimus</li> - <li>jus galinčių sekti slaptųjų agentų</li> - <li>už nugaros stovinčių asmenų</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-lt/incognito_mode_start_page.html b/core/res/res/raw-lt/incognito_mode_start_page.html deleted file mode 100644 index 9244ae4398b1..000000000000 --- a/core/res/res/raw-lt/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Naujas inkognito langas</title> - </head> - <body> - <p><strong>Naršote inkognito režimu</strong>. Šiame lange peržiūrimi puslapiai nebus išsaugomi naršyklės istorijoje ar paieškos istorijoje ir uždarius inkognito langą nepaliks jokių kitų žymių, pvz., slapukų. Tačiau bus išsaugoti atsisiųsti failai ar sukurtos žymos.</p> - - <p><strong>Naršymas inkognito režimu nedaro jokios įtakos kitiems asmenims, serveriams ar programinei įrangai. Saugokitės:</strong></p> - - <ul> - <li>svetainių, kurios renka ar platina informaciją apie jus</li> - <li>interneto paslaugos teikėjų ar darbdavių, kurie stebi, kuriuos puslapius peržiūrite</li> - <li>kenkėjiškos programinės įrangos, kuri siūlydama nemokamų šypsniukų fiksuoja klavišų paspaudimus</li> - <li>jus galinčių sekti slaptųjų agentų</li> - <li>už nugaros stovinčių asmenų</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-lv-xlarge/incognito_mode_start_page.html b/core/res/res/raw-lv-xlarge/incognito_mode_start_page.html deleted file mode 100644 index f325ef5267b9..000000000000 --- a/core/res/res/raw-lv-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Jauns inkognito logs</title> - </head> - <body> - <p><strong>Jūs esat ieslēdzis inkognito režīmu</strong>. Šajā logā aplūkotās lapas neparādīsies jūsu pārlūkprogrammas vēsturē vai meklēšanas vēsturē, tās arī neatstās citas pēdas, piemēram, sīkfailus, jūsu ierīcē pēc inkognito režīma loga aizvēršanas. Tomēr visi jūsu lejupielādētie faili vai izveidotās grāmatzīmes tiks saglabātas.</p> - - <p><strong>Inkognito režīma ieslēgšana neietekmēs citu personu, serveru vai programmatūras darbību. Uzmanieties no</strong></p> - - <ul> - <li>vietnēm, kas apkopo vai koplieto informāciju par jums;</li> - <li>interneta pakalpojumu sniedzējiem vai darba devējiem, kas izseko jūsu apmeklētajām lapām;</li> - <li>maldprogrammatūras, kas izseko jūsu taustiņsitieniem apmaiņā par bezmaksas smaidiņiem;</li> - <li>slepeno aģentu veiktas izmeklēšanas;</li> - <li>personām, kas stāv aiz jums.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-lv/incognito_mode_start_page.html b/core/res/res/raw-lv/incognito_mode_start_page.html deleted file mode 100644 index f325ef5267b9..000000000000 --- a/core/res/res/raw-lv/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Jauns inkognito logs</title> - </head> - <body> - <p><strong>Jūs esat ieslēdzis inkognito režīmu</strong>. Šajā logā aplūkotās lapas neparādīsies jūsu pārlūkprogrammas vēsturē vai meklēšanas vēsturē, tās arī neatstās citas pēdas, piemēram, sīkfailus, jūsu ierīcē pēc inkognito režīma loga aizvēršanas. Tomēr visi jūsu lejupielādētie faili vai izveidotās grāmatzīmes tiks saglabātas.</p> - - <p><strong>Inkognito režīma ieslēgšana neietekmēs citu personu, serveru vai programmatūras darbību. Uzmanieties no</strong></p> - - <ul> - <li>vietnēm, kas apkopo vai koplieto informāciju par jums;</li> - <li>interneta pakalpojumu sniedzējiem vai darba devējiem, kas izseko jūsu apmeklētajām lapām;</li> - <li>maldprogrammatūras, kas izseko jūsu taustiņsitieniem apmaiņā par bezmaksas smaidiņiem;</li> - <li>slepeno aģentu veiktas izmeklēšanas;</li> - <li>personām, kas stāv aiz jums.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-nb-xlarge/incognito_mode_start_page.html b/core/res/res/raw-nb-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 724e73433fcb..000000000000 --- a/core/res/res/raw-nb-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nytt inkognitovindu</title> - </head> - <body> - <p><strong></strong>Du er nå inkognito Sider du besøker i dette vinduet blir ikke lagret i nettleser- eller søkelogg, og etterlater ikke andre spor, f. eks. informasjonskapsler, på enheten din etter at du har lukket vinduet. Filer du laster ned eller bokmerker du lager blir derimot lagret.</p> - - <p><strong>Det at du er inkognito endrer ikke hvordan andre mennesker, tjenere eller programmer oppfører seg. Pass deg for:</strong></p> - - <ul> - <li>Nettsider som samler eller deler informasjon om deg</li> - <li>Nettleverandører eller arbeidsgivere som overvåker hvilke sider du besøker</li> - <li>Skadelige programmer som følger med på tastetrykk i bytte mot smilefjes</li> - <li>Hemmelige agenter som spionerer på deg</li> - <li>Folk som titter over skulderen din</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-nb/incognito_mode_start_page.html b/core/res/res/raw-nb/incognito_mode_start_page.html deleted file mode 100644 index 724e73433fcb..000000000000 --- a/core/res/res/raw-nb/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nytt inkognitovindu</title> - </head> - <body> - <p><strong></strong>Du er nå inkognito Sider du besøker i dette vinduet blir ikke lagret i nettleser- eller søkelogg, og etterlater ikke andre spor, f. eks. informasjonskapsler, på enheten din etter at du har lukket vinduet. Filer du laster ned eller bokmerker du lager blir derimot lagret.</p> - - <p><strong>Det at du er inkognito endrer ikke hvordan andre mennesker, tjenere eller programmer oppfører seg. Pass deg for:</strong></p> - - <ul> - <li>Nettsider som samler eller deler informasjon om deg</li> - <li>Nettleverandører eller arbeidsgivere som overvåker hvilke sider du besøker</li> - <li>Skadelige programmer som følger med på tastetrykk i bytte mot smilefjes</li> - <li>Hemmelige agenter som spionerer på deg</li> - <li>Folk som titter over skulderen din</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-nl-xlarge/incognito_mode_start_page.html b/core/res/res/raw-nl-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 92fedd725fe6..000000000000 --- a/core/res/res/raw-nl-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nieuw incognitovenster</title> - </head> - <body> - <p><strong>U bent nu incognito</strong> De pagina's die u in dit venster bekijkt worden niet opgenomen in de browsergeschiedenis en de zoekgeschiedenis en laten geen cookies of andere sporen na op uw apparaat nadat u het incognitovenster hebt gesloten. Alle bestanden die u downloadt en bladwijzers die u maakt, blijven echter behouden.</p> - - <p><strong>Incognito zijn heeft geen invloed op het gedrag van andere personen, servers of software. Wees op uw hoede voor:</strong></p> - - <ul> - <li>Websites die informatie over u verzamelen of delen</li> - <li>Internetproviders of werkgevers die bijhouden welke pagina's u bezoekt</li> - <li>Schadelijke software die uw toetsaanslagen registreert in ruil voor gratis emoticons</li> - <li>Spionage door geheim agenten</li> - <li>Mensen die achter u staan</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-nl/incognito_mode_start_page.html b/core/res/res/raw-nl/incognito_mode_start_page.html deleted file mode 100644 index 92fedd725fe6..000000000000 --- a/core/res/res/raw-nl/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nieuw incognitovenster</title> - </head> - <body> - <p><strong>U bent nu incognito</strong> De pagina's die u in dit venster bekijkt worden niet opgenomen in de browsergeschiedenis en de zoekgeschiedenis en laten geen cookies of andere sporen na op uw apparaat nadat u het incognitovenster hebt gesloten. Alle bestanden die u downloadt en bladwijzers die u maakt, blijven echter behouden.</p> - - <p><strong>Incognito zijn heeft geen invloed op het gedrag van andere personen, servers of software. Wees op uw hoede voor:</strong></p> - - <ul> - <li>Websites die informatie over u verzamelen of delen</li> - <li>Internetproviders of werkgevers die bijhouden welke pagina's u bezoekt</li> - <li>Schadelijke software die uw toetsaanslagen registreert in ruil voor gratis emoticons</li> - <li>Spionage door geheim agenten</li> - <li>Mensen die achter u staan</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pl-xlarge/incognito_mode_start_page.html b/core/res/res/raw-pl-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 9748ead325a2..000000000000 --- a/core/res/res/raw-pl-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nowe okno incognito</title> - </head> - <body> - <p><strong>Jesteś teraz incognito</strong> Strony przeglądane w tym oknie nie będą wyświetlane w historii przeglądarki ani w historii wyszukiwania. Po zamknięciu okna incognito na komputerze nie zostanie po nich żaden ślad np. w postaci plików cookie. Zachowane zostaną jednak pobrane pliki lub utworzone zakładki.</p> - - <p><strong>Przejście do trybu incognito nie ma wpływu na działania innych osób, serwery ani oprogramowanie. Należy uważać na:</strong></p> - - <ul> - <li>witryny zbierające lub udostępniające dane na temat użytkowników</li> - <li>dostawców usług internetowych oraz pracowników monitorujących strony odwiedzane przez użytkowników</li> - <li>złośliwe oprogramowanie śledzące naciśnięcia klawiszy (np. w zamian za darmowe emotikony)</li> - <li>aktywność wywiadowczą tajnych agentów</li> - <li>osoby stojące za plecami</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pl/incognito_mode_start_page.html b/core/res/res/raw-pl/incognito_mode_start_page.html deleted file mode 100644 index 9748ead325a2..000000000000 --- a/core/res/res/raw-pl/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nowe okno incognito</title> - </head> - <body> - <p><strong>Jesteś teraz incognito</strong> Strony przeglądane w tym oknie nie będą wyświetlane w historii przeglądarki ani w historii wyszukiwania. Po zamknięciu okna incognito na komputerze nie zostanie po nich żaden ślad np. w postaci plików cookie. Zachowane zostaną jednak pobrane pliki lub utworzone zakładki.</p> - - <p><strong>Przejście do trybu incognito nie ma wpływu na działania innych osób, serwery ani oprogramowanie. Należy uważać na:</strong></p> - - <ul> - <li>witryny zbierające lub udostępniające dane na temat użytkowników</li> - <li>dostawców usług internetowych oraz pracowników monitorujących strony odwiedzane przez użytkowników</li> - <li>złośliwe oprogramowanie śledzące naciśnięcia klawiszy (np. w zamian za darmowe emotikony)</li> - <li>aktywność wywiadowczą tajnych agentów</li> - <li>osoby stojące za plecami</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pt-rPT-xlarge/incognito_mode_start_page.html b/core/res/res/raw-pt-rPT-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 89a5ab0de880..000000000000 --- a/core/res/res/raw-pt-rPT-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova janela de navegação anónima</title> - </head> - <body> - <p><strong>Está no modo de navegação anónima</strong>. As páginas que visualizar nesta janela não vão aparecer nos históricos de pesquisa ou de navegação e não deixarão quaisquer vestígios (por exemplo cookies) no computador depois de fechar a janela. No entanto se transferir ficheiros ou criar marcadores, estes serão preservados.</p> - - <p><strong>Navegar no modo de navegação anónima não afecta o comportamento de outras pessoas, nem o comportamento de servidores ou programas. Tenha cuidado com:</strong></p> - - <ul> - <li>Web sites que recolhem ou partilham informações sobre si</li> - <li>Serviços de fornecimento de internet ou empregadores que monitorizam as páginas que você visita</li> - <li>Programas maliciosos que monitorizam as teclas em que carrega em troca de ícones expressivos ("smileys")</li> - <li>Vigilância de agentes secretos</li> - <li>Pessoas que estejam perto de si</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pt-rPT/incognito_mode_start_page.html b/core/res/res/raw-pt-rPT/incognito_mode_start_page.html deleted file mode 100644 index 89a5ab0de880..000000000000 --- a/core/res/res/raw-pt-rPT/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova janela de navegação anónima</title> - </head> - <body> - <p><strong>Está no modo de navegação anónima</strong>. As páginas que visualizar nesta janela não vão aparecer nos históricos de pesquisa ou de navegação e não deixarão quaisquer vestígios (por exemplo cookies) no computador depois de fechar a janela. No entanto se transferir ficheiros ou criar marcadores, estes serão preservados.</p> - - <p><strong>Navegar no modo de navegação anónima não afecta o comportamento de outras pessoas, nem o comportamento de servidores ou programas. Tenha cuidado com:</strong></p> - - <ul> - <li>Web sites que recolhem ou partilham informações sobre si</li> - <li>Serviços de fornecimento de internet ou empregadores que monitorizam as páginas que você visita</li> - <li>Programas maliciosos que monitorizam as teclas em que carrega em troca de ícones expressivos ("smileys")</li> - <li>Vigilância de agentes secretos</li> - <li>Pessoas que estejam perto de si</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pt-xlarge/incognito_mode_start_page.html b/core/res/res/raw-pt-xlarge/incognito_mode_start_page.html deleted file mode 100644 index b301eda73f49..000000000000 --- a/core/res/res/raw-pt-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova janela anônima</title> - </head> - <body> - <p><strong>Você ficou anônimo</strong>. As páginas que você vê nesta janela não aparecerão no histórico do seu navegador ou da sua pesquisa e não deixarão rastros, como cookies, no seu dispositivo depois que você fechar a janela anônima. Quaisquer arquivos que você fizer o download ou favoritos que criar serão preservados.</p> - - <p><strong>Tornar-se anônimo não afeta o comportamento de outras pessoas, servidores ou software. Esteja atento a:</strong></p> - - <ul> - <li>Websites que coletam ou compartilham informações sobre você</li> - <li>Provedores de serviços de internet ou funcionários que rastreiam as páginas que você visita</li> - <li>Softwares maliciosos que rastreiam os seus toques de teclado em troca de ícones gratuitos</li> - <li>Vigilância por agentes secretos</li> - <li>Pessoas paradas detrás de você</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-pt/incognito_mode_start_page.html b/core/res/res/raw-pt/incognito_mode_start_page.html deleted file mode 100644 index b301eda73f49..000000000000 --- a/core/res/res/raw-pt/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nova janela anônima</title> - </head> - <body> - <p><strong>Você ficou anônimo</strong>. As páginas que você vê nesta janela não aparecerão no histórico do seu navegador ou da sua pesquisa e não deixarão rastros, como cookies, no seu dispositivo depois que você fechar a janela anônima. Quaisquer arquivos que você fizer o download ou favoritos que criar serão preservados.</p> - - <p><strong>Tornar-se anônimo não afeta o comportamento de outras pessoas, servidores ou software. Esteja atento a:</strong></p> - - <ul> - <li>Websites que coletam ou compartilham informações sobre você</li> - <li>Provedores de serviços de internet ou funcionários que rastreiam as páginas que você visita</li> - <li>Softwares maliciosos que rastreiam os seus toques de teclado em troca de ícones gratuitos</li> - <li>Vigilância por agentes secretos</li> - <li>Pessoas paradas detrás de você</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ro-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ro-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 3e499d30039c..000000000000 --- a/core/res/res/raw-ro-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Fereastră incognito nouă</title> - </head> - <body> - <p><strong>Navigaţi incognito</strong>. Paginile pe care le afişaţi în această fereastră nu vor apărea în istoricul browserului sau al căutărilor şi nu vor lăsa alte urme, precum cookie-uri, pe dispozitivul dvs. după ce închideţi fereastra incognito. Dar fişierele descărcate şi marcajele create vor fi păstrate.</p> - - <p><strong>Navigarea incognito nu influenţează comportamentul altor persoane, servere sau aplicaţii software. Fiţi atent(ă) la:</strong></p> - - <ul> - <li>site-urile web care colectează sau distribuie informaţii despre dvs.;</li> - <li>furnizorii de servicii de internet sau angajatorii care urmăresc paginile pe care le accesaţi;</li> - <li>aplicaţiile software rău intenţionate care vă urmăresc apăsările pe taste promiţându-vă că vă oferă emoticonuri gratuite;</li> - <li>acţiunile de monitorizare efectuate de agenţi secreţi;</li> - <li>persoanele din spatele dvs.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ro/incognito_mode_start_page.html b/core/res/res/raw-ro/incognito_mode_start_page.html deleted file mode 100644 index 3e499d30039c..000000000000 --- a/core/res/res/raw-ro/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Fereastră incognito nouă</title> - </head> - <body> - <p><strong>Navigaţi incognito</strong>. Paginile pe care le afişaţi în această fereastră nu vor apărea în istoricul browserului sau al căutărilor şi nu vor lăsa alte urme, precum cookie-uri, pe dispozitivul dvs. după ce închideţi fereastra incognito. Dar fişierele descărcate şi marcajele create vor fi păstrate.</p> - - <p><strong>Navigarea incognito nu influenţează comportamentul altor persoane, servere sau aplicaţii software. Fiţi atent(ă) la:</strong></p> - - <ul> - <li>site-urile web care colectează sau distribuie informaţii despre dvs.;</li> - <li>furnizorii de servicii de internet sau angajatorii care urmăresc paginile pe care le accesaţi;</li> - <li>aplicaţiile software rău intenţionate care vă urmăresc apăsările pe taste promiţându-vă că vă oferă emoticonuri gratuite;</li> - <li>acţiunile de monitorizare efectuate de agenţi secreţi;</li> - <li>persoanele din spatele dvs.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ru-xlarge/incognito_mode_start_page.html b/core/res/res/raw-ru-xlarge/incognito_mode_start_page.html deleted file mode 100644 index ae7b59cacfec..000000000000 --- a/core/res/res/raw-ru-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Новое окно в режиме инкогнито</title> - </head> - <body> - <p><strong>Вы перешли в режим инкогнито</strong>. Страницы, которые вы просматриваете в окне в режиме инкогнито, не появятся в истории вашего браузера или истории поиска, а также не оставят на вашем компьютере других следов, таких как файлы cookie, когда вы закроете это окно. Тем не менее, все файлы, которые вы загружаете, или закладки, которые вы создаете, останутся в целости и сохранности. </p> - - <p><strong>Переход в режим инкогнито не влияет на поведение других пользователей, серверов или программ. Опасайтесь:</strong></p> - - <ul> - <li>Веб-сайтов, которые собирают информацию о вас или передают ее другим</li> - <li>Поставщиков услуг Интернета или их сотрудников, которые отслеживают, какие страницы вы посещаете</li> - <li>Вредоносного ПО, которое отслеживает нажатие клавиш клавиатуры в обмен на бесплатные смайлики</li> - <li>Слежки тайными агентами</li> - <li>Людей, которые стоят у вас за спиной</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-ru/incognito_mode_start_page.html b/core/res/res/raw-ru/incognito_mode_start_page.html deleted file mode 100644 index ae7b59cacfec..000000000000 --- a/core/res/res/raw-ru/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Новое окно в режиме инкогнито</title> - </head> - <body> - <p><strong>Вы перешли в режим инкогнито</strong>. Страницы, которые вы просматриваете в окне в режиме инкогнито, не появятся в истории вашего браузера или истории поиска, а также не оставят на вашем компьютере других следов, таких как файлы cookie, когда вы закроете это окно. Тем не менее, все файлы, которые вы загружаете, или закладки, которые вы создаете, останутся в целости и сохранности. </p> - - <p><strong>Переход в режим инкогнито не влияет на поведение других пользователей, серверов или программ. Опасайтесь:</strong></p> - - <ul> - <li>Веб-сайтов, которые собирают информацию о вас или передают ее другим</li> - <li>Поставщиков услуг Интернета или их сотрудников, которые отслеживают, какие страницы вы посещаете</li> - <li>Вредоносного ПО, которое отслеживает нажатие клавиш клавиатуры в обмен на бесплатные смайлики</li> - <li>Слежки тайными агентами</li> - <li>Людей, которые стоят у вас за спиной</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sk-xlarge/incognito_mode_start_page.html b/core/res/res/raw-sk-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 5b138f1e087c..000000000000 --- a/core/res/res/raw-sk-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nové okno inkognito</title> - </head> - <body> - <p><strong>Ste v režime inkognito</strong> Stránky, ktoré si pozriete v tomto okne, sa nezobrazia v histórii prehliadača ani v histórii vyhľadávania. Po zavretí okna inkognito na zariadení nezostanú ani žiadne iné stopy, ako sú napr. súbory cookie. Napriek tomu však zostanú zachované všetky prevzaté súbory aj záložky, ktoré ste vytvorili.</p> - - <p><strong>Režim inkognito neovplyvňuje správanie iných ľudí, serverov ani softvéru. Dávajte si pozor na:</strong></p> - - <ul> - <li>webové stránky, ktoré zbierajú alebo zdieľajú vaše informácie;</li> - <li>poskytovateľov internetových služieb alebo zamestnancov, ktorí sledujú vaše navštívené stránky;</li> - <li>škodlivý softvér, ktorý sleduje ktoré klávesy stláčate výmenou za smajlíkov zadarmo;</li> - <li>sledovanie tajnými agentmi;</li> - <li>ľudí, ktorí stoja za vami.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sk/incognito_mode_start_page.html b/core/res/res/raw-sk/incognito_mode_start_page.html deleted file mode 100644 index 5b138f1e087c..000000000000 --- a/core/res/res/raw-sk/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nové okno inkognito</title> - </head> - <body> - <p><strong>Ste v režime inkognito</strong> Stránky, ktoré si pozriete v tomto okne, sa nezobrazia v histórii prehliadača ani v histórii vyhľadávania. Po zavretí okna inkognito na zariadení nezostanú ani žiadne iné stopy, ako sú napr. súbory cookie. Napriek tomu však zostanú zachované všetky prevzaté súbory aj záložky, ktoré ste vytvorili.</p> - - <p><strong>Režim inkognito neovplyvňuje správanie iných ľudí, serverov ani softvéru. Dávajte si pozor na:</strong></p> - - <ul> - <li>webové stránky, ktoré zbierajú alebo zdieľajú vaše informácie;</li> - <li>poskytovateľov internetových služieb alebo zamestnancov, ktorí sledujú vaše navštívené stránky;</li> - <li>škodlivý softvér, ktorý sleduje ktoré klávesy stláčate výmenou za smajlíkov zadarmo;</li> - <li>sledovanie tajnými agentmi;</li> - <li>ľudí, ktorí stoja za vami.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sl-xlarge/incognito_mode_start_page.html b/core/res/res/raw-sl-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 33a8b08fed49..000000000000 --- a/core/res/res/raw-sl-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Novo okno brez beleženja zgodovine</title> - </head> - <body> - <p><strong>Ste v načinu brez beleženja zgodovine.</strong> Strani, ki si jih ogledate v tem oknu, ne bodo prikazane v zgodovini brskalnika ali zgodovini iskanja, prav tako v vaši napravi ne bodo pustile sledi, kot npr. piškotkov, ko zaprete stran, ki jo imate odprto v tem načinu. Datoteke, ki jih prenesete ali zaznamki, ki jih ustvarite, bodo ohranjeni.</p> - - <p><strong>Funkcije brez beleženja zgodovine ne vplivajo na obnašanje drugih oseb, strežnikov ali programske opreme. Pazite na:</strong></p> - - <ul> - <li>Spletna mesta, ki zbirajo informacije o vas ali jih dajejo v skupno rabo.</li> - <li>Ponudnike internetnih storitev ali zaposlene, ki spremljajo spletna mesta, ki ste jih obiskali.</li> - <li>Zlonamerno programsko opremo, ki spremlja vaše tipkanje, v zameno pa vam ponuja brezplačne čustvene simbole.</li> - <li>Nadzor tajnih agentov.</li> - <li>Osebe, ki stojijo za vašim hrbtom.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sl/incognito_mode_start_page.html b/core/res/res/raw-sl/incognito_mode_start_page.html deleted file mode 100644 index 33a8b08fed49..000000000000 --- a/core/res/res/raw-sl/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Novo okno brez beleženja zgodovine</title> - </head> - <body> - <p><strong>Ste v načinu brez beleženja zgodovine.</strong> Strani, ki si jih ogledate v tem oknu, ne bodo prikazane v zgodovini brskalnika ali zgodovini iskanja, prav tako v vaši napravi ne bodo pustile sledi, kot npr. piškotkov, ko zaprete stran, ki jo imate odprto v tem načinu. Datoteke, ki jih prenesete ali zaznamki, ki jih ustvarite, bodo ohranjeni.</p> - - <p><strong>Funkcije brez beleženja zgodovine ne vplivajo na obnašanje drugih oseb, strežnikov ali programske opreme. Pazite na:</strong></p> - - <ul> - <li>Spletna mesta, ki zbirajo informacije o vas ali jih dajejo v skupno rabo.</li> - <li>Ponudnike internetnih storitev ali zaposlene, ki spremljajo spletna mesta, ki ste jih obiskali.</li> - <li>Zlonamerno programsko opremo, ki spremlja vaše tipkanje, v zameno pa vam ponuja brezplačne čustvene simbole.</li> - <li>Nadzor tajnih agentov.</li> - <li>Osebe, ki stojijo za vašim hrbtom.</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sr-xlarge/incognito_mode_start_page.html b/core/res/res/raw-sr-xlarge/incognito_mode_start_page.html deleted file mode 100644 index b1fbcb1324bd..000000000000 --- a/core/res/res/raw-sr-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нов прозор без архивирања</title> - </head> - <body> - <p><strong>Ушли сте у режим без архивирања</strong> Странице које гледате у овом прозору се неће појавити у историји прегледања ни историји претраге, нити ће оставити друге трагове, попут колачића, на вашем уређају када затворите овај прозор. Међутим, ако преузмете датотеке или направите обележиваче, они ће бити сачувани.</p> - - <p><strong>Режим без архивирања не утиче на понашање других људи, сервера нити софтвера. Чувајте се:</strong></p> - - <ul> - <li>Веб сајтова који прикупљају и деле податке о вама</li> - <li>Добављача интернет услуга или запослених који прате странице које посетите</li> - <li>Злонамерног софтвера који прати шта куцате</li> - <li>Надзора тајних агената</li> - <li>Људи који вам стоје иза леђа</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sr/incognito_mode_start_page.html b/core/res/res/raw-sr/incognito_mode_start_page.html deleted file mode 100644 index b1fbcb1324bd..000000000000 --- a/core/res/res/raw-sr/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нов прозор без архивирања</title> - </head> - <body> - <p><strong>Ушли сте у режим без архивирања</strong> Странице које гледате у овом прозору се неће појавити у историји прегледања ни историји претраге, нити ће оставити друге трагове, попут колачића, на вашем уређају када затворите овај прозор. Међутим, ако преузмете датотеке или направите обележиваче, они ће бити сачувани.</p> - - <p><strong>Режим без архивирања не утиче на понашање других људи, сервера нити софтвера. Чувајте се:</strong></p> - - <ul> - <li>Веб сајтова који прикупљају и деле податке о вама</li> - <li>Добављача интернет услуга или запослених који прате странице које посетите</li> - <li>Злонамерног софтвера који прати шта куцате</li> - <li>Надзора тајних агената</li> - <li>Људи који вам стоје иза леђа</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sv-xlarge/incognito_mode_start_page.html b/core/res/res/raw-sv-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 5ebbb22f409b..000000000000 --- a/core/res/res/raw-sv-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nytt inkognitofönster</title> - </head> - <body> - <p><strong>Du använder inkognitoläget</strong>. Sidor som du har läst i detta fönster visas inte i din webbläsarhistorik eller sökhistorik. De lämnar inga spår efter sig, till exempel cookies, i din enhet efter att du stängt inkognitofönstret. Alla filer som du hämtar eller bokmärken du skapar sparas dock.</p> - - <p><strong>Att använda datorn inkognito påverkar inte användare, servrar eller program. Se upp för:</strong></p> - - <ul> - <li>Webbplatser som samlar eller delar information om dig</li> - <li>Internetleverantörer eller arbetsgivare som spårar var du surfar</li> - <li>Skadlig programvara som spårar dina tangenttryckningar som nyckelloggare</li> - <li>Övervakning av hemliga agenter</li> - <li>Personer som står bakom dig</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-sv/incognito_mode_start_page.html b/core/res/res/raw-sv/incognito_mode_start_page.html deleted file mode 100644 index 5ebbb22f409b..000000000000 --- a/core/res/res/raw-sv/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Nytt inkognitofönster</title> - </head> - <body> - <p><strong>Du använder inkognitoläget</strong>. Sidor som du har läst i detta fönster visas inte i din webbläsarhistorik eller sökhistorik. De lämnar inga spår efter sig, till exempel cookies, i din enhet efter att du stängt inkognitofönstret. Alla filer som du hämtar eller bokmärken du skapar sparas dock.</p> - - <p><strong>Att använda datorn inkognito påverkar inte användare, servrar eller program. Se upp för:</strong></p> - - <ul> - <li>Webbplatser som samlar eller delar information om dig</li> - <li>Internetleverantörer eller arbetsgivare som spårar var du surfar</li> - <li>Skadlig programvara som spårar dina tangenttryckningar som nyckelloggare</li> - <li>Övervakning av hemliga agenter</li> - <li>Personer som står bakom dig</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-th-xlarge/incognito_mode_start_page.html b/core/res/res/raw-th-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 29c64eb4c041..000000000000 --- a/core/res/res/raw-th-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>หน้าต่างใหม่ที่ไม่ระบุตัวตน</title> - </head> - <body> - <p><strong>คุณได้เข้าสู่โหมดไม่ระบุตัวตนแล้ว</strong> หน้าเว็บที่คุณดูในหน้าต่างนี้จะไม่ปรากฏในประวัติของเบราว์เซอร์หรือประวัติการค้นหาของคุณ และจะไม่ทิ้งร่องรอยอื่นๆ เช่น คุกกี้ ไว้บนอุปกรณ์หลังจากที่คุณปิดหน้าต่างที่ไม่ระบุตัวตนนี้แล้ว อย่างไรก็ตาม ไฟล์ที่คุณดาวน์โหลดหรือบุ๊กมาร์กที่สร้างขึ้นจะถูกเก็บไว้</p> - - <p><strong>การเข้าสู่โหมดไม่ระบุตัวตนจะไม่กระทบต่อการทำงานของบุคคล เซิร์ฟเวอร์ หรือซอฟต์แวร์อื่น โปรดระวัง:</strong></p> - - <ul> - <li>เว็บไซต์ที่เก็บหรือแบ่งปันข้อมูลเกี่ยวกับคุณ</li> - <li>ผู้ให้บริการอินเทอร์เน็ตหรือนายจ้างที่ติดตามหน้าเว็บที่คุณเข้าชม</li> - <li>ซอฟต์แวร์มุ่งร้ายที่ติดตามการกดแป้นพิมพ์โดยมากับของฟรี</li> - <li>การตรวจสอบของหน่วยสืบราชการลับ</li> - <li>บุคคลที่ยืนอยู่ข้างหลังคุณ</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-th/incognito_mode_start_page.html b/core/res/res/raw-th/incognito_mode_start_page.html deleted file mode 100644 index 29c64eb4c041..000000000000 --- a/core/res/res/raw-th/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>หน้าต่างใหม่ที่ไม่ระบุตัวตน</title> - </head> - <body> - <p><strong>คุณได้เข้าสู่โหมดไม่ระบุตัวตนแล้ว</strong> หน้าเว็บที่คุณดูในหน้าต่างนี้จะไม่ปรากฏในประวัติของเบราว์เซอร์หรือประวัติการค้นหาของคุณ และจะไม่ทิ้งร่องรอยอื่นๆ เช่น คุกกี้ ไว้บนอุปกรณ์หลังจากที่คุณปิดหน้าต่างที่ไม่ระบุตัวตนนี้แล้ว อย่างไรก็ตาม ไฟล์ที่คุณดาวน์โหลดหรือบุ๊กมาร์กที่สร้างขึ้นจะถูกเก็บไว้</p> - - <p><strong>การเข้าสู่โหมดไม่ระบุตัวตนจะไม่กระทบต่อการทำงานของบุคคล เซิร์ฟเวอร์ หรือซอฟต์แวร์อื่น โปรดระวัง:</strong></p> - - <ul> - <li>เว็บไซต์ที่เก็บหรือแบ่งปันข้อมูลเกี่ยวกับคุณ</li> - <li>ผู้ให้บริการอินเทอร์เน็ตหรือนายจ้างที่ติดตามหน้าเว็บที่คุณเข้าชม</li> - <li>ซอฟต์แวร์มุ่งร้ายที่ติดตามการกดแป้นพิมพ์โดยมากับของฟรี</li> - <li>การตรวจสอบของหน่วยสืบราชการลับ</li> - <li>บุคคลที่ยืนอยู่ข้างหลังคุณ</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-tl-xlarge/incognito_mode_start_page.html b/core/res/res/raw-tl-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 6ce5853de0cd..000000000000 --- a/core/res/res/raw-tl-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Bagong incognito window</title> - </head> - <body> - <p><strong>Nag-incognito ka</strong>. Hindi lalabas sa iyong kasaysayan ng pag-browse at kasaysayan ng paghahanap ang mga pahinang tiningnan mo sa window na ito, at hindi sila mag-iiwan ng ibang bakas, gaya ng cookies, sa iyong device matapos mong isara ang window na incognito. Gayunpaman, pananatiliin ang anumang mga file na iyong na-download o ang iyong mga ginawang bookmark.</p> - - <p><strong>Hindi nakakaapekto ang pagiging incognito sa gawi ng ibang mga tao, server, o software. Maging maingat sa:</strong></p> - - <ul> - <li>Mga website na kumokolekta o nagbabahagi ng impormasyong tungkol sa iyo</li> - <li>Mga internet service provider o mga employer na sinusubaybayan ang mga pahinang binibisita mo</li> - <li>Malicious software na sinusubaybayan ang iyong mga keystroke kapalit ng mga libreng smiley</li> - <li>Pagmamasid ng mga secret agent</li> - <li>Mga tao na nakatayo sa likuran mo</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-tl/incognito_mode_start_page.html b/core/res/res/raw-tl/incognito_mode_start_page.html deleted file mode 100644 index 6ce5853de0cd..000000000000 --- a/core/res/res/raw-tl/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Bagong incognito window</title> - </head> - <body> - <p><strong>Nag-incognito ka</strong>. Hindi lalabas sa iyong kasaysayan ng pag-browse at kasaysayan ng paghahanap ang mga pahinang tiningnan mo sa window na ito, at hindi sila mag-iiwan ng ibang bakas, gaya ng cookies, sa iyong device matapos mong isara ang window na incognito. Gayunpaman, pananatiliin ang anumang mga file na iyong na-download o ang iyong mga ginawang bookmark.</p> - - <p><strong>Hindi nakakaapekto ang pagiging incognito sa gawi ng ibang mga tao, server, o software. Maging maingat sa:</strong></p> - - <ul> - <li>Mga website na kumokolekta o nagbabahagi ng impormasyong tungkol sa iyo</li> - <li>Mga internet service provider o mga employer na sinusubaybayan ang mga pahinang binibisita mo</li> - <li>Malicious software na sinusubaybayan ang iyong mga keystroke kapalit ng mga libreng smiley</li> - <li>Pagmamasid ng mga secret agent</li> - <li>Mga tao na nakatayo sa likuran mo</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-tr-xlarge/incognito_mode_start_page.html b/core/res/res/raw-tr-xlarge/incognito_mode_start_page.html deleted file mode 100644 index c570cc7e645f..000000000000 --- a/core/res/res/raw-tr-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Yeni gizli pencere</title> - </head> - <body> - <p><strong>Gizli moda geçtiniz</strong> Bu pencerede görüntülediğiniz sayfalar tarayıcı geçmişinizde veya arama geçmişinizde görünmez ve gizli pencereyi kapatmanızın ardından cihazınızda çerezler gibi izler bırakmaz. Ancak, indirdiğiniz dosyalar ve oluşturduğunuz favoriler korunur.</p> - - <p><strong>Gizli moda geçmeniz diğer kişilerin, sunucuların veya yazılımların davranışlarını etkilemez. Şu konularda dikkatli olun:</strong></p> - - <ul> - <li>Hakkınızda bilgi toplayan veya paylaşan web siteleri</li> - <li>Ziyaret ettiğiniz sayfaları izleyen şirket çalışanları veya servis sağlayıcıları</li> - <li>Ücretsiz ifade simgeleri karşılığında tuş vuruşlarınızı takip eden kötü niyetli yazılımlar</li> - <li>Gizli ajanlar tarafından takip edilme</li> - <li>Arkanızda dikilip ne yaptığınıza bakan kişiler</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-tr/incognito_mode_start_page.html b/core/res/res/raw-tr/incognito_mode_start_page.html deleted file mode 100644 index c570cc7e645f..000000000000 --- a/core/res/res/raw-tr/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Yeni gizli pencere</title> - </head> - <body> - <p><strong>Gizli moda geçtiniz</strong> Bu pencerede görüntülediğiniz sayfalar tarayıcı geçmişinizde veya arama geçmişinizde görünmez ve gizli pencereyi kapatmanızın ardından cihazınızda çerezler gibi izler bırakmaz. Ancak, indirdiğiniz dosyalar ve oluşturduğunuz favoriler korunur.</p> - - <p><strong>Gizli moda geçmeniz diğer kişilerin, sunucuların veya yazılımların davranışlarını etkilemez. Şu konularda dikkatli olun:</strong></p> - - <ul> - <li>Hakkınızda bilgi toplayan veya paylaşan web siteleri</li> - <li>Ziyaret ettiğiniz sayfaları izleyen şirket çalışanları veya servis sağlayıcıları</li> - <li>Ücretsiz ifade simgeleri karşılığında tuş vuruşlarınızı takip eden kötü niyetli yazılımlar</li> - <li>Gizli ajanlar tarafından takip edilme</li> - <li>Arkanızda dikilip ne yaptığınıza bakan kişiler</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-uk-xlarge/incognito_mode_start_page.html b/core/res/res/raw-uk-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 8852854b4110..000000000000 --- a/core/res/res/raw-uk-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нове анонімне вікно</title> - </head> - <body> - <p><strong>Ви в анонімному режимі</strong>. Сторінки, які ви переглядаєте в цьому вікні, не з’являться в історії веб-переглядача чи в історії пошуку. Вони також не залишать жодних слідів, як-от файлів cookie, у вашому пристрої після того, як ви закриєте анонімне вікно. Однак, завантажені файли та збережені закладки залишаться.</p> - - <p><strong>Анонімний режим не впливає на поведінку інших людей, серверів чи програмного забезпечення. Остерігайтеся:</strong></p> - - <ul> - <li>веб-сайтів, які збирають чи поширюють інформацію про вас</li> - <li>постачальників інтернет-послуг або роботодавців, які відстежують сторінки, які ви відвідуєте</li> - <li>зловмисного програмного забезпечення, яке пропонує безкоштовні смайли, натомість реєструючи клавіші, які ви натискаєте</li> - <li>нагляду збоку секретних служб</li> - <li>людей за вашою спиною</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-uk/incognito_mode_start_page.html b/core/res/res/raw-uk/incognito_mode_start_page.html deleted file mode 100644 index 8852854b4110..000000000000 --- a/core/res/res/raw-uk/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Нове анонімне вікно</title> - </head> - <body> - <p><strong>Ви в анонімному режимі</strong>. Сторінки, які ви переглядаєте в цьому вікні, не з’являться в історії веб-переглядача чи в історії пошуку. Вони також не залишать жодних слідів, як-от файлів cookie, у вашому пристрої після того, як ви закриєте анонімне вікно. Однак, завантажені файли та збережені закладки залишаться.</p> - - <p><strong>Анонімний режим не впливає на поведінку інших людей, серверів чи програмного забезпечення. Остерігайтеся:</strong></p> - - <ul> - <li>веб-сайтів, які збирають чи поширюють інформацію про вас</li> - <li>постачальників інтернет-послуг або роботодавців, які відстежують сторінки, які ви відвідуєте</li> - <li>зловмисного програмного забезпечення, яке пропонує безкоштовні смайли, натомість реєструючи клавіші, які ви натискаєте</li> - <li>нагляду збоку секретних служб</li> - <li>людей за вашою спиною</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-vi-xlarge/incognito_mode_start_page.html b/core/res/res/raw-vi-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 9902cdef45cb..000000000000 --- a/core/res/res/raw-vi-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Cửa sổ ẩn danh mới</title> - </head> - <body> - <p><strong>Bạn đã sử dụng cửa sổ ẩn danh</strong>. Các trang bạn xem trong cửa sổ này sẽ không xuất hiện trong lịch sử của trình duyệt hoặc lịch sử tìm kiếm và chúng cũng không để lại dấu vết như cookie trên thiết bị sau khi bạn đóng cửa sổ ẩn danh. Tuy nhiên, mọi tệp bạn tải xuống hoặc mọi dấu trang bạn tạo sẽ được giữ nguyên.</p> - - <p><strong>Sử dụng cửa sổ ẩn danh không ảnh hưởng đến hành vi của người khác, của máy chủ hoặc phần mềm. Hãy cảnh giác với:</strong></p> - - <ul> - <li>Các trang web thu thập hoặc chia sẻ thông tin về bạn</li> - <li>Nhà cung cấp dịch vụ Internet hoặc ông chủ muốn theo dõi những trang bạn đã truy cập</li> - <li>Phần mềm độc hại theo dõi thao tác gõ phím khi nhập các mặt cười</li> - <li>Sự theo dõi của các cơ quan tình báo</li> - <li>Những người đứng đằng sau bạn</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-vi/incognito_mode_start_page.html b/core/res/res/raw-vi/incognito_mode_start_page.html deleted file mode 100644 index 9902cdef45cb..000000000000 --- a/core/res/res/raw-vi/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>Cửa sổ ẩn danh mới</title> - </head> - <body> - <p><strong>Bạn đã sử dụng cửa sổ ẩn danh</strong>. Các trang bạn xem trong cửa sổ này sẽ không xuất hiện trong lịch sử của trình duyệt hoặc lịch sử tìm kiếm và chúng cũng không để lại dấu vết như cookie trên thiết bị sau khi bạn đóng cửa sổ ẩn danh. Tuy nhiên, mọi tệp bạn tải xuống hoặc mọi dấu trang bạn tạo sẽ được giữ nguyên.</p> - - <p><strong>Sử dụng cửa sổ ẩn danh không ảnh hưởng đến hành vi của người khác, của máy chủ hoặc phần mềm. Hãy cảnh giác với:</strong></p> - - <ul> - <li>Các trang web thu thập hoặc chia sẻ thông tin về bạn</li> - <li>Nhà cung cấp dịch vụ Internet hoặc ông chủ muốn theo dõi những trang bạn đã truy cập</li> - <li>Phần mềm độc hại theo dõi thao tác gõ phím khi nhập các mặt cười</li> - <li>Sự theo dõi của các cơ quan tình báo</li> - <li>Những người đứng đằng sau bạn</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-xlarge/incognito_mode_start_page.html b/core/res/res/raw-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 492658d29484..000000000000 --- a/core/res/res/raw-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,24 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/> - <title>New incognito tab</title> - </head> - <body> - <p><strong>You've gone incognito</strong>. Pages you view in this tab - won't appear in your browser history or search history, and they won't - leave other traces, like cookies, on your device after you close the - incognito tab. Any files you download or bookmarks you create will be - preserved, however.</p> - - <p><strong>Going incognito doesn't affect the behavior of other people, - servers, or software. Be wary of:</strong></p> - - <ul> - <li>Websites that collect or share information about you</li> - <li>Internet service providers or employers that track the pages you visit</li> - <li>Malicious software that tracks your keystrokes in exchange for free smileys</li> - <li>Surveillance by secret agents</li> - <li>People standing behind you</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-zh-rCN-xlarge/incognito_mode_start_page.html b/core/res/res/raw-zh-rCN-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 2caf8f8bc807..000000000000 --- a/core/res/res/raw-zh-rCN-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新建隐身窗口</title> - </head> - <body> - <p><strong>您已进入隐身模式</strong>。当关闭隐身窗口后,您在此窗口中查看的网页将不会出现在您的浏览器历史记录或搜索记录中,也不会在您的设备留下任何踪迹(如 cookie)。但是,您下载的任何文件或您创建的书签会予以保留。</p> - - <p><strong>进入隐身模式不会影响他人、其他服务器或软件的行为。敬请提防:</strong></p> - - <ul> - <li>搜集并分享有关您的信息的网站</li> - <li>跟踪您所访问的网页的互联网服务提供商或雇主</li> - <li>跟踪您的键盘输入内容以换取免费表情符号的恶意软件</li> - <li>对您进行监视的秘密代理</li> - <li>站在您身后的人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-zh-rCN/incognito_mode_start_page.html b/core/res/res/raw-zh-rCN/incognito_mode_start_page.html deleted file mode 100644 index 2caf8f8bc807..000000000000 --- a/core/res/res/raw-zh-rCN/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新建隐身窗口</title> - </head> - <body> - <p><strong>您已进入隐身模式</strong>。当关闭隐身窗口后,您在此窗口中查看的网页将不会出现在您的浏览器历史记录或搜索记录中,也不会在您的设备留下任何踪迹(如 cookie)。但是,您下载的任何文件或您创建的书签会予以保留。</p> - - <p><strong>进入隐身模式不会影响他人、其他服务器或软件的行为。敬请提防:</strong></p> - - <ul> - <li>搜集并分享有关您的信息的网站</li> - <li>跟踪您所访问的网页的互联网服务提供商或雇主</li> - <li>跟踪您的键盘输入内容以换取免费表情符号的恶意软件</li> - <li>对您进行监视的秘密代理</li> - <li>站在您身后的人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-zh-rTW-xlarge/incognito_mode_start_page.html b/core/res/res/raw-zh-rTW-xlarge/incognito_mode_start_page.html deleted file mode 100644 index 54eb40bbecd0..000000000000 --- a/core/res/res/raw-zh-rTW-xlarge/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新的無痕式視窗</title> - </head> - <body> - <p><strong>您已開啟無痕式視窗</strong>。透過這個視窗開啟的網頁都不會出現在瀏覽器記錄和搜尋記錄中,而且您關閉此類視窗之後,裝置上並不會保留任何相關記錄 (例如 cookie)。不過系統會保存您的下載檔案和書籤。</p> - - <p><strong>無痕式視窗無法掌控人、伺服器和軟體的行為,所以請小心下列的人事物:</strong></p> - - <ul> - <li>會收集或分享您的相關資訊的網站</li> - <li>會追蹤您造訪網頁的網路服務供應商或雇主</li> - <li>以免費下載為誘因引誘您點擊的連結,其中通常隱藏鍵盤記錄惡意軟體</li> - <li>情報特務的監控</li> - <li>站在您身後的人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw-zh-rTW/incognito_mode_start_page.html b/core/res/res/raw-zh-rTW/incognito_mode_start_page.html deleted file mode 100644 index 54eb40bbecd0..000000000000 --- a/core/res/res/raw-zh-rTW/incognito_mode_start_page.html +++ /dev/null @@ -1,19 +0,0 @@ -<html DIR="LTR"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> - <title>新的無痕式視窗</title> - </head> - <body> - <p><strong>您已開啟無痕式視窗</strong>。透過這個視窗開啟的網頁都不會出現在瀏覽器記錄和搜尋記錄中,而且您關閉此類視窗之後,裝置上並不會保留任何相關記錄 (例如 cookie)。不過系統會保存您的下載檔案和書籤。</p> - - <p><strong>無痕式視窗無法掌控人、伺服器和軟體的行為,所以請小心下列的人事物:</strong></p> - - <ul> - <li>會收集或分享您的相關資訊的網站</li> - <li>會追蹤您造訪網頁的網路服務供應商或雇主</li> - <li>以免費下載為誘因引誘您點擊的連結,其中通常隱藏鍵盤記錄惡意軟體</li> - <li>情報特務的監控</li> - <li>站在您身後的人</li> - </ul> - </body> -</html> diff --git a/core/res/res/raw/incognito_mode_start_page.html b/core/res/res/raw/incognito_mode_start_page.html deleted file mode 100644 index 5d7a3fbf98c0..000000000000 --- a/core/res/res/raw/incognito_mode_start_page.html +++ /dev/null @@ -1,24 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/> - <title>New incognito window</title> - </head> - <body> - <p><strong>You've gone incognito</strong>. Pages you view in this window - won't appear in your browser history or search history, and they won't - leave other traces, like cookies, on your device after you close the - incognito window. Any files you download or bookmarks you create will be - preserved, however.</p> - - <p><strong>Going incognito doesn't affect the behavior of other people, - servers, or software. Be wary of:</strong></p> - - <ul> - <li>Websites that collect or share information about you</li> - <li>Internet service providers or employers that track the pages you visit</li> - <li>Malicious software that tracks your keystrokes in exchange for free smileys</li> - <li>Surveillance by secret agents</li> - <li>People standing behind you</li> - </ul> - </body> -</html> diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index aa3396a56b40..be8c1cd3f4e8 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om taal en uitleg te kies"</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>"kandidate"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Berei tans <xliff:g id="NAME">%s</xliff:g> voor"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kyk tans vir foute"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nuwe <xliff:g id="NAME">%s</xliff:g> bespeur"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 81357942a2bd..e92b2815e5dd 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ቋንቋ እና አቀማመጥን ለመምረጥ መታ ያድርጉ"</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> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 7308d54ba116..5d6fb92dad5e 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -1264,6 +1264,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"انقر لاختيار لغة وتنسيق"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789 أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</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> diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml index 94b7d271df32..8c375a0bed1e 100644 --- a/core/res/res/values-az-rAZ/strings.xml +++ b/core/res/res/values-az-rAZ/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dil və tərtibatı seçmək üçün tıklayın"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCÇDEƏFGĞHİIJKLMNOÖPQRSŞTUÜVWXYZ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"namizədlər"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> hazırlanır"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Səhvlər yoxlanılır"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yeni <xliff:g id="NAME">%s</xliff:g> aşkarlandı"</string> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index c540c960e337..2cf1d7c6414c 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -1189,6 +1189,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste izabrali jezik i raspored"</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>"kandidati"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> se priprema"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Proverava se da li postoje greške"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string> diff --git a/core/res/res/values-be-rBY/strings.xml b/core/res/res/values-be-rBY/strings.xml index 49033b435509..43c878254d21 100644 --- a/core/res/res/values-be-rBY/strings.xml +++ b/core/res/res/values-be-rBY/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Дакраніцеся, каб выбраць мову і раскладку"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШ\'ЫЬЭЮЯ"</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> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 9d77598ba58f..33b78db7e655 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Докоснете, за да изберете език и подредба"</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> diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml index 206aef83d59a..6e894eb8e05c 100644 --- a/core/res/res/values-bn-rBD/strings.xml +++ b/core/res/res/values-bn-rBD/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ভাষা এবং লেআউট নির্বাচন করুন আলতো চাপ দিন"</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> diff --git a/core/res/res/values-bs-rBA/strings.xml b/core/res/res/values-bs-rBA/strings.xml index 540348b0bbfd..bc364c7e92c1 100644 --- a/core/res/res/values-bs-rBA/strings.xml +++ b/core/res/res/values-bs-rBA/strings.xml @@ -1191,6 +1191,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite za odabir jezika i rasporeda"</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>"kandidati"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Priprema se <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Provjera grešaka"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 87832a7e2c29..ae3dce6a4d46 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca per seleccionar l\'idioma i el disseny"</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>"candidats"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"S\'està preparant <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"S\'està comprovant si hi ha errors"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"S\'ha detectat <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 9be00bbb5ddc..bffd34bc3c89 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozvržení"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandidáti"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Probíhá příprava úložiště <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kontrola chyb"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Zjištěno nové úložiště <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index b6539b188a7c..68480b59ef64 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryk for at vælge sprog og layout"</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>"kandidater"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Forbereder <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kontrollerer for fejl"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Der blev registreret et nyt <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 4a58c3dfdd31..c2a775bb3158 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Zum Auswählen von Sprache und Layout tippen"</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>"Kandidaten"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> wird vorbereitet"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Nach Fehlern wird gesucht"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Neue <xliff:g id="NAME">%s</xliff:g> entdeckt"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index ee7b8b6b3462..9d4936cc552b 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Πατήστε για να επιλέξετε γλώσσα και διάταξη"</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> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index 5926a88af894..7cbe6a89f16d 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</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>"candidates"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 5926a88af894..7cbe6a89f16d 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</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>"candidates"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 5926a88af894..7cbe6a89f16d 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</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>"candidates"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 45c3f7c1acd0..c8f2099d57ce 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Presiona para seleccionar el idioma y el diseño"</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>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando el medio <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Verificando errores"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Se detectó un nuevo medio (<xliff:g id="NAME">%s</xliff:g>)."</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 0b32a7fc6414..d93b9a933e54 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar el idioma y el diseño"</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>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Comprobando errores"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nueva <xliff:g id="NAME">%s</xliff:g> detectada"</string> diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml index e1516b7f2435..508c45133d75 100644 --- a/core/res/res/values-et-rEE/strings.xml +++ b/core/res/res/values-et-rEE/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Puudutage keele ja paigutuse valimiseks"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandidaadid"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Üksuse <xliff:g id="NAME">%s</xliff:g> ettevalmistamine"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Vigade kontrollimine"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Tuvastati uus üksus <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index a90df61e7813..28652ea25436 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Hizkuntza eta diseinua hautatzeko, sakatu hau"</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>"hautagaiak"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> prestatzen"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Errorerik dagoen egiaztatzen"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> berria hauteman da"</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 5332a3303763..899190e66e8f 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"برای انتخاب زبان و چیدمان ضربه بزنید"</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> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 92de423e3b70..ccafbb5036d6 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Valitse kieli ja asettelu koskettamalla."</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>"kandidaatit"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Valmistellaan kohdetta <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tarkistetaan virheiden varalta."</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Uusi <xliff:g id="NAME">%s</xliff:g> on havaittu."</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index c3f2e9a612b7..8df66e3fc907 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Touchez pour sélectionner la langue et la configuration du clavier"</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>"candidats"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Préparation de « <xliff:g id="NAME">%s</xliff:g> » en cours"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Recherche d\'erreurs en cours..."</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Une nouvelle mémoire « <xliff:g id="NAME">%s</xliff:g> » a été détectée"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index bdb7196ea592..b211a776344a 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Appuyer pour sélectionner la langue et la disposition"</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>"candidats"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Préparation mémoire \"<xliff:g id="NAME">%s</xliff:g>\" en cours"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Recherche d\'erreurs"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Une nouvelle mémoire de stockage \"<xliff:g id="NAME">%s</xliff:g>\" a été détectée."</string> diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml index ed8ad8c94a54..62e2fdd2f24b 100644 --- a/core/res/res/values-gl-rES/strings.xml +++ b/core/res/res/values-gl-rES/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar o idioma e o deseño"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando a <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Comprobando se hai erros"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Detectouse unha <xliff:g id="NAME">%s</xliff:g> nova"</string> diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml index c71391b5b171..a4d2d6e1b20d 100644 --- a/core/res/res/values-gu-rIN/strings.xml +++ b/core/res/res/values-gu-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ભાષા અને લેઆઉટ પસંદ કરવા માટે ટૅપ કરો"</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> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 98b17d7986ae..3956c3500c06 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा और लेआउट चुनने के लिए टैप करें"</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> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 115a97ea55e2..d3e309e7dfe3 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -1189,6 +1189,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste odabrali jezik i raspored"</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>"kandidati"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Priprema uređaja <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Traženje pogrešaka"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Otkriven je novi uređaj <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 54980618f998..bc9cf5629249 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Koppintson a nyelv és a billentyűzetkiosztás kiválasztásához"</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>"jelöltek"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> előkészítése"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Hibák keresése"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Új <xliff:g id="NAME">%s</xliff:g> észlelve"</string> diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml index 2b59f7e13210..7a54f6678539 100644 --- a/core/res/res/values-hy-rAM/strings.xml +++ b/core/res/res/values-hy-rAM/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Հպեք՝ լեզուն և դասավորությունն ընտրելու համար"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՈՒՓՔԵւՕՖ"</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> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index a817b32a911a..bbae86dfb28a 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketuk untuk memilih bahasa dan tata letak"</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>"calon"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Menyiapkan <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Memeriksa kesalahan"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> baru terdeteksi"</string> diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml index 339ee6aeba2d..45a97e95fc1f 100644 --- a/core/res/res/values-is-rIS/strings.xml +++ b/core/res/res/values-is-rIS/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ýttu til að velja tungumál og útlit"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"möguleikar"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Undirbýr <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Leitar að villum"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nýtt <xliff:g id="NAME">%s</xliff:g> fannst"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 1c909b792d65..34946ff2a8f8 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tocca per selezionare la lingua e il layout"</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>"candidati"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparazione della <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Ricerca errori"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nuova <xliff:g id="NAME">%s</xliff:g> rilevata"</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index 1f873ac0095a..f6576415ce2d 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"הקש כדי לבחור שפה ופריסה"</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> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 682766bfbf42..3408ef8f2546 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"タップして言語とレイアウトを選択してください"</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> diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml index 5cbf001c5296..95829e162968 100644 --- a/core/res/res/values-ka-rGE/strings.xml +++ b/core/res/res/values-ka-rGE/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"შეეხეთ ენისა და განლაგების ასარჩევად"</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> diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml index c7c91afe19d1..e34a2b4b44e0 100644 --- a/core/res/res/values-kk-rKZ/strings.xml +++ b/core/res/res/values-kk-rKZ/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тіл мен пернетақта схемасын таңдау үшін түртіңіз"</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> diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml index 54889fa8356e..b0dfb50bde4c 100644 --- a/core/res/res/values-km-rKH/strings.xml +++ b/core/res/res/values-km-rKH/strings.xml @@ -1166,6 +1166,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ប៉ះដើម្បីជ្រើសភាសា និងប្លង់"</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> diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml index 60d42b2414d3..25cba944dfd7 100644 --- a/core/res/res/values-kn-rIN/strings.xml +++ b/core/res/res/values-kn-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ಭಾಷೆ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</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> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index e661c65b6bf9..353ff86f4ba1 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"탭하여 언어와 레이아웃을 선택하세요."</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> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index 6a0089f57486..7de6b035afcd 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тил жана калып тандоо үчүн таптап коюңуз"</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> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index 38b447498aa7..b742837d0cd2 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ແຕະເພື່ອເລືອກພາສາ ແລະ ໂຄງແປ້ນພິມ"</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> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 0406ee1881cc..b1da138ef597 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Palieskite, kad pasirinktumėte kalbą ir išdėstymą"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandidatai"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Ruošiama <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tikrinama, ar nėra klaidų"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Aptikta nauja <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 44368fb4df12..2a9fb22e2ff6 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -1189,6 +1189,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Pieskarieties, lai atlasītu valodu un izkārtojumu"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandidāti"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Notiek <xliff:g id="NAME">%s</xliff:g> sagatavošana"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tiek meklētas kļūdas"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Tika atrasta jauna <xliff:g id="NAME">%s</xliff:g>."</string> diff --git a/core/res/res/values-mcc722-mnc36/config.xml b/core/res/res/values-mcc722-mnc36/config.xml new file mode 100644 index 000000000000..daf5373f7b5b --- /dev/null +++ b/core/res/res/values-mcc722-mnc36/config.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2016, 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. +*/ +--> + +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Don't use roaming icon for considered operators --> + <string-array translatable="false" name="config_operatorConsideredNonRoaming"> + <item>72234</item> + </string-array> +</resources> diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml index 102c7a007a88..e80dd1ed2eb9 100644 --- a/core/res/res/values-mk-rMK/strings.xml +++ b/core/res/res/values-mk-rMK/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Допрете за избирање јазик и распоред"</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> diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml index a4d3fabc6dbb..039c52e4e7a5 100644 --- a/core/res/res/values-ml-rIN/strings.xml +++ b/core/res/res/values-ml-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പുചെയ്യുക"</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> diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml index 1e8c39ca002a..c280445215b7 100644 --- a/core/res/res/values-mn-rMN/strings.xml +++ b/core/res/res/values-mn-rMN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Хэл болон бүдүүвчийг сонгохын тулд дарна уу"</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> diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml index 8dc710e75cc5..899194410412 100644 --- a/core/res/res/values-mr-rIN/strings.xml +++ b/core/res/res/values-mr-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा आणि लेआउट निवडण्यासाठी टॅप करा"</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> diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml index 6050c9acb659..a947c1cdba29 100644 --- a/core/res/res/values-ms-rMY/strings.xml +++ b/core/res/res/values-ms-rMY/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketik untuk memilih bahasa dan susun atur"</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>"calon"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Menyediakan <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Menyemak untuk mengesan ralat"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> baharu dikesan"</string> diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml index 3ed76a91ba20..ad95243283b2 100644 --- a/core/res/res/values-my-rMM/strings.xml +++ b/core/res/res/values-my-rMM/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ဘာသာစကားနှင့် အသွင်အပြင်ရွေးချယ်ရန် တို့ပါ"</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> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 55b226036844..7812bb98ed1c 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trykk for å velge språk og layout"</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">"TAG_FONT"<u>"kandidater"</u>"CLOSE_FONT"</string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Forbereder <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sjekker for feil"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> ble oppdaget"</string> diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml index c0d44737b9c1..145bdb06c4d4 100644 --- a/core/res/res/values-ne-rNP/strings.xml +++ b/core/res/res/values-ne-rNP/strings.xml @@ -1170,6 +1170,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा र लेआउट चयन गर्न ट्याप गर्नुहोस्"</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> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index 183d8668d575..d24a55d8ba82 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om een taal en indeling te selecteren"</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>"kandidaten"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> voorbereiden"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Controleren op fouten"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nieuwe <xliff:g id="NAME">%s</xliff:g> gedetecteerd"</string> diff --git a/core/res/res/values-notround-watch/config_material.xml b/core/res/res/values-notround-watch/config_material.xml new file mode 100644 index 000000000000..a99674f3f060 --- /dev/null +++ b/core/res/res/values-notround-watch/config_material.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 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. +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds, only for Material theme. Do not translate. + + NOTE: The naming convention is "config_camelCaseValue". --> + +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Gravity that should be used for dialog text styles. Equivalent to: Gravity.START | Gravity.TOP --> + <integer name="config_dialogTextGravity">0x00800033</integer> +</resources> diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml index 210ef8b48f85..f87ccbff7391 100644 --- a/core/res/res/values-pa-rIN/strings.xml +++ b/core/res/res/values-pa-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</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> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index e8167085c8da..d20a7ab541eb 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Kliknij, by wybrać język i układ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandydaci"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Przygotowuję: <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sprawdzanie w poszukiwaniu błędów"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Wykryto nowy nośnik: <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index ae8c7e1916ce..fc89cde3023e 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</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>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Procurando erros"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detectado"</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index c8d7e4ed8e4b..a24af8d18318 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o esquema"</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>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"A preparar o <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"A verificar a presença de erros"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detetado"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index ae8c7e1916ce..fc89cde3023e 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</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>"candidatos"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Procurando erros"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detectado"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index c3c0d61c7cbb..37f320d43c48 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -1189,6 +1189,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Atingeți pentru a selecta limba și aspectul"</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>"candidați"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Se pregătește <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Se verifică dacă există erori"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"A fost detectat un nou <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-round-watch/config_material.xml b/core/res/res/values-round-watch/config_material.xml index bf445ef3fd0e..11798709f148 100644 --- a/core/res/res/values-round-watch/config_material.xml +++ b/core/res/res/values-round-watch/config_material.xml @@ -19,4 +19,10 @@ <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- Don't clip on round screens so the list can scroll past the rounded edges. --> <bool name="config_preferenceFragmentClipToPadding">false</bool> + + <!-- Gravity that should be used for dialog text styles. Equivalent to: Gravity.CENTER_HORIZONTAL | Gravity.TOP --> + <integer name="config_dialogTextGravity">0x00000031</integer> + + <!-- The amount to offset when scrolling to a selection in an AlertDialog --> + <dimen name="config_alertDialogSelectionScrollOffset">@dimen/screen_percentage_15</dimen> </resources> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 5ca96e91c775..f61fffc637e5 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Нажмите, чтобы выбрать язык и раскладку"</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> diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml index 8eabd5b16502..5d858e571569 100644 --- a/core/res/res/values-si-rLK/strings.xml +++ b/core/res/res/values-si-rLK/strings.xml @@ -1166,6 +1166,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"භාෂාව හා පිරිසැලසුම තේරීමට තට්ටු කරන්න"</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> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index eca85e571add..4e3a4d46422f 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozloženie"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁÄBCČDĎDZDŽEÉFGHCHIÍJKLĽMNŇOÓÔPRŔSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> + <string name="candidates_style" msgid="4333913089637062257"><u>"kandidáti"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Pripravuje sa úložisko <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Prebieha kontrola chýb"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Bolo zistené nové úložisko <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index ee2dd5cd77e4..f5aac609c7a0 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dotaknite se, če želite izbrati jezik in postavitev."</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>"kandidati"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Pripravljanje shrambe <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Iskanje napak"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Zaznana je bila nova shramba <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml index 9f06b12825c7..c554f9c8e582 100644 --- a/core/res/res/values-sq-rAL/strings.xml +++ b/core/res/res/values-sq-rAL/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trokit për të zgjedhur gjuhën dhe strukturë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> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 6eb2d8d2b7a3..a7d13ae12620 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -1189,6 +1189,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Додирните да бисте изабрали језик и распоред"</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> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index df2bc16b1001..c0ee103238b6 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryck om du vill välja språk och layout"</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>"kandidater"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Förbereder ditt <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Söker efter fel"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nytt <xliff:g id="NAME">%s</xliff:g> har hittats"</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 0e7fca16fdcb..f8e794b67834 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -1162,6 +1162,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Gonga ili uchague lugha na muundo"</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>"wagombeaji"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Inaandaa <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Inakagua hitilafu"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> mpya imegunduliwa"</string> diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml index d7efb64bb7c8..ebeb986530bf 100644 --- a/core/res/res/values-ta-rIN/strings.xml +++ b/core/res/res/values-ta-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"மொழியையும் தளவமைப்பையும் தேர்ந்தெடுக்க, தட்டவும்"</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> diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml index 15fb94f99c2f..3535c268007a 100644 --- a/core/res/res/values-te-rIN/strings.xml +++ b/core/res/res/values-te-rIN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"భాష మరియు లేఅవుట్ను ఎంచుకోవడానికి నొక్కండి"</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> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 5fe5d09cd2b2..13c066026f0a 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"แตะเพื่อเลือกภาษาและรูปแบบ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</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> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 651db3635cd3..375bbe7593e8 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"I-tap upang pumili ng wika at layout"</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>"mga kandidato"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Inihahanda ang <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sinusuri para sa mga error"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Na-detect ang bagong <xliff:g id="NAME">%s</xliff:g>"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 9d3de40bd99a..6e622fe98762 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dili ve düzeni seçmek için hafifçe dokunun"</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>"adaylar"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> hazırlanıyor"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Hatalar denetleniyor"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yeni <xliff:g id="NAME">%s</xliff:g> algılandı"</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 77eff115efb6..dd129380d55e 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -1214,6 +1214,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Торкніться, щоб вибрати мову та розкладку"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</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> diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml index c35bb1319693..1620aadae4ba 100644 --- a/core/res/res/values-ur-rPK/strings.xml +++ b/core/res/res/values-ur-rPK/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"زبان اور لے آؤٹ منتخب کرنے کیلئے تھپتھپائیں"</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> diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml index 835e45ee8102..27adee9d1ef2 100644 --- a/core/res/res/values-uz-rUZ/strings.xml +++ b/core/res/res/values-uz-rUZ/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Til va sxemani belgilash uchun bosing"</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>"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">"Xatolar qidirilmoqda"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yangi <xliff:g id="NAME">%s</xliff:g> kartasi aniqlandi"</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 4a4c34abbd1c..91712377b227 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Nhấn để chọn ngôn ngữ và bố cục"</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>"ứng viên"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Đang chuẩn bị <xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Đang kiểm tra lỗi"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Đã phát hiện <xliff:g id="NAME">%s</xliff:g> mới"</string> diff --git a/core/res/res/values-w180dp-notround-watch/dimens_material.xml b/core/res/res/values-w180dp-notround-watch/dimens_material.xml new file mode 100644 index 000000000000..79acf84b7e3f --- /dev/null +++ b/core/res/res/values-w180dp-notround-watch/dimens_material.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 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> + <dimen name="text_size_display_4_material">80sp</dimen> + <dimen name="text_size_display_3_material">50sp</dimen> + <dimen name="text_size_display_2_material">40sp</dimen> + <dimen name="text_size_display_1_material">30sp</dimen> + <dimen name="text_size_headline_material">20sp</dimen> + <dimen name="text_size_title_material">18sp</dimen> + <dimen name="text_size_subhead_material">18sp</dimen> + <dimen name="text_size_title_material_toolbar">18dp</dimen> + <dimen name="text_size_subtitle_material_toolbar">18dp</dimen> + <dimen name="text_size_menu_material">18sp</dimen> + <dimen name="text_size_menu_header_material">16sp</dimen> + <dimen name="text_size_body_2_material">16sp</dimen> + <dimen name="text_size_body_1_material">16sp</dimen> + <dimen name="text_size_caption_material">14sp</dimen> + <dimen name="text_size_button_material">16sp</dimen> + + <dimen name="text_size_large_material">18sp</dimen> + <dimen name="text_size_medium_material">16sp</dimen> + <dimen name="text_size_small_material">14sp</dimen> +</resources> diff --git a/core/res/res/values-w210dp-round-watch/dimens_material.xml b/core/res/res/values-w210dp-round-watch/dimens_material.xml new file mode 100644 index 000000000000..79acf84b7e3f --- /dev/null +++ b/core/res/res/values-w210dp-round-watch/dimens_material.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 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> + <dimen name="text_size_display_4_material">80sp</dimen> + <dimen name="text_size_display_3_material">50sp</dimen> + <dimen name="text_size_display_2_material">40sp</dimen> + <dimen name="text_size_display_1_material">30sp</dimen> + <dimen name="text_size_headline_material">20sp</dimen> + <dimen name="text_size_title_material">18sp</dimen> + <dimen name="text_size_subhead_material">18sp</dimen> + <dimen name="text_size_title_material_toolbar">18dp</dimen> + <dimen name="text_size_subtitle_material_toolbar">18dp</dimen> + <dimen name="text_size_menu_material">18sp</dimen> + <dimen name="text_size_menu_header_material">16sp</dimen> + <dimen name="text_size_body_2_material">16sp</dimen> + <dimen name="text_size_body_1_material">16sp</dimen> + <dimen name="text_size_caption_material">14sp</dimen> + <dimen name="text_size_button_material">16sp</dimen> + + <dimen name="text_size_large_material">18sp</dimen> + <dimen name="text_size_medium_material">16sp</dimen> + <dimen name="text_size_small_material">14sp</dimen> +</resources> diff --git a/core/res/res/values-notround-watch/styles_material.xml b/core/res/res/values-w225dp/dimens_material.xml index cd8521f48421..aa822a32c975 100644 --- a/core/res/res/values-notround-watch/styles_material.xml +++ b/core/res/res/values-w225dp/dimens_material.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2016 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,5 +14,7 @@ limitations under the License. --> <resources> - <style name="TextAppearance.Material.AlertDialogMessage" parent="TextAppearance.Material.Body1"/> + <dimen name="screen_percentage_05">11.25dp</dimen> + <dimen name="screen_percentage_10">22.5dp</dimen> + <dimen name="screen_percentage_15">33.75dp</dimen> </resources> diff --git a/core/res/res/values-watch/colors_material.xml b/core/res/res/values-watch/colors_material.xml index 45eb9812f137..54eece4f2bdf 100644 --- a/core/res/res/values-watch/colors_material.xml +++ b/core/res/res/values-watch/colors_material.xml @@ -22,5 +22,5 @@ <color name="primary_material_dark">#4D4D4D</color> - <color name="button_material_dark">#ff999999</color> + <color name="button_material_dark">#ff919699</color> </resources> diff --git a/core/res/res/values-watch/config.xml b/core/res/res/values-watch/config.xml index 919519e5832a..7c05b7a8e362 100644 --- a/core/res/res/values-watch/config.xml +++ b/core/res/res/values-watch/config.xml @@ -57,4 +57,9 @@ <!-- Use a custom transition for RemoteViews. --> <bool name="config_overrideRemoteViewsActivityTransition">true</bool> + + <!-- Default value for android:focusableInTouchMode for some framework scrolling containers. + ListView/GridView are notably absent since this is their default anyway. + Set to true for watch devices. --> + <bool name="config_focusScrollContainersInTouchMode">true</bool> </resources> diff --git a/core/res/res/values-watch/config_material.xml b/core/res/res/values-watch/config_material.xml index 81b53e71b5d7..104d122e01d3 100644 --- a/core/res/res/values-watch/config_material.xml +++ b/core/res/res/values-watch/config_material.xml @@ -29,7 +29,4 @@ <!-- Always overscan by default to ensure onApplyWindowInsets will always be called. --> <bool name="config_windowOverscanByDefault">true</bool> - - <!-- Due to the smaller screen size, have dialog titles occupy more than 1 line. --> - <integer name="config_dialogWindowTitleMaxLines">3</integer> </resources> diff --git a/core/res/res/values-watch/dimens_material.xml b/core/res/res/values-watch/dimens_material.xml index d579434d5e30..b48cde62158a 100644 --- a/core/res/res/values-watch/dimens_material.xml +++ b/core/res/res/values-watch/dimens_material.xml @@ -14,5 +14,29 @@ limitations under the License. --> <resources> + <dimen name="text_size_display_4_material">71sp</dimen> + <dimen name="text_size_display_3_material">44sp</dimen> + <dimen name="text_size_display_2_material">36sp</dimen> + <dimen name="text_size_display_1_material">27sp</dimen> + <dimen name="text_size_headline_material">18sp</dimen> + <dimen name="text_size_title_material">16sp</dimen> + <dimen name="text_size_subhead_material">16sp</dimen> + <dimen name="text_size_title_material_toolbar">16dp</dimen> + <dimen name="text_size_subtitle_material_toolbar">16dp</dimen> + <dimen name="text_size_menu_material">16sp</dimen> + <dimen name="text_size_menu_header_material">14sp</dimen> + <dimen name="text_size_body_2_material">14sp</dimen> + <dimen name="text_size_body_1_material">14sp</dimen> + <dimen name="text_size_caption_material">12sp</dimen> + <dimen name="text_size_button_material">14sp</dimen> + + <dimen name="text_size_large_material">16sp</dimen> + <dimen name="text_size_medium_material">14sp</dimen> + <dimen name="text_size_small_material">12sp</dimen> + <item name="text_line_spacing_multiplier_material" format="float" type="dimen">1.2</item> + + <!-- Date and time picker legacy dimens --> + <dimen name="picker_top_margin">1dip</dimen> + <dimen name="picker_bottom_margin">1dip</dimen> </resources> diff --git a/core/res/res/layout-watch/number_picker_material.xml b/core/res/res/values-watch/integers.xml index a1c0921482ad..46ed97d83182 100644 --- a/core/res/res/layout-watch/number_picker_material.xml +++ b/core/res/res/values-watch/integers.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -** +/* ** Copyright 2012, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,16 +16,10 @@ ** limitations under the License. */ --> +<resources> + <!-- Specifies date picker mode to be 'spinner' --> + <integer name="date_picker_mode_material">1</integer> -<merge xmlns:android="http://schemas.android.com/apk/res/android"> - - <view class="android.widget.NumberPicker$CustomEditText" - android:textAppearance="?android:attr/textAppearanceLarge" - android:id="@+id/numberpicker_input" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:gravity="center" - android:singleLine="true" - android:background="@null" /> - -</merge> + <!-- Specifies time picker mode to be 'spinner' --> + <integer name="time_picker_mode_material">1</integer> +</resources> diff --git a/core/res/res/values-watch/styles_material.xml b/core/res/res/values-watch/styles_material.xml index a9f6e226510c..8a080d9c155d 100644 --- a/core/res/res/values-watch/styles_material.xml +++ b/core/res/res/values-watch/styles_material.xml @@ -61,11 +61,16 @@ please see styles_device_defaults.xml. <item name="divider">@empty</item> </style> + <style name="TextAppearance.Material.ListItem" parent="TextAppearance.Material.Body1" /> + <style name="TextAppearance.Material.ListItemSecondary" parent="TextAppearance.Material.Caption" /> + <style name="Widget.Material.TextView" parent="Widget.TextView"> <item name="breakStrategy">balanced</item> </style> - <style name="Widget.Material.ButtonBar" parent="Widget.Material.BaseButtonBar" /> + <style name="TextAppearance.Material.NumberPicker" parent="TextAppearance.Material.Body1"> + <item name="textSize">@dimen/text_size_medium_material</item> + </style> <!-- Alert dialog button bar button --> <style name="Widget.Material.Button.ButtonBar.AlertDialog" parent="Widget.Material.Button.Borderless.Small"> @@ -82,10 +87,18 @@ please see styles_device_defaults.xml. <item name="solidColor">@color/transparent</item> <item name="selectionDivider">@drawable/numberpicker_selection_divider</item> <item name="selectionDividerHeight">2dp</item> - <item name="selectionDividersDistance">48dp</item> - <item name="internalMinWidth">64dp</item> - <item name="internalMaxHeight">180dp</item> + <item name="selectionDividersDistance">24dp</item> + <item name="internalMinWidth">32dp</item> + <item name="internalMaxHeight">90dp</item> <item name="virtualButtonPressedDrawable">?selectableItemBackground</item> <item name="descendantFocusability">blocksDescendants</item> </style> + + <style name="DialogWindowTitle.Material"> + <item name="maxLines">3</item> + <item name="scrollHorizontally">false</item> + <item name="textAppearance">@style/TextAppearance.Material.DialogWindowTitle</item> + <item name="gravity">@integer/config_dialogTextGravity</item> + <item name="ellipsize">end</item> + </style> </resources> diff --git a/core/res/res/values-watch/themes_material.xml b/core/res/res/values-watch/themes_material.xml index 4ae4367e8bc7..84bc25f26db4 100644 --- a/core/res/res/values-watch/themes_material.xml +++ b/core/res/res/values-watch/themes_material.xml @@ -59,4 +59,17 @@ please see styles_device_defaults.xml. <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_material_light</item> <item name="windowIsFloating">false</item> </style> + + <!-- Force all settings themes to use normal Material theme. --> + <style name="Theme.Material.Settings" parent="Theme.Material"/> + <style name="Theme.Material.Settings.NoActionBar" parent="Theme.Material"/> + <style name="Theme.Material.Settings.BaseDialog" parent="Theme.Material.Dialog"/> + <style name="Theme.Material.Settings.Dialog" parent="Theme.Material.Settings.BaseDialog"/> + <style name="Theme.Material.Settings.Dialog.BaseAlert" parent="Theme.Material.Dialog.BaseAlert"/> + <style name="Theme.Material.Settings.Dialog.Alert" parent="Theme.Material.Settings.Dialog.BaseAlert"/> + <style name="Theme.Material.Settings.DialogWhenLarge" parent="Theme.Material.DialogWhenLarge"/> + <style name="Theme.Material.Settings.DialogWhenLarge.NoActionBar" parent="Theme.Material.DialogWhenLarge.NoActionBar"/> + <style name="Theme.Material.Settings.Dialog.Presentation" parent="Theme.Material.Dialog.Presentation"/> + <style name="Theme.Material.Settings.SearchBar" parent="Theme.Material.SearchBar"/> + <style name="Theme.Material.Settings.CompactMenu" parent="Theme.Material.CompactMenu"/> </resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 1bdd065ed058..e4dfcb63d4d1 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"点按即可选择语言和布局"</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> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index ff4f95ece2ee..480b33f6f316 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕按即可選取語言和鍵盤配置"</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> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index aedd91bf4e16..6c6f636b9f66 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕觸即可選取語言和版面配置"</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> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 59b6fbe0ba39..86af6252ee11 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -1164,6 +1164,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Thepha ukuze ukhethe ulimi nesakhiwo"</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>"abahlanganyeli"</u></string> <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Ilungiselela i-<xliff:g id="NAME">%s</xliff:g>"</string> <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Ihlolela amaphutha"</string> <string name="ext_media_new_notification_message" msgid="7589986898808506239">"I-<xliff:g id="NAME">%s</xliff:g> entsha itholiwe"</string> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 0a96ba399396..0561131ecd08 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -2057,6 +2057,8 @@ i <!-- Controller for micro specific layout. --> <enum name="micro" value="1" /> </attr> + <!-- @hide Offset when scrolling to a selection. --> + <attr name="selectionScrollOffset" format="dimension" /> </declare-styleable> <!-- @hide --> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index b047cdf3c69f..43f8dc769432 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -202,7 +202,7 @@ <!-- The threshold angle for any motion detection in auto-power save modes. In hundreths of a degree. --> - <integer name="config_autoPowerModeThresholdAngle">200</integer> + <integer name="config_autoPowerModeThresholdAngle">10</integer> <!-- The sensor id of an "any motion" sensor used in auto-power save modes. 0 indicates this sensor is not available. --> @@ -551,9 +551,12 @@ Software implementation will be used if config_hardware_auto_brightness_available is not set --> <bool name="config_automatic_brightness_available">false</bool> - <!-- Fast brightness animation ramp rate --> + <!-- Fast brightness animation ramp rate in brightness units per second--> <integer translatable="false" name="config_brightness_ramp_rate_fast">200</integer> + <!-- Slow brightness animation ramp rate in brightness units per second--> + <integer translatable="false" name="config_brightness_ramp_rate_slow">40</integer> + <!-- Don't name config resources like this. It should look like config_annoyDianne --> <bool name="config_annoy_dianne">true</bool> @@ -808,6 +811,12 @@ --> <integer name="config_longPressOnBackBehavior">0</integer> + <!-- Control the behavior when the user panic presses the back button. + 0 - Nothing + 1 - Go to home + --> + <integer name="config_backPanicBehavior">0</integer> + <!-- Control the behavior when the user short presses the power button. 0 - Nothing 1 - Go to sleep (doze) @@ -1135,6 +1144,40 @@ <integer-array name="config_autoBrightnessKeyboardBacklightValues"> </integer-array> + <!-- Array of hysteresis constraint values for brightening, represented as tenths of a + percent. The length of this array is assumed to be one greater than + config_dynamicHysteresisLuxLevels. The brightening threshold is calculated as + lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold, + the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels + description for how the constraint value is chosen. --> + <integer-array name="config_dynamicHysteresisBrightLevels"> + <item>100</item> + </integer-array> + + <!-- Array of hysteresis constraint values for darkening, represented as tenths of a + percent. The length of this array is assumed to be one greater than + config_dynamicHysteresisLuxLevels. The darkening threshold is calculated as + lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold, + the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels + description for how the constraint value is chosen. --> + <integer-array name="config_dynamicHysteresisDarkLevels"> + <item>200</item> + </integer-array> + + <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint + values by calculating the index to use for lookup and then setting the constraint value + to the corresponding value of the array. The new brightening hysteresis constraint value + is the n-th element of config_dynamicHysteresisBrightLevels, and the new darkening + hysteresis constraint value is the n-th element of config_dynamicHysteresisDarkLevels. + + The (zero-based) index is calculated as follows: (MAX is the largest index of the array) + condition calculated index + value < lux[0] 0 + lux[n] <= value < lux[n+1] n+1 + lux[MAX] <= value MAX+1 --> + <integer-array name="config_dynamicHysteresisLuxLevels"> + </integer-array> + <!-- Amount of time it takes for the light sensor to warm up in milliseconds. For this time after the screen turns on, the Power Manager will not debounce light sensor readings --> @@ -1756,6 +1799,10 @@ <!-- Amount of time in ms the user needs to press the relevant key to bring up the global actions dialog --> <integer name="config_globalActionsKeyTimeout">500</integer> + <!-- Distance that should be scrolled in response to a {@link MotionEvent#ACTION_SCROLL event} + with an axis value of 1. --> + <dimen name="config_scrollFactor">64dp</dimen> + <!-- Maximum number of grid columns permitted in the ResolverActivity used for picking activities to handle an intent. --> <integer name="config_maxResolverActivityColumns">3</integer> @@ -2537,6 +2584,14 @@ <string-array translatable="false" name="config_defaultFirstUserRestrictions"> </string-array> + <!-- Default value for android:focusableInTouchMode for some framework scrolling containers. + ListView/GridView are notably absent since this is their default anyway. + Set to true for watch devices. --> + <bool name="config_focusScrollContainersInTouchMode">false</bool> + + <string name="config_networkOverLimitComponent" translatable="false">com.android.systemui/com.android.systemui.net.NetworkOverLimitActivity</string> + <string name="config_dataUsageSummaryComponent" translatable="false">com.android.settings/com.android.settings.Settings$DataUsageSummaryActivity</string> + <!-- A array of regex to treat a SMS as VVM SMS if the message body matches. Each item represents an entry, which consists of two parts: a comma (,) separated list of MCCMNC the regex applies to, followed by a semicolon (;), and @@ -2553,4 +2608,7 @@ <item>110,119:112</item> --> <string-array translatable="false" name="config_convert_to_emergency_number_map" /> + + <!-- An array of packages for which notifications cannot be blocked. --> + <string-array translatable="false" name="config_nonBlockableNotificationPackages" /> </resources> diff --git a/core/res/res/values/config_material.xml b/core/res/res/values/config_material.xml index a37be837d9f1..29494db40557 100644 --- a/core/res/res/values/config_material.xml +++ b/core/res/res/values/config_material.xml @@ -32,9 +32,9 @@ <!-- True if windowOverscan should be on by default. --> <bool name="config_windowOverscanByDefault">false</bool> - <!-- Max number of lines for the dialog title. --> - <integer name="config_dialogWindowTitleMaxLines">1</integer> - <!-- True if preference fragment should clip to padding. --> <bool name="config_preferenceFragmentClipToPadding">true</bool> + + <!-- The amount to offset when scrolling to a selection in an AlertDialog --> + <dimen name="config_alertDialogSelectionScrollOffset">0dp</dimen> </resources> diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml index f96cef9ad1c5..ae3116584e5d 100644 --- a/core/res/res/values/dimens_material.xml +++ b/core/res/res/values/dimens_material.xml @@ -189,4 +189,8 @@ <dimen name="day_picker_button_margin_top">0dp</dimen> <dimen name="datepicker_view_animator_height">226dp</dimen> + + <!-- Date and time picker legacy dimens --> + <dimen name="picker_top_margin">16dip</dimen> + <dimen name="picker_bottom_margin">16dip</dimen> </resources> diff --git a/core/res/res/values/integers.xml b/core/res/res/values/integers.xml index 71ac2f49ff71..2b69c75b7d9c 100644 --- a/core/res/res/values/integers.xml +++ b/core/res/res/values/integers.xml @@ -26,5 +26,12 @@ <integer name="date_picker_mode">1</integer> <integer name="time_picker_mode">1</integer> + + <!-- Specifies date picker mode to be 'calendar' --> + <integer name="date_picker_mode_material">2</integer> + + <!-- Specifies time picker mode to be 'clock' --> + <integer name="time_picker_mode_material">2</integer> + <integer name="date_picker_header_max_lines_material">2</integer> </resources> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index d0107e161707..bbcd6d57f30a 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1957,7 +1957,7 @@ <string name="lockscreen_access_pattern_cleared">Pattern cleared</string> <!-- Accessibility description sent when user adds a dot to the pattern. [CHAR LIMIT=NONE] --> <string name="lockscreen_access_pattern_cell_added">Cell added</string> - <!-- Accessibility description sent when user adds a dot to the pattern. Announces the + <!-- Accessibility description sent when user adds a dot to the pattern. Announces the actual cell when headphones are connected [CHAR LIMIT=NONE] --> <string name="lockscreen_access_pattern_cell_added_verbose"> Cell <xliff:g id="cell_index" example="3">%1$s</xliff:g> added</string> @@ -2037,6 +2037,12 @@ <!-- Button to restart the device after the factory test. --> <string name="factorytest_reboot">Reboot</string> + <!-- Do not translate. timepicker mode, overridden for watch --> + <string name="time_picker_mode" translatable="false">"clock"</string> + + <!-- Do not translate. datepicker mode, overridden for watch --> + <string name="date_picker_mode" translatable="false">"calendar"</string> + <!-- Do not translate. WebView User Agent string --> <string name="web_user_agent" translatable="false">Mozilla/5.0 (Linux; U; <xliff:g id="x">Android %s</xliff:g>) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 <xliff:g id="mobile">%s</xliff:g>Safari/534.30</string> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 762cf31abd55..937428b12c60 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -649,11 +649,13 @@ please see styles_device_defaults.xml. <style name="Widget.ScrollView"> <item name="scrollbars">vertical</item> <item name="fadingEdge">vertical</item> + <item name="focusableInTouchMode">@bool/config_focusScrollContainersInTouchMode</item> </style> <style name="Widget.HorizontalScrollView"> <item name="scrollbars">horizontal</item> <item name="fadingEdge">horizontal</item> + <item name="focusableInTouchMode">@bool/config_focusScrollContainersInTouchMode</item> </style> <style name="Widget.ListView" parent="Widget.AbsListView"> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index 443553754193..22bdf7e9616a 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -255,6 +255,8 @@ please see styles_device_defaults.xml. <item name="textColor">?attr/textColorPrimary</item> </style> + <style name="TextAppearance.Material.NumberPicker" parent="TextAppearance.Material.Body1"/> + <!-- Deprecated text styles --> <style name="TextAppearance.Material.Inverse"> @@ -475,6 +477,9 @@ please see styles_device_defaults.xml. <item name="textColor">#66000000</item> </style> + <style name="TextAppearance.Material.ListItem" parent="TextAppearance.Material.Subhead" /> + <style name="TextAppearance.Material.ListItemSecondary" parent="TextAppearance.Material.Body1" /> + <style name="Widget.Material.Notification.ProgressBar" parent="Widget.Material.Light.ProgressBar.Horizontal" /> <style name="Widget.Material.Notification.MessagingText" parent="Widget.Material.Light.TextView"> @@ -548,11 +553,7 @@ please see styles_device_defaults.xml. <item name="textOff">@string/capital_off</item> </style> - <style name="Widget.Material.BaseButtonBar"> - <item name="background">?attr/colorBackgroundFloating</item> - </style> - - <style name="Widget.Material.ButtonBar" parent="Widget.Material.BaseButtonBar"> + <style name="Widget.Material.ButtonBar"> <item name="background">@null</item> </style> @@ -684,7 +685,7 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Material.TimePicker"> - <item name="timePickerMode">clock</item> + <item name="timePickerMode">@integer/time_picker_mode_material</item> <item name="legacyLayout">@layout/time_picker_legacy_material</item> <!-- Attributes for new-style TimePicker. --> <item name="internalLayout">@layout/time_picker_material</item> @@ -698,7 +699,7 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Material.DatePicker"> - <item name="datePickerMode">calendar</item> + <item name="datePickerMode">@integer/date_picker_mode_material</item> <item name="legacyLayout">@layout/date_picker_legacy_holo</item> <item name="calendarViewShown">true</item> <!-- Attributes for new-style DatePicker. --> @@ -1208,6 +1209,7 @@ please see styles_device_defaults.xml. <item name="multiChoiceItemLayout">@layout/select_dialog_multichoice_material</item> <item name="singleChoiceItemLayout">@layout/select_dialog_singlechoice_material</item> <item name="controllerType">@integer/config_alertDialogController</item> + <item name="selectionScrollOffset">@dimen/config_alertDialogSelectionScrollOffset</item> </style> <style name="AlertDialog.Material.Light" /> @@ -1246,7 +1248,7 @@ please see styles_device_defaults.xml. <style name="DialogWindowTitleBackground.Material.Light" /> <style name="DialogWindowTitle.Material"> - <item name="maxLines">@integer/config_dialogWindowTitleMaxLines</item> + <item name="maxLines">1</item> <item name="scrollHorizontally">true</item> <item name="textAppearance">@style/TextAppearance.Material.DialogWindowTitle</item> </style> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 4613b7803376..fa90e2444fd8 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -375,6 +375,7 @@ <java-symbol type="integer" name="config_immersive_mode_confirmation_panic" /> <java-symbol type="integer" name="config_longPressOnPowerBehavior" /> <java-symbol type="integer" name="config_longPressOnBackBehavior" /> + <java-symbol type="integer" name="config_backPanicBehavior" /> <java-symbol type="integer" name="config_lowMemoryKillerMinFreeKbytesAdjust" /> <java-symbol type="integer" name="config_lowMemoryKillerMinFreeKbytesAbsolute" /> <java-symbol type="integer" name="config_max_pan_devices" /> @@ -415,6 +416,7 @@ <java-symbol type="dimen" name="config_viewConfigurationTouchSlop" /> <java-symbol type="dimen" name="config_viewMinFlingVelocity" /> <java-symbol type="dimen" name="config_viewMaxFlingVelocity" /> + <java-symbol type="dimen" name="config_scrollFactor" /> <java-symbol type="dimen" name="default_app_widget_padding_bottom" /> <java-symbol type="dimen" name="default_app_widget_padding_left" /> <java-symbol type="dimen" name="default_app_widget_padding_right" /> @@ -1407,7 +1409,6 @@ <java-symbol type="raw" name="color_fade_vert" /> <java-symbol type="raw" name="color_fade_frag" /> <java-symbol type="raw" name="accessibility_gestures" /> - <java-symbol type="raw" name="incognito_mode_start_page" /> <java-symbol type="raw" name="loaderror" /> <java-symbol type="raw" name="nodomain" /> @@ -1644,6 +1645,9 @@ <java-symbol type="array" name="config_autoBrightnessKeyboardBacklightValues" /> <java-symbol type="array" name="config_autoBrightnessLcdBacklightValues" /> <java-symbol type="array" name="config_autoBrightnessLevels" /> + <java-symbol type="array" name="config_dynamicHysteresisBrightLevels" /> + <java-symbol type="array" name="config_dynamicHysteresisDarkLevels" /> + <java-symbol type="array" name="config_dynamicHysteresisLuxLevels" /> <java-symbol type="array" name="config_protectedNetworks" /> <java-symbol type="array" name="config_statusBarIcons" /> <java-symbol type="array" name="config_tether_bluetooth_regexs" /> @@ -1766,6 +1770,7 @@ <java-symbol type="integer" name="config_undockedHdmiRotation" /> <java-symbol type="integer" name="config_virtualKeyQuietTimeMillis" /> <java-symbol type="integer" name="config_brightness_ramp_rate_fast" /> + <java-symbol type="integer" name="config_brightness_ramp_rate_slow" /> <java-symbol type="layout" name="am_compat_mode_dialog" /> <java-symbol type="layout" name="launch_warning" /> <java-symbol type="layout" name="safe_mode" /> @@ -2662,6 +2667,10 @@ <!-- Colon separated list of package names that should be granted DND access --> <java-symbol type="string" name="config_defaultDndAccessPackages" /> + <!-- For NetworkPolicyManagerService --> + <java-symbol type="string" name="config_networkOverLimitComponent" /> + <java-symbol type="string" name="config_dataUsageSummaryComponent" /> + <java-symbol type="string" name="lockscreen_storage_locked" /> <!-- Used for MimeIconUtils. --> @@ -2701,4 +2710,6 @@ <java-symbol type="drawable" name="ic_restart" /> <java-symbol type="array" name="config_convert_to_emergency_number_map" /> + + <java-symbol type="array" name="config_nonBlockableNotificationPackages" /> </resources> diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml index 7e2867de1d7a..0eb4c8d86928 100644 --- a/core/res/res/values/themes_material.xml +++ b/core/res/res/values/themes_material.xml @@ -114,9 +114,9 @@ please see themes_device_defaults.xml. <item name="listPreferredItemHeightSmall">48dip</item> <item name="listPreferredItemHeightLarge">80dip</item> <item name="dropdownListPreferredItemHeight">?attr/listPreferredItemHeightSmall</item> - <item name="textAppearanceListItem">@style/TextAppearance.Material.Subhead</item> - <item name="textAppearanceListItemSmall">@style/TextAppearance.Material.Subhead</item> - <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.Body1</item> + <item name="textAppearanceListItem">@style/TextAppearance.Material.ListItem</item> + <item name="textAppearanceListItemSmall">@style/TextAppearance.Material.ListItem</item> + <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.ListItemSecondary</item> <item name="listPreferredItemPaddingLeft">@dimen/list_item_padding_horizontal_material</item> <item name="listPreferredItemPaddingRight">@dimen/list_item_padding_horizontal_material</item> <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_start_material</item> @@ -475,9 +475,9 @@ please see themes_device_defaults.xml. <item name="listPreferredItemHeightSmall">48dip</item> <item name="listPreferredItemHeightLarge">80dip</item> <item name="dropdownListPreferredItemHeight">?attr/listPreferredItemHeightSmall</item> - <item name="textAppearanceListItem">@style/TextAppearance.Material.Subhead</item> - <item name="textAppearanceListItemSmall">@style/TextAppearance.Material.Subhead</item> - <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.Body1</item> + <item name="textAppearanceListItem">@style/TextAppearance.Material.ListItem</item> + <item name="textAppearanceListItemSmall">@style/TextAppearance.Material.ListItem</item> + <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.ListItemSecondary</item> <item name="listPreferredItemPaddingLeft">@dimen/list_item_padding_horizontal_material</item> <item name="listPreferredItemPaddingRight">@dimen/list_item_padding_horizontal_material</item> <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_start_material</item> diff --git a/core/res/res/xml-watch/default_zen_mode_config.xml b/core/res/res/xml-watch/default_zen_mode_config.xml index 26af10c1809e..938cc0c3f7c0 100644 --- a/core/res/res/xml-watch/default_zen_mode_config.xml +++ b/core/res/res/xml-watch/default_zen_mode_config.xml @@ -17,8 +17,8 @@ <!-- Default configuration for zen mode. See android.service.notification.ZenModeConfig. --> <zen version="2"> - <!-- Allow starred contacts to go through only. Repeated calls on. - Calls, messages, reminders, events off.--> - <allow from="2" repeatCallers="true" calls="false" messages="false" reminders="false" + <!-- Allow starred contacts to go through only. + Repeated calls, calls, messages, reminders, events off. --> + <allow from="2" repeatCallers="false" calls="false" messages="false" reminders="false" events="false"/> </zen> diff --git a/core/tests/coretests/src/android/os/OsTests.java b/core/tests/coretests/src/android/os/OsTests.java index 582bf1ae204a..985fa4f3cfc8 100644 --- a/core/tests/coretests/src/android/os/OsTests.java +++ b/core/tests/coretests/src/android/os/OsTests.java @@ -32,6 +32,7 @@ public class OsTests { suite.addTestSuite(IdleHandlerTest.class); suite.addTestSuite(MessageQueueTest.class); suite.addTestSuite(MessengerTest.class); + suite.addTestSuite(PatternMatcherTest.class); suite.addTestSuite(SystemPropertiesTest.class); return suite; diff --git a/core/tests/coretests/src/android/os/PatternMatcherTest.java b/core/tests/coretests/src/android/os/PatternMatcherTest.java new file mode 100644 index 000000000000..9645ccc11b76 --- /dev/null +++ b/core/tests/coretests/src/android/os/PatternMatcherTest.java @@ -0,0 +1,234 @@ +package android.os; + +import android.test.suitebuilder.annotation.SmallTest; +import junit.framework.TestCase; +import org.junit.runner.RunWith; +import org.junit.Test; +import org.junit.runners.JUnit4; + +@RunWith(JUnit4.class) +@SmallTest +public class PatternMatcherTest extends TestCase{ + + @Test + public void testAdvancedPatternMatchesAnyToken() { + PatternMatcher matcher = new PatternMatcher(".", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertMatches("b", matcher); + assertNotMatches("", matcher); + } + + @Test + public void testAdvancedPatternMatchesSetToken() { + PatternMatcher matcher = new PatternMatcher("[a]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertNotMatches("b", matcher); + + matcher = new PatternMatcher("[.*+{}\\]\\\\[]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches(".", matcher); + assertMatches("*", matcher); + assertMatches("+", matcher); + assertMatches("{", matcher); + assertMatches("}", matcher); + assertMatches("]", matcher); + assertMatches("\\", matcher); + assertMatches("[", matcher); + } + + @Test + public void testAdvancedPatternMatchesSetCharacterClassToken() { + PatternMatcher matcher = new PatternMatcher("[a-z]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertMatches("b", matcher); + assertNotMatches("A", matcher); + assertNotMatches("1", matcher); + + matcher = new PatternMatcher("[a-z][0-9]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a1", matcher); + assertNotMatches("1a", matcher); + assertNotMatches("aa", matcher); + + matcher = new PatternMatcher("[z-a]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertNotMatches("a", matcher); + assertNotMatches("z", matcher); + assertNotMatches("A", matcher); + + matcher = new PatternMatcher("[^0-9]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertMatches("z", matcher); + assertMatches("A", matcher); + assertNotMatches("9", matcher); + assertNotMatches("5", matcher); + assertNotMatches("0", matcher); + + assertPoorlyFormattedPattern("[]a]"); + matcher = new PatternMatcher("[\\[a]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertMatches("[", matcher); + } + + @Test + public void testAdvancedPatternMatchesEscapedCharacters() { + PatternMatcher matcher = new PatternMatcher("\\.", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches(".", matcher); + assertNotMatches("a", matcher); + assertNotMatches("1", matcher); + + matcher = new PatternMatcher("a\\+", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a+", matcher); + assertNotMatches("a", matcher); + assertNotMatches("aaaaa", matcher); + + matcher = new PatternMatcher("[\\a-\\z]", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertMatches("a", matcher); + assertMatches("z", matcher); + assertNotMatches("A", matcher); + } + + @Test + public void testAdvancedPatternMatchesLiteralTokens() { + PatternMatcher matcher = new PatternMatcher("a", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertNotMatches("", matcher); + assertMatches("a", matcher); + assertNotMatches("z", matcher); + + matcher = new PatternMatcher("az", PatternMatcher.PATTERN_ADVANCED_GLOB); + assertNotMatches("", matcher); + assertMatches("az", matcher); + assertNotMatches("za", matcher); + } + + @Test + public void testAdvancedPatternMatchesSetZeroOrMore() { + PatternMatcher matcher = new PatternMatcher("[a-z]*", PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertMatches("", matcher); + assertMatches("a", matcher); + assertMatches("abcdefg", matcher); + assertNotMatches("abc1", matcher); + assertNotMatches("1abc", matcher); + } + + @Test + public void testAdvancedPatternMatchesSetOneOrMore() { + PatternMatcher matcher = new PatternMatcher("[a-z]+", PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertNotMatches("", matcher); + assertMatches("a", matcher); + assertMatches("abcdefg", matcher); + assertNotMatches("abc1", matcher); + assertNotMatches("1abc", matcher); + } + + + @Test + public void testAdvancedPatternMatchesSingleRange() { + PatternMatcher matcher = new PatternMatcher("[a-z]{1}", + PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertNotMatches("", matcher); + assertMatches("a", matcher); + assertMatches("z", matcher); + assertNotMatches("1", matcher); + assertNotMatches("aa", matcher); + } + + @Test + public void testAdvancedPatternMatchesFullRange() { + PatternMatcher matcher = new PatternMatcher("[a-z]{1,5}", + PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertNotMatches("", matcher); + assertMatches("a", matcher); + assertMatches("zazaz", matcher); + assertNotMatches("azazaz", matcher); + assertNotMatches("11111", matcher); + } + + @Test + public void testAdvancedPatternMatchesPartialRange() { + PatternMatcher matcher = new PatternMatcher("[a-z]{3,}", + PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertNotMatches("", matcher); + assertMatches("aza", matcher); + assertMatches("zazaz", matcher); + assertMatches("azazazazazaz", matcher); + assertNotMatches("aa", matcher); + } + + @Test + public void testAdvancedPatternMatchesComplexPatterns() { + PatternMatcher matcher = new PatternMatcher( + "/[0-9]{4}/[0-9]{2}/[0-9]{2}/[a-zA-Z0-9_]+\\.html", + PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertNotMatches("", matcher); + assertMatches("/2016/09/07/got_this_working.html", matcher); + assertMatches("/2016/09/07/got_this_working2.html", matcher); + assertNotMatches("/2016/09/07/got_this_working2dothtml", matcher); + assertNotMatches("/2016/9/7/got_this_working.html", matcher); + + matcher = new PatternMatcher( + "/b*a*bar.*", + PatternMatcher.PATTERN_ADVANCED_GLOB); + + assertMatches("/babar", matcher); + assertMatches("/babarfff", matcher); + assertMatches("/bbaabarfff", matcher); + assertMatches("/babar?blah", matcher); + assertMatches("/baaaabar?blah", matcher); + assertNotMatches("?bar", matcher); + assertNotMatches("/bar", matcher); + assertNotMatches("/baz", matcher); + assertNotMatches("/ba/bar", matcher); + assertNotMatches("/barf", matcher); + assertNotMatches("/", matcher); + assertNotMatches("?blah", matcher); + } + + @Test + public void testAdvancedPatternPoorFormatThrowsIllegalArgumentException() { + assertPoorlyFormattedPattern("[a-z"); + assertPoorlyFormattedPattern("a{,4}"); + assertPoorlyFormattedPattern("a{0,a}"); + assertPoorlyFormattedPattern("a{\\1, 2}"); + assertPoorlyFormattedPattern("[]"); + assertPoorlyFormattedPattern("a{}"); + assertPoorlyFormattedPattern("{3,4}"); + assertPoorlyFormattedPattern("a+{3,4}"); + assertPoorlyFormattedPattern("*."); + assertPoorlyFormattedPattern(".+*"); + assertPoorlyFormattedPattern("a{3,4"); + assertPoorlyFormattedPattern("[a"); + assertPoorlyFormattedPattern("abc\\"); + assertPoorlyFormattedPattern("+."); + + StringBuilder charSet = new StringBuilder("["); + for (int i = 0; i < 1024; i++) { + charSet.append('a' + (i % 26)); + } + charSet.append("]"); + assertPoorlyFormattedPattern(charSet.toString()); + } + + private void assertMatches(String string, PatternMatcher matcher) { + assertTrue("'" + string + "' should match '" + matcher.toString() + "'", + matcher.match(string)); + } + + private void assertNotMatches(String string, PatternMatcher matcher) { + assertTrue("'" + string + "' should not match '" + matcher.toString() + "'", + !matcher.match(string)); + } + + private void assertPoorlyFormattedPattern(String format) { + try { + new PatternMatcher(format, PatternMatcher.PATTERN_ADVANCED_GLOB); + } catch (IllegalArgumentException e) { + return;// expected + } + + fail("'" + format + "' was erroneously created"); + } +} diff --git a/docs/html/images/training/tv/playback/onboarding-fragment-diagram.png b/docs/html/images/training/tv/playback/onboarding-fragment-diagram.png Binary files differnew file mode 100644 index 000000000000..5839a50d572c --- /dev/null +++ b/docs/html/images/training/tv/playback/onboarding-fragment-diagram.png diff --git a/docs/html/images/training/tv/playback/onboarding-fragment.png b/docs/html/images/training/tv/playback/onboarding-fragment.png Binary files differnew file mode 100644 index 000000000000..5b7da55c8422 --- /dev/null +++ b/docs/html/images/training/tv/playback/onboarding-fragment.png diff --git a/docs/html/images/training/tv/playback/onboarding-fragment_2x.png b/docs/html/images/training/tv/playback/onboarding-fragment_2x.png Binary files differnew file mode 100644 index 000000000000..0034be44fbc8 --- /dev/null +++ b/docs/html/images/training/tv/playback/onboarding-fragment_2x.png diff --git a/docs/html/training/_book.yaml b/docs/html/training/_book.yaml index 891574fbc6ca..c4551d5229ab 100644 --- a/docs/html/training/_book.yaml +++ b/docs/html/training/_book.yaml @@ -695,6 +695,8 @@ toc: value: 再生中カードを表示する - title: Adding a Guided Step path: /training/tv/playback/guided-step.html + - title: Introducing First-time Users to Your App + path: /training/tv/playback/onboarding.html - title: Enabling Background Playback path: /training/tv/playback/options.html - title: Adding Picture-in-picture diff --git a/docs/html/training/tv/playback/index.jd b/docs/html/training/tv/playback/index.jd index d5e4e6712b05..34c6287173ca 100644 --- a/docs/html/training/tv/playback/index.jd +++ b/docs/html/training/tv/playback/index.jd @@ -69,6 +69,10 @@ startpage=true <dd>Learn how to use the Leanback support library to guide a user through a series of decisions.</dd> + <dt><b><a href="onboarding.html">Introducing First-time Users to Your App</a></b></dt> + <dd>Learn how to use the Leanback support library to show first-time users + how to get the most out of your app.</dd> + <dt><b><a href="options.html">Enabling Background Playback</a></b></dt> <dd>Learn how to continue playback when the user clicks on <strong>Home</strong>.</dd> </dl> diff --git a/docs/html/training/tv/playback/onboarding.jd b/docs/html/training/tv/playback/onboarding.jd new file mode 100644 index 000000000000..bb41bece1d28 --- /dev/null +++ b/docs/html/training/tv/playback/onboarding.jd @@ -0,0 +1,377 @@ +page.title=Introducing First-time Users to Your App +page.tags=tv,onboarding,OnboardingFragment +page.keywords=tv,onboarding,OnboardingFragment +helpoutsWidget=true + +trainingnavtop=true + +@jd:body + +<div id="tb-wrapper"> +<div id="tb"> + <h2>This lesson teaches you to</h2> + <ol> + <li><a href="#addFragment">Add an OnboardingFragment</a></li> + <li><a href="#pageContent">Add OnboardingFragment Pages</a></li> + <li><a href="#logoScreen">Add an Initial Logo Screen</a></li> + <li><a href="#pageAnimations">Customize Page Animations</a></li> + <li><a href="#themes">Customize Themes</a></li> + </ol> + <h2>Try it out</h2> + <ul> + <li><a class="external-link" href="https://github.com/googlesamples/androidtv-Leanback">Android + Leanback sample app</a></li> + </ul> +</div> +</div> + +<p> +To show a first-time user how to get the most from your app, present +onboarding information at app startup. Here are some examples of onboarding +information: +</p> + +<ul> +<li>Present detailed information on which channels are available when a user +first accesses a channel app.</li> +<li>Call attention to noteworthy features in your app.</li> +<li>Illustrate any required or recommended steps that users should take when +using the app for the first time.</li> +</ul> + +<p>The <a href= +"{@docRoot}tools/support-library/features.html#v17-leanback">v17 Leanback +support library</a> provides the +{@link android.support.v17.leanback.app.OnboardingFragment} class for +presenting first-time user information. This lesson describes how to use the +{@link android.support.v17.leanback.app.OnboardingFragment} class to present +introductory information that is shown when the app launches for the first +time. {@link android.support.v17.leanback.app.OnboardingFragment} uses TV UI +best practices to present the information in a way that matches TV UI styles, +and is easy to navigate on TV devices.</p> + +<img src="{@docRoot}images/training/tv/playback/onboarding-fragment.png" +srcset="{@docRoot}images/training/tv/playback/onboarding-fragment.png 1x, +{@docRoot}images/training/tv/playback/onboarding-fragment_2x.png 2x" /> +<p class="img-caption"><strong>Figure 1.</strong> An example +OnboardingFragment.</p> + +<p>Your {@link android.support.v17.leanback.app.OnboardingFragment} should +not contain UI elements that require user input, such as buttons and fields. +Similarly, it should not be used as a UI element for a task the user will do +regularly. If you need to present a multi-page UI that requires +user input, consider using a +{@link android.support.v17.leanback.app.GuidedStepFragment}.</p> + +<h2 id="addFragment">Add an OnboardingFragment</h2> + +<p>To add an {@link android.support.v17.leanback.app.OnboardingFragment} +to your app, implement a class that extends +the {@link android.support.v17.leanback.app.OnboardingFragment} class. Add +this fragment to an activity, either via the activity's layout XML, or +programmatically. Make sure the activity or +fragment is using a theme derived from +{@link android.support.v17.leanback.R.style#Theme_Leanback_Onboarding}, +as described in <a href="#themes">Customize Themes</a>.</p> + +<p>In the {@link android.app.Activity#onCreate onCreate()} method of your +app's main activity, call +{@link android.app.Activity#startActivity startActivity()} +with an {@link android.content.Intent} that points to your +{@link android.support.v17.leanback.app.OnboardingFragment OnboardingFragment's} +parent activity. This ensures that your +{@link android.support.v17.leanback.app.OnboardingFragment} appears as +soon as your app starts.<p> + +<p>To ensure that the +{@link android.support.v17.leanback.app.OnboardingFragment} only appears the +first time that the user starts your app, use a +{@link android.content.SharedPreferences} object +to track whether the user has already viewed the +{@link android.support.v17.leanback.app.OnboardingFragment}. Define a boolean +value that changes to true when the user finishes viewing the +{@link android.support.v17.leanback.app.OnboardingFragment}. Check +this value in your main activity’s +{@link android.app.Activity#onCreate onCreate()}, and only start the +{@link android.support.v17.leanback.app.OnboardingFragment} parent activity if +the value is false. The following example shows an override of +{@link android.app.Activity#onCreate onCreate()} that checks for a +{@link android.content.SharedPreferences} value and, if not set to true, calls +{@link android.app.Activity#startActivity startActivity()} to +show the {@link android.support.v17.leanback.app.OnboardingFragment}:</p> + +<pre> +@Override +protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + SharedPreferences sharedPreferences = + PreferenceManager.getDefaultSharedPreferences(this); + // Check if we need to display our OnboardingFragment + if (!sharedPreferences.getBoolean( + MyOnboardingFragment.COMPLETED_ONBOARDING_PREF_NAME, false)) { + // The user hasn't seen the OnboardingFragment yet, so show it + startActivity(new Intent(this, OnboardingActivity.class)); + } +} +</pre> + +<p>After the user views the +{@link android.support.v17.leanback.app.OnboardingFragment}, mark it as viewed +using the {@link android.content.SharedPreferences} object. To do this, in your +{@link android.support.v17.leanback.app.OnboardingFragment}, override +{@link android.support.v17.leanback.app.OnboardingFragment#onFinishFragment +onFinishFragment()} and set your {@link android.content.SharedPreferences} value +to true, as shown in the following example: + +<pre> +@Override +protected void onFinishFragment() { + super.onFinishFragment(); + // User has seen OnboardingFragment, so mark our SharedPreferences + // flag as completed so that we don't show our OnboardingFragment + // the next time the user launches the app. + SharedPreferences.Editor sharedPreferencesEditor = + PreferenceManager.getDefaultSharedPreferences(getContext()).edit(); + sharedPreferencesEditor.putBoolean( + COMPLETED_ONBOARDING_PREF_NAME, true); + sharedPreferencesEditor.apply(); +} +</pre> + +<h2 id="pageContent">Add OnboardingFragment Pages</h2> + +<p>After you add your +{@link android.support.v17.leanback.app.OnboardingFragment}, you need to define +the onboarding pages. An +{@link android.support.v17.leanback.app.OnboardingFragment} displays content +in a series of ordered pages. Each page can have a title, description, and +several sub-views that can contain images or animations.</p> + +<img src="{@docRoot}images/training/tv/playback/onboarding-fragment-diagram.png" +/><p class="img-caption"><strong>Figure 2.</strong> OnboardingFragment +page elements. +</p> + +<p>Figure 2 shows an example page with callouts marking customizable page +elements that your {@link android.support.v17.leanback.app.OnboardingFragment} +can provide. The page elements are:</p> + +<ol> +<li>The page title.</li> +<li>The page description.</li> +<li>The page content view, in this case a simple green checkmark in a grey box. +This view is optional. Use this view to illustrate page details such as a +screenshot that highlights the app feature that the page describes.</li> +<li>The page background view, in this case a simple blue gradient. This view +always renders behind other views on the page. This view is optional.</li> +<li>The page foreground view, in this case a logo. This view always renders +in front of all other views on the page. This view is optional.</li> +</ol> + +<p>Initialize page information when your +{@link android.support.v17.leanback.app.OnboardingFragment} is first created +or attached to the parent activity, as the system requests page +information when it creates the fragment's view. You can initialize page +information in your class constructor or in an override of +{@link android.app.Fragment#onAttach onAttach()}.</p> + +<p>Override each of the following methods that provide page information +to the system:</p> + +<ul> +<li>{@link android.support.v17.leanback.app.OnboardingFragment#getPageCount +getPageCount()} returns the number of pages in your +{@link android.support.v17.leanback.app.OnboardingFragment}.</li> +<li>{@link android.support.v17.leanback.app.OnboardingFragment#getPageTitle +getPageTitle()} returns the title for the requested page number.</li> +<li>{@link android.support.v17.leanback.app.OnboardingFragment#getPageDescription +getPagedescription()} returns the description for the requested page +number.</li> +</ul> + +<p>Override each of the following methods to provide optional sub-views used +to display images or animations:</p> + +<ul> +<li>{@link android.support.v17.leanback.app.OnboardingFragment#onCreateBackgroundView +onCreateBackgroundView()} returns a {@link android.view.View} that you +create to act as the background view, or null if no background view is needed. +<li>{@link android.support.v17.leanback.app.OnboardingFragment#onCreateContentView +onCreateContentView()} returns a {@link android.view.View} that you +create to act as the content view, or null if no content view is needed. +<li>{@link android.support.v17.leanback.app.OnboardingFragment#onCreateForegroundView +onCreateForegroundView()} returns a {@link android.view.View} that you +create to act as the foreground view, or null if no foreground view is needed. +</ul> + +<p>The system adds the {@link android.view.View} that you create to the page +layout. The following example overrides +{@link android.support.v17.leanback.app.OnboardingFragment#onCreateContentView +onCreateContentView()} and returns an {@link android.widget.ImageView}:</p> + +<pre> +private ImageView mContentView; +... +@Override +protected View onCreateContentView(LayoutInflater inflater, ViewGroup container) { + mContentView = new ImageView(getContext()); + mContentView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); + mContentView.setImageResource(R.drawable.onboarding_content_view); + mContentView.setPadding(0, 32, 0, 32); + return mContentView; +} +</pre> + +<h2 id="logoScreen">Add an Initial Logo Screen</h2> + +<p>Your {@link android.support.v17.leanback.app.OnboardingFragment} can start +with an optional logo screen that introduces your app. If you want to display +a {@link android.graphics.drawable.Drawable} as your logo screen, in your +{@link android.support.v17.leanback.app.OnboardingFragment OnboardingFragment's} +{@link android.app.Fragment#onCreate onCreate()} method, call +{@link android.support.v17.leanback.app.OnboardingFragment#setLogoResourceId +setLogoResourceId()} with the ID of your +{@link android.graphics.drawable.Drawable}. The +system will fade in and briefly display this +{@link android.graphics.drawable.Drawable}, and then fade out the +{@link android.graphics.drawable.Drawable} +before displaying the first page of your +{@link android.support.v17.leanback.app.OnboardingFragment}.</p> + +<p>If you want to provide a custom animation for your logo screen, instead of +calling +{@link android.support.v17.leanback.app.OnboardingFragment#setLogoResourceId +setLogoResourceId()}, override +{@link android.support.v17.leanback.app.OnboardingFragment#onCreateLogoAnimation +onCreateLogoAnimation()} and return an {@link android.animation.Animator} +object that renders your custom animation, as shown in the following example: +</p> + +<pre> +@Override +public Animator onCreateLogoAnimation() { + return AnimatorInflater.loadAnimator(mContext, + R.animator.onboarding_logo_screen_animation); +} +</pre> + +<h2 id="pageAnimations">Customize Page Animations</h2> + +<p>The system uses default animations when displaying the first page of your +{@link android.support.v17.leanback.app.OnboardingFragment} and when the user +navigates to a different page. You can customize these animations by +overriding methods in your +{@link android.support.v17.leanback.app.OnboardingFragment}.</p> + +<p>To customize the animation that appears on your first page, +override +{@link android.support.v17.leanback.app.OnboardingFragment#onCreateEnterAnimation +onCreateEnterAnimation()} and return an {@link android.animation.Animator}. +The following example creates an +{@link android.animation.Animator} that scales the content view +horizontally:</p> + +<pre> +@Override +protected Animator onCreateEnterAnimation() { + Animator startAnimator = ObjectAnimator.ofFloat(mContentView, + View.SCALE_X, 0.2f, 1.0f).setDuration(ANIMATION_DURATION); + return startAnimator; +} +</pre> + +<p>To customize the animation used when the user navigates to a different page, +override +{@link android.support.v17.leanback.app.OnboardingFragment#onPageChanged +onPageChanged()}. In your +{@link android.support.v17.leanback.app.OnboardingFragment#onPageChanged +onPageChanged()} method, create {@link android.animation.Animator Animators} +that remove the previous page and display the next page, add these to an +{@link android.animation.AnimatorSet}, and play the set. The following +example uses a fade-out animation to remove the previous page, updates the +content view image, and uses a fade-in animation to display the next page:</p> + +<pre> +@Override +protected void onPageChanged(final int newPage, int previousPage) { + // Create a fade-out animation used to fade out previousPage and, once + // done, swaps the contentView image with the next page's image. + Animator fadeOut = ObjectAnimator.ofFloat(mContentView, + View.ALPHA, 1.0f, 0.0f).setDuration(ANIMATION_DURATION); + fadeOut.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mContentView.setImageResource(pageImages[newPage]); + } + }); + // Create a fade-in animation used to fade in nextPage + Animator fadeIn = ObjectAnimator.ofFloat(mContentView, + View.ALPHA, 0.0f, 1.0f).setDuration(ANIMATION_DURATION); + // Create AnimatorSet with our fade-out and fade-in animators, and start it + AnimatorSet set = new AnimatorSet(); + set.playSequentially(fadeOut, fadeIn); + set.start(); +} +</pre> + +<p>For more details about how to create +{@link android.animation.Animator Animators} and +{@link android.animation.AnimatorSet AnimatorSets}, see +<a href="https://developer.android.com/guide/topics/graphics/prop-animation.html"> +Property Animations</a>.</p> + +<h2 id="themes">Customize Themes</h2> + +<p>Any {@link android.support.v17.leanback.app.OnboardingFragment} +implementation must use either the +{@link android.support.v17.leanback.R.style#Theme_Leanback_Onboarding} theme +or a theme that inherits from +{@link android.support.v17.leanback.R.style#Theme_Leanback_Onboarding}. Set the +theme for your {@link android.support.v17.leanback.app.OnboardingFragment} by +doing one of the following:</p> + +<ul> +<li>Set the {@link android.support.v17.leanback.app.OnboardingFragment +OnboardingFragment's} parent activity to use the desired theme. The following +example shows how to set an activity to use +{@link android.support.v17.leanback.R.style#Theme_Leanback_Onboarding} in the +app manifest: +<pre> +<activity + android:name=".OnboardingActivity" + android:enabled="true" + android:exported="true" + android:theme="@style/Theme.Leanback.Onboarding"> +</activity> +</pre> +</li> +<li> +Set the theme in the parent activity by using the +{@link android.support.v17.leanback.R.styleable#LeanbackOnboardingTheme_onboardingTheme} +attribute in a custom activity theme. Point this attribute to another +custom theme that only the +{@link android.support.v17.leanback.app.OnboardingFragment} +objects in your activity use. Use this approach if your activity already uses +a custom theme and you don't want to apply +{@link android.support.v17.leanback.app.OnboardingFragment} styles to other +views in the activity. +</li> +<li>Override +{@link android.support.v17.leanback.app.OnboardingFragment#onProvideTheme +onProvideTheme()} and return the desired theme. Use this approach if +multiple activities use your +{@link android.support.v17.leanback.app.OnboardingFragment} +or if the parent activity can't use the desired theme. +The following example overrides +{@link android.support.v17.leanback.app.OnboardingFragment#onProvideTheme +onProvideTheme()} and returns +{@link android.support.v17.leanback.R.style#Theme_Leanback_Onboarding}: +<pre> +@Override +public int onProvideTheme() { + return R.style.Theme_Leanback_Onboarding; +} +</pre> +</li> +</ul>
\ No newline at end of file diff --git a/docs/image_sources/training/tv/playback/onboarding-fragment-diagram.graffle.zip b/docs/image_sources/training/tv/playback/onboarding-fragment-diagram.graffle.zip Binary files differnew file mode 100644 index 000000000000..89a799bb57c3 --- /dev/null +++ b/docs/image_sources/training/tv/playback/onboarding-fragment-diagram.graffle.zip diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java index 6f5199b6959c..c8aedd09d60c 100644 --- a/media/java/android/media/MediaExtractor.java +++ b/media/java/android/media/MediaExtractor.java @@ -496,6 +496,11 @@ final public class MediaExtractor { /** * Advance to the next sample. Returns false if no more sample data * is available (end of stream). + * + * When extracting a local file, the behaviors of {@link #advance} and + * {@link #readSampleData} are undefined in presence of concurrent + * writes to the same local file; more specifically, end of stream + * could be signalled earlier than expected. */ public native boolean advance(); diff --git a/media/jni/audioeffect/android_media_Visualizer.cpp b/media/jni/audioeffect/android_media_Visualizer.cpp index f1a8c6fbdb29..aec31f0479c2 100644 --- a/media/jni/audioeffect/android_media_Visualizer.cpp +++ b/media/jni/audioeffect/android_media_Visualizer.cpp @@ -435,11 +435,12 @@ setup_failure: // ---------------------------------------------------------------------------- static void android_media_visualizer_native_release(JNIEnv *env, jobject thiz) { - sp<Visualizer> lpVisualizer = setVisualizer(env, thiz, 0); - if (lpVisualizer == 0) { - return; + { //limit scope so that lpVisualizer is deleted before JNI storage data. + sp<Visualizer> lpVisualizer = setVisualizer(env, thiz, 0); + if (lpVisualizer == 0) { + return; + } } - // delete the JNI data VisualizerJniStorage* lpJniStorage = (VisualizerJniStorage *)env->GetLongField(thiz, fields.fidJniData); diff --git a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java index 728d98f56e38..7186339dbfa6 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java @@ -411,13 +411,8 @@ public class FilesActivity extends BaseActivity { return true; } - final Intent intent = getIntent(); - final boolean launchedExternally = intent != null && intent.getData() != null - && mState.action == State.ACTION_BROWSE; - - // Open the Close drawer if it is closed and we're at the top of a root, but only when - // not launched by another app. - if (size <= 1 && !launchedExternally) { + // Open the Close drawer if it is closed and we're at the top of a root. + if (size <= 1) { mDrawer.setOpen(true); // Remember so we don't just close it again if back is pressed again. mDrawerLastFiddled = System.currentTimeMillis(); diff --git a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java index b3db037697f3..d2e9885edf14 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java +++ b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java @@ -22,7 +22,6 @@ import android.annotation.IntDef; import android.annotation.Nullable; import android.content.Context; import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; import android.os.UserHandle; import android.preference.PreferenceManager; @@ -86,15 +85,6 @@ public class LocalPreferences { public @interface PermissionStatus {} /** - * Clears all preferences associated with a given package. - * - * <p>Typically called when a package is removed or when user asked to clear its data. - */ - static void clearPackagePreferences(Context context, String packageName) { - clearScopedAccessPreferences(context, packageName); - } - - /** * Methods below are used to keep track of denied user requests on scoped directory access so * the dialog is not offered when user checked the 'Do not ask again' box * @@ -118,23 +108,6 @@ public class LocalPreferences { getPrefs(context).edit().putInt(key, status).apply(); } - private static void clearScopedAccessPreferences(Context context, String packageName) { - final String keySubstring = "|" + packageName + "|"; - final SharedPreferences prefs = getPrefs(context); - Editor editor = null; - for (final String key : prefs.getAll().keySet()) { - if (key.contains(keySubstring)) { - if (editor == null) { - editor = prefs.edit(); - } - editor.remove(key); - } - } - if (editor != null) { - editor.apply(); - } - } - private static String getScopedAccessDenialsKey(String packageName, String uuid, String directory) { final int userId = UserHandle.myUserId(); diff --git a/packages/DocumentsUI/src/com/android/documentsui/PackageReceiver.java b/packages/DocumentsUI/src/com/android/documentsui/PackageReceiver.java index fd1183fda13d..aef63afcbcd7 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/PackageReceiver.java +++ b/packages/DocumentsUI/src/com/android/documentsui/PackageReceiver.java @@ -23,7 +23,7 @@ import android.content.Intent; import android.net.Uri; /** - * Cleans up {@link RecentsProvider} and {@link LocalPreferences} when packages are removed. + * Clean up {@link RecentsProvider} when packages are removed. */ public class PackageReceiver extends BroadcastReceiver { @Override @@ -31,19 +31,15 @@ public class PackageReceiver extends BroadcastReceiver { final ContentResolver resolver = context.getContentResolver(); final String action = intent.getAction(); - final Uri data = intent.getData(); - final String packageName = data == null ? null : data.getSchemeSpecificPart(); - if (Intent.ACTION_PACKAGE_FULLY_REMOVED.equals(action)) { resolver.call(RecentsProvider.buildRecent(), RecentsProvider.METHOD_PURGE, null, null); - if (packageName != null) { - LocalPreferences.clearPackagePreferences(context, packageName); - } + } else if (Intent.ACTION_PACKAGE_DATA_CLEARED.equals(action)) { - if (packageName != null) { + final Uri data = intent.getData(); + if (data != null) { + final String packageName = data.getSchemeSpecificPart(); resolver.call(RecentsProvider.buildRecent(), RecentsProvider.METHOD_PURGE_PACKAGE, packageName, null); - LocalPreferences.clearPackagePreferences(context, packageName); } } } diff --git a/packages/PrintSpooler/res/values-zh-rCN/strings.xml b/packages/PrintSpooler/res/values-zh-rCN/strings.xml index d4e796339bc9..3debf8e60cdb 100644 --- a/packages/PrintSpooler/res/values-zh-rCN/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rCN/strings.xml @@ -60,7 +60,7 @@ <item quantity="one">找到 <xliff:g id="COUNT_0">%1$s</xliff:g> 台打印机</item> </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> - <string name="printer_info_desc" msgid="7181988788991581654">"此打印机的详细信息"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"关于此打印机的更多信息"</string> <string name="could_not_create_file" msgid="3425025039427448443">"无法创建文件"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"部分打印服务已停用"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"正在搜索打印机"</string> diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml index 11235efbaf0f..c16e08a7c428 100644 --- a/packages/SettingsLib/res/values-af/strings.xml +++ b/packages/SettingsLib/res/values-af/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Grootste"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Gepasmaak (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hulp en terugvoer"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Kieslys"</string> </resources> diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml index dbfd5d85ec38..6e9dcd7fc193 100644 --- a/packages/SettingsLib/res/values-am/strings.xml +++ b/packages/SettingsLib/res/values-am/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"በጣም ተለቅ ያለ"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ብጁ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"እገዛ እና ግብረመልስ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"ምናሌ"</string> </resources> diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml index 092cf63c6791..ee579dc30b00 100644 --- a/packages/SettingsLib/res/values-ar/strings.xml +++ b/packages/SettingsLib/res/values-ar/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"أكبر مستوى"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"مخصص (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"المساعدة والتعليقات"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"القائمة"</string> </resources> diff --git a/packages/SettingsLib/res/values-az-rAZ/strings.xml b/packages/SettingsLib/res/values-az-rAZ/strings.xml index 2e58ae9b4e4e..60d0169be4b0 100644 --- a/packages/SettingsLib/res/values-az-rAZ/strings.xml +++ b/packages/SettingsLib/res/values-az-rAZ/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Ən böyük"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Fərdi (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yardım və rəy"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> </resources> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml index 1f0ed53be45c..060a5fb15be3 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Najveći"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagođeni (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> </resources> diff --git a/packages/SettingsLib/res/values-be-rBY/strings.xml b/packages/SettingsLib/res/values-be-rBY/strings.xml index b8de297a9437..03de8bab32c1 100644 --- a/packages/SettingsLib/res/values-be-rBY/strings.xml +++ b/packages/SettingsLib/res/values-be-rBY/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Найвялікшы"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Карыстальніцкі (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Даведка і водгукі"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> </resources> diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml index 683a4d9d6b98..f6596dc48add 100644 --- a/packages/SettingsLib/res/values-bg/strings.xml +++ b/packages/SettingsLib/res/values-bg/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Най-голямо"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Персонализирано (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помощ и отзиви"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> </resources> diff --git a/packages/SettingsLib/res/values-bn-rBD/strings.xml b/packages/SettingsLib/res/values-bn-rBD/strings.xml index 9ba656f78c33..4a11198be5f9 100644 --- a/packages/SettingsLib/res/values-bn-rBD/strings.xml +++ b/packages/SettingsLib/res/values-bn-rBD/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"বৃহত্তম"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"কাস্টম (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"সহায়তা ও মতামত"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"মেনু"</string> </resources> diff --git a/packages/SettingsLib/res/values-bs-rBA/strings.xml b/packages/SettingsLib/res/values-bs-rBA/strings.xml index f2c73232a59f..a11bf3212836 100644 --- a/packages/SettingsLib/res/values-bs-rBA/strings.xml +++ b/packages/SettingsLib/res/values-bs-rBA/strings.xml @@ -146,9 +146,9 @@ <string name="vpn_settings_not_available" msgid="956841430176985598">"VPN postavke nisu dostupne za ovog korisnika"</string> <string name="tethering_settings_not_available" msgid="6765770438438291012">"Postavke za privezivanje nisu dostupne za ovog korisnika"</string> <string name="apn_settings_not_available" msgid="7873729032165324000">"Postavke za naziv pristupne tačke nisu dostupne za ovog korisnika"</string> - <string name="enable_adb" msgid="7982306934419797485">"Otklanjanje grešaka putem uređaja spojenog na USB"</string> + <string name="enable_adb" msgid="7982306934419797485">"USB otklanjanje grešaka"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"Način rada za uklanjanje grešaka kada je povezan USB"</string> - <string name="clear_adb_keys" msgid="4038889221503122743">"Ukini odobrenja otklanjanja grešaka putem uređaja spojenog na USB"</string> + <string name="clear_adb_keys" msgid="4038889221503122743">"Ukini odobrenja otklanjanja grešaka USB-om"</string> <string name="bugreport_in_power" msgid="7923901846375587241">"Prečica za izvještaj o greškama"</string> <string name="bugreport_in_power_summary" msgid="1778455732762984579">"Prikaži tipku za prijavu grešaka u izborniku za potrošnju energije"</string> <string name="keep_screen_on" msgid="1146389631208760344">"Ostani aktivan"</string> @@ -185,9 +185,9 @@ <string name="allow_mock_location_summary" msgid="317615105156345626">"Dozvoli lažne lokacije"</string> <string name="debug_view_attributes" msgid="6485448367803310384">"Omogući pregled atributa prikaza"</string> <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Uvijek drži mobilne podatke aktivnim, čak i kada je Wi-Fi je aktivan (za brzo prebacivanje između mreža)."</string> - <string name="adb_warning_title" msgid="6234463310896563253">"Omogućiti otklanjanje grešaka putem uređaja spojenog na USB?"</string> - <string name="adb_warning_message" msgid="7316799925425402244">"Otklanjanje grešaka putem uređaja spojenog na USB je namijenjeno samo u svrhe razvoja aplikacija. Koristite ga za kopiranje podataka između računara i uređaja, instaliranje aplikacija na uređaj bez obavještenja te čitanje podataka iz zapisnika."</string> - <string name="adb_keys_warning_message" msgid="5659849457135841625">"Opozvati pristup otklanjanju grešaka putem uređaja spojenog na USB za sve računare koje ste prethodno ovlastili?"</string> + <string name="adb_warning_title" msgid="6234463310896563253">"Omogućiti USB otklanjanje grešaka?"</string> + <string name="adb_warning_message" msgid="7316799925425402244">"USB otklanjanje grešaka je namijenjeno samo u svrhe razvoja aplikacija. Koristite ga za kopiranje podataka između računara i uređaja, instaliranje aplikacija na uređaj bez obavještenja te čitanje podataka iz zapisnika."</string> + <string name="adb_keys_warning_message" msgid="5659849457135841625">"Opozvati pristup otklanjanju grešaka USB-om za sve računare koje ste prethodno ovlastili?"</string> <string name="dev_settings_warning_title" msgid="7244607768088540165">"Dopustiti postavke za razvoj?"</string> <string name="dev_settings_warning_message" msgid="2298337781139097964">"Ove postavke su namijenjene samo za svrhe razvoja. Mogu izazvati pogrešno ponašanje uređaja i aplikacija na njemu."</string> <string name="verify_apps_over_usb_title" msgid="4177086489869041953">"Verifikuj aplikacije putem USB-a"</string> @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Najveće"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagodi (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> </resources> diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml index 332daf3e5e96..fb7180a0a3b8 100644 --- a/packages/SettingsLib/res/values-ca/strings.xml +++ b/packages/SettingsLib/res/values-ca/strings.xml @@ -111,7 +111,7 @@ <string name="tts_play_example_summary" msgid="8029071615047894486">"Reprodueix una breu demostració de síntesi de veu"</string> <string name="tts_install_data_title" msgid="4264378440508149986">"Instal·la dades de veu"</string> <string name="tts_install_data_summary" msgid="5742135732511822589">"Instal·la les dades de veu necessàries per a la síntesi de veu"</string> - <string name="tts_engine_security_warning" msgid="8786238102020223650">"Pot ser que aquest motor de síntesi de la parla pugui recopilar tot el text que es dirà en veu alta, incloses les dades personals, com ara les contrasenyes i els números de les targetes de crèdit. Ve del motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Vols activar l\'ús d\'aquest motor de síntesi de la parla?"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Pot ser que aquest motor de síntesi de la parla pugui recopilar tot el text que es dirà en veu alta, incloses les dades personals, com ara les contrasenyes i els números de les targetes de crèdit. Ve del motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Voleu activar l\'ús d\'aquest motor de síntesi de la parla?"</string> <string name="tts_engine_network_required" msgid="1190837151485314743">"Aquest idioma requereix una connexió de xarxa activa per a la sortida de síntesi de veu."</string> <string name="tts_default_sample_string" msgid="4040835213373086322">"Això és un exemple de síntesi de veu"</string> <string name="tts_status_title" msgid="7268566550242584413">"Estat de l\'idioma predeterminat"</string> @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Màxim"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalitzat (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda i suggeriments"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> </resources> diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index d0dbe748e0bf..361ba1f0cef2 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Největší"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Vlastní (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Nápověda a zpětná vazba"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Nabídka"</string> </resources> diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml index 3c4b95508277..98f41fc8945d 100644 --- a/packages/SettingsLib/res/values-da/strings.xml +++ b/packages/SettingsLib/res/values-da/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Størst"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tilpasset (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjælp og feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index 0fca8b9ad4b2..c9da6c96c0ff 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Am größten"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Benutzerdefiniert (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hilfe & Feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> </resources> diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml index da1b03c8dc5c..05e4e64c383f 100644 --- a/packages/SettingsLib/res/values-el/strings.xml +++ b/packages/SettingsLib/res/values-el/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Μεγαλύτερα"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Προσαρμοσμένη (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Βοήθεια και σχόλια"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Μενού"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml index 70fa5017488e..799802b86b3a 100644 --- a/packages/SettingsLib/res/values-en-rAU/strings.xml +++ b/packages/SettingsLib/res/values-en-rAU/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Largest"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml index 70fa5017488e..799802b86b3a 100644 --- a/packages/SettingsLib/res/values-en-rGB/strings.xml +++ b/packages/SettingsLib/res/values-en-rGB/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Largest"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml index 70fa5017488e..799802b86b3a 100644 --- a/packages/SettingsLib/res/values-en-rIN/strings.xml +++ b/packages/SettingsLib/res/values-en-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Largest"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index 63a5d873dc03..08e739a00f50 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Máximo"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ayuda y comentarios"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> </resources> diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index 6b67b1194e04..3d2f6c132da0 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Lo más grande posible"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ayuda y sugerencias"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> </resources> diff --git a/packages/SettingsLib/res/values-et-rEE/strings.xml b/packages/SettingsLib/res/values-et-rEE/strings.xml index de9255ae46d4..a7b0f64f9a4d 100644 --- a/packages/SettingsLib/res/values-et-rEE/strings.xml +++ b/packages/SettingsLib/res/values-et-rEE/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Suurim"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Kohandatud (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Abi ja tagasiside"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menüü"</string> </resources> diff --git a/packages/SettingsLib/res/values-eu-rES/strings.xml b/packages/SettingsLib/res/values-eu-rES/strings.xml index bd8c11ddde81..f476511b8106 100644 --- a/packages/SettingsLib/res/values-eu-rES/strings.xml +++ b/packages/SettingsLib/res/values-eu-rES/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Handiena"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Pertsonalizatua (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Laguntza eta iritziak"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menua"</string> </resources> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index 027987fe8453..44918513bcd7 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"بزرگترین"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"سفارشی (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"راهنما و بازخورد"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"منو"</string> </resources> diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml index a988ccf109dc..cdef968d90aa 100644 --- a/packages/SettingsLib/res/values-fi/strings.xml +++ b/packages/SettingsLib/res/values-fi/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Suurin"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Muokattu (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ohje ja palaute"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Valikko"</string> </resources> diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index e22e93824f10..958b8fd4d5d3 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"La plus grande"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personnalisée (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Aide et commentaires"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index e4a34d6d4f23..cf08f3b5f237 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Le plus grand"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personnalisé (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Aide et commentaires"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-gl-rES/strings.xml b/packages/SettingsLib/res/values-gl-rES/strings.xml index 10a395766604..cdc4581ca80c 100644 --- a/packages/SettingsLib/res/values-gl-rES/strings.xml +++ b/packages/SettingsLib/res/values-gl-rES/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"O máis grande"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Axuda e suxestións"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> </resources> diff --git a/packages/SettingsLib/res/values-gu-rIN/strings.xml b/packages/SettingsLib/res/values-gu-rIN/strings.xml index 0f3079d36a0e..1b40e01737d1 100644 --- a/packages/SettingsLib/res/values-gu-rIN/strings.xml +++ b/packages/SettingsLib/res/values-gu-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"સૌથી મોટું"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"કસ્ટમ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"સહાય અને પ્રતિસાદ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"મેનુ"</string> </resources> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index 5407c215be95..8dfbb4a58780 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"सबसे बड़ा"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"कस्टम (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"सहायता और फ़ीडबैक"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"मेनू"</string> </resources> diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml index e52f44160d47..07e492581d41 100644 --- a/packages/SettingsLib/res/values-hr/strings.xml +++ b/packages/SettingsLib/res/values-hr/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Najveće"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagođeno (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Izbornik"</string> </resources> diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml index ac4a43c46f47..0d8ec26eb668 100644 --- a/packages/SettingsLib/res/values-hu/strings.xml +++ b/packages/SettingsLib/res/values-hu/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Legnagyobb"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Egyéni (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Súgó és visszajelzés"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> </resources> diff --git a/packages/SettingsLib/res/values-hy-rAM/strings.xml b/packages/SettingsLib/res/values-hy-rAM/strings.xml index e26d4cb62a21..cb12fbfaf502 100644 --- a/packages/SettingsLib/res/values-hy-rAM/strings.xml +++ b/packages/SettingsLib/res/values-hy-rAM/strings.xml @@ -38,7 +38,7 @@ <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Անջատվում է..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Միանում է..."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Միացված է"</string> - <string name="bluetooth_pairing" msgid="1426882272690346242">"Զուգակցում..."</string> + <string name="bluetooth_pairing" msgid="1426882272690346242">"Զուգավորում..."</string> <string name="bluetooth_connected_no_headset" msgid="2866994875046035609">"Միացված (առանց հեռախոսի)"</string> <string name="bluetooth_connected_no_a2dp" msgid="4576188601581440337">"Միացված է (առանց մեդիա)"</string> <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Միացված է (հաղորդագրությանը մուտք չկա)"</string> @@ -72,7 +72,7 @@ <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Զուգավորել"</string> <string name="bluetooth_pairing_accept_all_caps" msgid="6061699265220789149">"Զուգավորել"</string> <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"Չեղարկել"</string> - <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Զուգակցում է մուտքի թույլտվությունը դեպի ձեր կոնտակտները և զանգերի պատմությունը, երբ միացված է:"</string> + <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Զուգավորում է մուտքի թույլտվությունը դեպի ձեր կոնտակտները և զանգերի պատմությունը, երբ միացված է:"</string> <string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"Չհաջողվեց զուգավորել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ:"</string> <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"Հնարավոր չեղավ զուգավորվել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ սխալ PIN-ի կամ անցաբառի պատճառով:."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"Հնարավոր չէ կապ հաստատել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ:"</string> @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Ամենամեծ"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Հատուկ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Օգնություն և հետադարձ կապ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Ընտրացանկ"</string> </resources> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index 5711ea704a41..ffdb60745571 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Terbesar"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"(<xliff:g id="DENSITYDPI">%d</xliff:g>) khusus"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Bantuan & masukan"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-is-rIS/strings.xml b/packages/SettingsLib/res/values-is-rIS/strings.xml index 44226ee35e15..25e13a4d69d8 100644 --- a/packages/SettingsLib/res/values-is-rIS/strings.xml +++ b/packages/SettingsLib/res/values-is-rIS/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Stærst"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Sérsniðið (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjálp og ábendingar"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Valmynd"</string> </resources> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index 6df553b7b6b3..2907fabef70e 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -328,9 +328,9 @@ <string name="disabled_by_admin" msgid="3669999613095206948">"Disattivata dall\'amministratore"</string> <string name="home" msgid="3256884684164448244">"Home page Impostazioni"</string> <string-array name="battery_labels"> - <item msgid="8494684293649631252">"0%"</item> - <item msgid="8934126114226089439">"50%"</item> - <item msgid="1286113608943010849">"100%"</item> + <item msgid="8494684293649631252">"0%%"</item> + <item msgid="8934126114226089439">"50%%"</item> + <item msgid="1286113608943010849">"100%%"</item> </string-array> <string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> fa"</string> <string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> rimanenti"</string> @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Massimo"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizzato (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Guida e feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml index 6f7460a6639d..7c16e4276347 100644 --- a/packages/SettingsLib/res/values-iw/strings.xml +++ b/packages/SettingsLib/res/values-iw/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"הכי גדול"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"מותאם אישית (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"עזרה ומשוב"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"תפריט"</string> </resources> diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml index 025b7fde4ed1..25f4152a22fa 100644 --- a/packages/SettingsLib/res/values-ja/strings.xml +++ b/packages/SettingsLib/res/values-ja/strings.xml @@ -343,5 +343,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"最大"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"カスタム(<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ヘルプとフィードバック"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"メニュー"</string> </resources> diff --git a/packages/SettingsLib/res/values-ka-rGE/strings.xml b/packages/SettingsLib/res/values-ka-rGE/strings.xml index 0eda6a94d1fc..ffe194a0bc29 100644 --- a/packages/SettingsLib/res/values-ka-rGE/strings.xml +++ b/packages/SettingsLib/res/values-ka-rGE/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"უდიდესი"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"მორგებული (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"დახმარება და გამოხმაურება"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"მენიუ"</string> </resources> diff --git a/packages/SettingsLib/res/values-kk-rKZ/strings.xml b/packages/SettingsLib/res/values-kk-rKZ/strings.xml index 369a10f3b3b0..3dcc7eb50ced 100644 --- a/packages/SettingsLib/res/values-kk-rKZ/strings.xml +++ b/packages/SettingsLib/res/values-kk-rKZ/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Ең үлкен"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Арнаулы (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Анықтама және пікір"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Mәзір"</string> </resources> diff --git a/packages/SettingsLib/res/values-km-rKH/strings.xml b/packages/SettingsLib/res/values-km-rKH/strings.xml index 3e934bab59a3..aa0ce2498737 100644 --- a/packages/SettingsLib/res/values-km-rKH/strings.xml +++ b/packages/SettingsLib/res/values-km-rKH/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ធំបំផុត"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ផ្ទាល់ខ្លួន (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ជំនួយ និងមតិស្ថាបនា"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"ម៉ឺនុយ"</string> </resources> diff --git a/packages/SettingsLib/res/values-kn-rIN/strings.xml b/packages/SettingsLib/res/values-kn-rIN/strings.xml index 5a8d53cfe11a..8578810daa2d 100644 --- a/packages/SettingsLib/res/values-kn-rIN/strings.xml +++ b/packages/SettingsLib/res/values-kn-rIN/strings.xml @@ -340,6 +340,5 @@ <string name="screen_zoom_summary_very_large" msgid="7108563375663670067">"ಸ್ವಲ್ಪ ದೊಡ್ಡ"</string> <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ದೊಡ್ಡ"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ಕಸ್ಟಮ್ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> - <string name="help_feedback_label" msgid="6815040660801785649">"ಸಹಾಯ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"ಮೆನು"</string> + <string name="help_feedback_label" msgid="6815040660801785649">"ಸಹಾಯ & ಪ್ರತಿಕ್ರಿಯೆ"</string> </resources> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index bd9633491ade..aaf34631b7fb 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -340,6 +340,5 @@ <string name="screen_zoom_summary_very_large" msgid="7108563375663670067">"더 크게"</string> <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"가장 크게"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"맞춤(<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> - <string name="help_feedback_label" msgid="6815040660801785649">"고객센터"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"메뉴"</string> + <string name="help_feedback_label" msgid="6815040660801785649">"도움말 및 의견"</string> </resources> diff --git a/packages/SettingsLib/res/values-ky-rKG/strings.xml b/packages/SettingsLib/res/values-ky-rKG/strings.xml index 5ca4e7c3fb21..96c1ec024aa6 100644 --- a/packages/SettingsLib/res/values-ky-rKG/strings.xml +++ b/packages/SettingsLib/res/values-ky-rKG/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Эң чоң"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Ыңгайлаштырылган (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Жардам жана жооп пикир"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> </resources> diff --git a/packages/SettingsLib/res/values-lo-rLA/strings.xml b/packages/SettingsLib/res/values-lo-rLA/strings.xml index b47629af0445..24f0c16c4962 100644 --- a/packages/SettingsLib/res/values-lo-rLA/strings.xml +++ b/packages/SettingsLib/res/values-lo-rLA/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ໃຫຍ່ທີ່ສຸດ"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ປັບແຕ່ງເອງ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ຊ່ວຍເຫຼືອ & ຄຳຕິຊົມ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"ເມນູ"</string> </resources> diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml index 7ac54a8e925c..4b8890d04d33 100644 --- a/packages/SettingsLib/res/values-lt/strings.xml +++ b/packages/SettingsLib/res/values-lt/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Didžiausias"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tinkintas (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pagalba ir atsiliepimai"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meniu"</string> </resources> diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml index 933d37447775..4d76adc3e291 100644 --- a/packages/SettingsLib/res/values-lv/strings.xml +++ b/packages/SettingsLib/res/values-lv/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Vislielākais"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Pielāgots (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Palīdzība un atsauksmes"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Izvēlne"</string> </resources> diff --git a/packages/SettingsLib/res/values-mk-rMK/strings.xml b/packages/SettingsLib/res/values-mk-rMK/strings.xml index 1e1c857e1212..953360a7aa00 100644 --- a/packages/SettingsLib/res/values-mk-rMK/strings.xml +++ b/packages/SettingsLib/res/values-mk-rMK/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Најголем"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Приспособен (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помош и повратни информации"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Мени"</string> </resources> diff --git a/packages/SettingsLib/res/values-ml-rIN/strings.xml b/packages/SettingsLib/res/values-ml-rIN/strings.xml index 6f758860fbe3..92c04487ace2 100644 --- a/packages/SettingsLib/res/values-ml-rIN/strings.xml +++ b/packages/SettingsLib/res/values-ml-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ഏറ്റവും വലുത്"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ഇഷ്ടാനുസൃതം ( <xliff:g id="DENSITYDPI">%d</xliff:g> )"</string> <string name="help_feedback_label" msgid="6815040660801785649">"സഹായവും പ്രതികരണവും"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"മെനു"</string> </resources> diff --git a/packages/SettingsLib/res/values-mn-rMN/strings.xml b/packages/SettingsLib/res/values-mn-rMN/strings.xml index bf7d7cebc775..4c98c04c07d4 100644 --- a/packages/SettingsLib/res/values-mn-rMN/strings.xml +++ b/packages/SettingsLib/res/values-mn-rMN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Хамгийн том"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Тогтмол утга (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Тусламж, санал хүсэлт"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Цэс"</string> </resources> diff --git a/packages/SettingsLib/res/values-mr-rIN/strings.xml b/packages/SettingsLib/res/values-mr-rIN/strings.xml index a1123bcbdb35..e3a7cc46cd44 100644 --- a/packages/SettingsLib/res/values-mr-rIN/strings.xml +++ b/packages/SettingsLib/res/values-mr-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"सर्वात मोठा"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"सानुकूल करा (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"मदत आणि अभिप्राय"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"मेनू"</string> </resources> diff --git a/packages/SettingsLib/res/values-ms-rMY/strings.xml b/packages/SettingsLib/res/values-ms-rMY/strings.xml index 8f115890ca7e..a1caa2a94419 100644 --- a/packages/SettingsLib/res/values-ms-rMY/strings.xml +++ b/packages/SettingsLib/res/values-ms-rMY/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Terbesar"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tersuai (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Bantuan & maklum balas"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-my-rMM/strings.xml b/packages/SettingsLib/res/values-my-rMM/strings.xml index cfba5dadb43f..6a1c33190486 100644 --- a/packages/SettingsLib/res/values-my-rMM/strings.xml +++ b/packages/SettingsLib/res/values-my-rMM/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"အကြီးဆုံး"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"စိတ်ကြိုက် (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"အကူအညီနှင့် အကြံပြုချက်"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"မီနူး"</string> </resources> diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml index 2da378aee46a..5d8ae55fb592 100644 --- a/packages/SettingsLib/res/values-nb/strings.xml +++ b/packages/SettingsLib/res/values-nb/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Størst"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Egendefinert (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjelp og tilbakemelding"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meny"</string> </resources> diff --git a/packages/SettingsLib/res/values-ne-rNP/strings.xml b/packages/SettingsLib/res/values-ne-rNP/strings.xml index a56b65573357..15cc8ea87c72 100644 --- a/packages/SettingsLib/res/values-ne-rNP/strings.xml +++ b/packages/SettingsLib/res/values-ne-rNP/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"सबैभन्दा ठूलो"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"अनुकूलन (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"मद्दत र प्रतिक्रिया"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"मेनु"</string> </resources> diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index 11d92e516113..12bdb4f30c06 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Grootst"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Aangepast (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help en feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-pa-rIN/strings.xml b/packages/SettingsLib/res/values-pa-rIN/strings.xml index d526064b0132..21d11b00cd4b 100644 --- a/packages/SettingsLib/res/values-pa-rIN/strings.xml +++ b/packages/SettingsLib/res/values-pa-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ਸਭ ਤੋਂ ਵੱਡਾ"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ਮਦਦ ਅਤੇ ਪ੍ਰਤੀਕਰਮ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"ਮੀਨੂ"</string> </resources> diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml index dcbb934cea6c..d5116a2e3d7c 100644 --- a/packages/SettingsLib/res/values-pl/strings.xml +++ b/packages/SettingsLib/res/values-pl/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Największy"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Niestandardowe (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoc i opinie"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index fc2222542324..f0cfa23df334 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Maior"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizada (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml index c297de5d0121..40dfc74806b3 100644 --- a/packages/SettingsLib/res/values-pt-rPT/strings.xml +++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"O maior"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e comentários"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index fc2222542324..f0cfa23df334 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Maior"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizada (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index 70912f9eb9d7..6cc0f87e1b31 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Cel mai mare"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizat (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajutor și feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meniu"</string> </resources> diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml index 4af530dd83bb..ad4db89418b3 100644 --- a/packages/SettingsLib/res/values-ru/strings.xml +++ b/packages/SettingsLib/res/values-ru/strings.xml @@ -34,7 +34,7 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Подключено к %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Доступно через %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Подключено, без Интернета"</string> - <string name="bluetooth_disconnected" msgid="6557104142667339895">"Нет подключения"</string> + <string name="bluetooth_disconnected" msgid="6557104142667339895">"Отключено"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Подключено"</string> @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Максимальный"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Другой (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Справка/отзыв"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> </resources> diff --git a/packages/SettingsLib/res/values-si-rLK/strings.xml b/packages/SettingsLib/res/values-si-rLK/strings.xml index d9fed962bac6..5efb4001a638 100644 --- a/packages/SettingsLib/res/values-si-rLK/strings.xml +++ b/packages/SettingsLib/res/values-si-rLK/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"විශාලතම"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"අභිරුචි (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"උදව් සහ ප්රතිපෝෂණ"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"මෙනුව"</string> </resources> diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml index 951d9fb995cf..7a7e3d49d12d 100644 --- a/packages/SettingsLib/res/values-sk/strings.xml +++ b/packages/SettingsLib/res/values-sk/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Najväčšie"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Vlastné (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomocník a spätná väzba"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Ponuka"</string> </resources> diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index 2428076f637c..10bff6e038a9 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Največje"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Po meri (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoč in povratne informacije"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> </resources> diff --git a/packages/SettingsLib/res/values-sq-rAL/strings.xml b/packages/SettingsLib/res/values-sq-rAL/strings.xml index 1645f10732fa..e4f0eaa29596 100644 --- a/packages/SettingsLib/res/values-sq-rAL/strings.xml +++ b/packages/SettingsLib/res/values-sq-rAL/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Më i madhi"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"I personalizuar (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ndihma dhe komentet"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menyja"</string> </resources> diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml index 04dfb24c0c54..fba58c50211c 100644 --- a/packages/SettingsLib/res/values-sr/strings.xml +++ b/packages/SettingsLib/res/values-sr/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Највећи"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Прилагођени (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помоћ и повратне информације"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Мени"</string> </resources> diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index 4b42db50a999..ecc728a81eec 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Störst"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Anpassad (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjälp och feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Meny"</string> </resources> diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index f70a1fa557db..435a1bdd99be 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Kubwa zaidi"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Kiwango maalum (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Usaidizi na maoni"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> </resources> diff --git a/packages/SettingsLib/res/values-ta-rIN/strings.xml b/packages/SettingsLib/res/values-ta-rIN/strings.xml index 5f6b1215226b..033955c77e91 100644 --- a/packages/SettingsLib/res/values-ta-rIN/strings.xml +++ b/packages/SettingsLib/res/values-ta-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"மிகப் பெரியது"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"தனிப்பயன் (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"உதவி & கருத்து"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"மெனு"</string> </resources> diff --git a/packages/SettingsLib/res/values-te-rIN/strings.xml b/packages/SettingsLib/res/values-te-rIN/strings.xml index ff8b8550cda7..57581765ae4e 100644 --- a/packages/SettingsLib/res/values-te-rIN/strings.xml +++ b/packages/SettingsLib/res/values-te-rIN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"అతి పెద్దగా"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"అనుకూలం (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"సహాయం & అభిప్రాయం"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"మెను"</string> </resources> diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index 4d0a2e4ead46..4849e1955321 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"ใหญ่ที่สุด"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"กำหนดเอง (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ความช่วยเหลือและความคิดเห็น"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"เมนู"</string> </resources> diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml index 95897a325136..24f5499d4490 100644 --- a/packages/SettingsLib/res/values-tl/strings.xml +++ b/packages/SettingsLib/res/values-tl/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Pinakamalaki"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Tulong at feedback"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index 3c5b46d46bbe..950e3221ff7c 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"En büyük"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Özel (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yardım ve geri bildirim"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> </resources> diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index ef30a69a3eb4..6b49b14084e9 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Найбільші елементи"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Спеціальний масштаб (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Довідка й відгуки"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> </resources> diff --git a/packages/SettingsLib/res/values-ur-rPK/strings.xml b/packages/SettingsLib/res/values-ur-rPK/strings.xml index 57b0b63e37e9..2ac8a6145797 100644 --- a/packages/SettingsLib/res/values-ur-rPK/strings.xml +++ b/packages/SettingsLib/res/values-ur-rPK/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"سب سے بڑا"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"حسب ضرورت (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"مدد اور تاثرات"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"مینو"</string> </resources> diff --git a/packages/SettingsLib/res/values-uz-rUZ/strings.xml b/packages/SettingsLib/res/values-uz-rUZ/strings.xml index b4e05052ce16..9022ad31dacf 100644 --- a/packages/SettingsLib/res/values-uz-rUZ/strings.xml +++ b/packages/SettingsLib/res/values-uz-rUZ/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Eng katta"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Moslashtirilgan (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yordam va fikr-mulohaza"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> </resources> diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index 494cb7cfd23c..c58f84993bb6 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Lớn nhất"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tùy chỉnh (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Trợ giúp và phản hồi"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml index 1c58a1145c08..18ae80e3d9b6 100644 --- a/packages/SettingsLib/res/values-zh-rCN/strings.xml +++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"最大"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自定义 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"帮助和反馈"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"菜单"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index 45918f0a5583..660071df7073 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"最大"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自訂 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"說明與意見反映"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"選單"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml index b2e0d12bf98d..bce6f244d1e4 100644 --- a/packages/SettingsLib/res/values-zh-rTW/strings.xml +++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"最大"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自訂 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"說明與意見回饋"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"選單"</string> </resources> diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml index d1379086c302..07c6fce2c3f9 100644 --- a/packages/SettingsLib/res/values-zu/strings.xml +++ b/packages/SettingsLib/res/values-zu/strings.xml @@ -341,5 +341,4 @@ <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Okukhulu kakhulu"</string> <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Ngokwezifiso (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Usizo nempendulo"</string> - <string name="content_description_menu_button" msgid="8182594799812351266">"Imenyu"</string> </resources> diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index cd2d6b337f73..08bf3a7f9f95 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -155,6 +155,9 @@ <!-- Default for Settings.Secure.LONG_PRESS_TIMEOUT_MILLIS --> <integer name="def_long_press_timeout_millis">400</integer> + <!-- Default for Settings.Secure.MULTI_PRESS_TIMEOUT --> + <integer name="def_multi_press_timeout_millis">300</integer> + <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD --> <bool name="def_show_ime_with_hard_keyboard">false</bool> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index a43c398f04ad..e66e963c0179 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2102,7 +2102,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 130; + private static final int SETTINGS_VERSION = 131; private final int mUserId; @@ -2416,6 +2416,22 @@ public class SettingsProvider extends ContentProvider { currentVersion = 130; } + if (currentVersion == 130) { + // Initialize new multi-press timeout to default value + final SettingsState systemSecureSettings = getSecureSettingsLocked(userId); + final String oldValue = systemSecureSettings.getSettingLocked( + Settings.Secure.MULTI_PRESS_TIMEOUT).getValue(); + if (TextUtils.equals(null, oldValue)) { + systemSecureSettings.insertSettingLocked( + Settings.Secure.MULTI_PRESS_TIMEOUT, + String.valueOf(getContext().getResources().getInteger( + R.integer.def_multi_press_timeout_millis)), + SettingsState.SYSTEM_PACKAGE_NAME); + } + + currentVersion = 131; + } + if (currentVersion != newVersion) { Slog.wtf("SettingsProvider", "warning: upgrading settings database to version " + newVersion + " left it at " diff --git a/packages/SystemUI/res/values-bs-rBA-land/strings.xml b/packages/SystemUI/res/values-bs-rBA-land/strings.xml index 56a4ad276d08..bdc652af8f1a 100644 --- a/packages/SystemUI/res/values-bs-rBA-land/strings.xml +++ b/packages/SystemUI/res/values-bs-rBA-land/strings.xml @@ -19,5 +19,5 @@ <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">"Ekran je sada zaključan u vodoravnom prikazu."</string> + <string name="toast_rotation_locked" msgid="7609673011431556092">"Ekran je sada zaključan u pejzažnom prikazu."</string> </resources> diff --git a/packages/SystemUI/res/values-it/strings_car.xml b/packages/SystemUI/res/values-it/strings_car.xml index 19c4e2b02ad0..ae26c9e102bd 100644 --- a/packages/SystemUI/res/values-it/strings_car.xml +++ b/packages/SystemUI/res/values-it/strings_car.xml @@ -20,5 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="car_lockscreen_disclaimer_title" msgid="7997539137376896441">"Guida in modo sicuro"</string> - <string name="car_lockscreen_disclaimer_text" msgid="3061224684092952864">"È necessario essere sempre pienamente informati sulle condizioni della strada e rispettare la legislazione vigente. Le indicazioni stradali potrebbero essere imprecise, incomplete, pericolose, inadatte, vietate o richiedere l\'attraversamento di aree amministrative. Anche le informazioni sugli esercizi commerciali potrebbero essere imprecise o incomplete. I dati forniti non sono aggiornati in tempo reale e non è possibile garantire la precisione della geolocalizzazione. Non maneggiare dispositivi mobili e app non destinate ad Android Auto durante la guida."</string> + <string name="car_lockscreen_disclaimer_text" msgid="3061224684092952864">"È necessario essere sempre pienamente coscienti delle condizioni di guida e rispettare le leggi vigenti. Le indicazioni stradali potrebbero essere imprecise, incomplete, pericolose, non adatte, vietate o implicare l\'attraversamento di confini. Anche le informazioni sulle attività commerciali potrebbero essere imprecise o incomplete. I dati non vengono forniti in tempo reale e non è possibile garantire la precisione della geolocalizzazione. Non maneggiare il dispositivo mobile e non utilizzare app non progettate per Android Auto durante la guida."</string> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index b3a1893832e6..98957ddd5c00 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -113,8 +113,11 @@ import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.stack.StackStateAnimator; import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Set; import static android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH; @@ -268,6 +271,8 @@ public abstract class BaseStatusBar extends SystemUI implements protected boolean mVrMode; + private Set<String> mNonBlockablePkgs; + @Override // NotificationData.Environment public boolean isDeviceProvisioned() { return mDeviceProvisioned; @@ -824,6 +829,9 @@ public abstract class BaseStatusBar extends SystemUI implements Slog.e(TAG, "Failed to register VR mode state listener: " + e); } + mNonBlockablePkgs = new HashSet<String>(); + Collections.addAll(mNonBlockablePkgs, mContext.getResources().getStringArray( + com.android.internal.R.array.config_nonBlockableNotificationPackages)); } protected void notifyUserAboutHiddenNotifications() { @@ -1104,7 +1112,8 @@ public abstract class BaseStatusBar extends SystemUI implements settingsButton.setVisibility(View.GONE); } - guts.bindImportance(pmUser, sbn, mNotificationData.getImportance(sbn.getKey())); + guts.bindImportance(pmUser, sbn, mNonBlockablePkgs, + mNotificationData.getImportance(sbn.getKey())); final TextView doneButton = (TextView) guts.findViewById(R.id.done); doneButton.setText(R.string.notification_done); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java index c497cfdf88d8..62d730a42732 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java @@ -50,6 +50,8 @@ import com.android.systemui.R; import com.android.systemui.statusbar.stack.StackStateAnimator; import com.android.systemui.tuner.TunerService; +import java.util.Set; + /** * The guts of a notification revealed when performing a long press. */ @@ -173,7 +175,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab } void bindImportance(final PackageManager pm, final StatusBarNotification sbn, - final int importance) { + final Set<String> nonBlockablePkgs, final int importance) { mINotificationManager = INotificationManager.Stub.asInterface( ServiceManager.getService(Context.NOTIFICATION_SERVICE)); mStartingUserImportance = NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED; @@ -182,24 +184,26 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab mINotificationManager.getImportance(sbn.getPackageName(), sbn.getUid()); } catch (RemoteException e) {} mNotificationImportance = importance; - boolean systemApp = false; + boolean nonBlockable = false; try { final PackageInfo info = pm.getPackageInfo(sbn.getPackageName(), PackageManager.GET_SIGNATURES); - systemApp = Utils.isSystemPackage(getResources(), pm, info); + nonBlockable = Utils.isSystemPackage(getResources(), pm, info); } catch (PackageManager.NameNotFoundException e) { // unlikely. } + if (nonBlockablePkgs != null) { + nonBlockable |= nonBlockablePkgs.contains(sbn.getPackageName()); + } final View importanceSlider = findViewById(R.id.importance_slider); final View importanceButtons = findViewById(R.id.importance_buttons); if (mShowSlider) { - bindSlider(importanceSlider, systemApp); + bindSlider(importanceSlider, nonBlockable); importanceSlider.setVisibility(View.VISIBLE); importanceButtons.setVisibility(View.GONE); } else { - - bindToggles(importanceButtons, mStartingUserImportance, systemApp); + bindToggles(importanceButtons, mStartingUserImportance, nonBlockable); importanceButtons.setVisibility(View.VISIBLE); importanceSlider.setVisibility(View.GONE); } @@ -239,7 +243,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab } private void bindToggles(final View importanceButtons, final int importance, - final boolean systemApp) { + final boolean nonBlockable) { ((RadioGroup) importanceButtons).setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() { @Override @@ -250,7 +254,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab mBlock = (RadioButton) importanceButtons.findViewById(R.id.block_importance); mSilent = (RadioButton) importanceButtons.findViewById(R.id.silent_importance); mReset = (RadioButton) importanceButtons.findViewById(R.id.reset_importance); - if (systemApp) { + if (nonBlockable) { mBlock.setVisibility(View.GONE); mReset.setText(mContext.getString(R.string.do_not_silence)); } else { @@ -265,7 +269,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab } } - private void bindSlider(final View importanceSlider, final boolean systemApp) { + private void bindSlider(final View importanceSlider, final boolean nonBlockable) { mActiveSliderTint = ColorStateList.valueOf(Utils.getColorAccent(mContext)); mInactiveSliderTint = loadColorStateList(R.color.notification_guts_disabled_slider_color); @@ -273,7 +277,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab mImportanceTitle = ((TextView) importanceSlider.findViewById(R.id.title)); mSeekBar = (SeekBar) importanceSlider.findViewById(R.id.seekbar); - final int minProgress = systemApp ? + final int minProgress = nonBlockable ? NotificationListenerService.Ranking.IMPORTANCE_MIN : NotificationListenerService.Ranking.IMPORTANCE_NONE; mSeekBar.setMax(NotificationListenerService.Ranking.IMPORTANCE_MAX); diff --git a/packages/VpnDialogs/res/values-ro/strings.xml b/packages/VpnDialogs/res/values-ro/strings.xml index e2e1e44021b0..4865e964fc74 100644 --- a/packages/VpnDialogs/res/values-ro/strings.xml +++ b/packages/VpnDialogs/res/values-ro/strings.xml @@ -25,5 +25,5 @@ <string name="duration" msgid="3584782459928719435">"Durată:"</string> <string name="data_transmitted" msgid="7988167672982199061">"Trimise:"</string> <string name="data_received" msgid="4062776929376067820">"Primite:"</string> - <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> octeți/<xliff:g id="NUMBER_1">%2$s</xliff:g> pachete"</string> + <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> (de) octeți/<xliff:g id="NUMBER_1">%2$s</xliff:g> (de) pachete"</string> </resources> diff --git a/services/core/java/com/android/server/AnyMotionDetector.java b/services/core/java/com/android/server/AnyMotionDetector.java index f93c716ae162..d56492521276 100644 --- a/services/core/java/com/android/server/AnyMotionDetector.java +++ b/services/core/java/com/android/server/AnyMotionDetector.java @@ -97,6 +97,15 @@ public class AnyMotionDetector { /** True if an orientation measurement is in progress. */ private boolean mMeasurementInProgress; + /** True if sendMessageDelayed() for the mMeasurementTimeout callback has been scheduled */ + private boolean mMeasurementTimeoutIsActive; + + /** True if sendMessageDelayed() for the mWakelockTimeout callback has been scheduled */ + private boolean mWakelockTimeoutIsActive; + + /** True if sendMessageDelayed() for the mSensorRestart callback has been scheduled */ + private boolean mSensorRestartIsActive; + /** The most recent gravity vector. */ private Vector3 mCurrentGravityVector = null; @@ -118,6 +127,9 @@ public class AnyMotionDetector { mSensorManager = sm; mAccelSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mMeasurementInProgress = false; + mMeasurementTimeoutIsActive = false; + mWakelockTimeoutIsActive = false; + mSensorRestartIsActive = false; mState = STATE_INACTIVE; mCallback = callback; mThresholdAngle = thresholdAngle; @@ -146,6 +158,7 @@ public class AnyMotionDetector { mWakeLock.acquire(); Message wakelockTimeoutMsg = Message.obtain(mHandler, mWakelockTimeout); mHandler.sendMessageDelayed(wakelockTimeoutMsg, WAKELOCK_TIMEOUT_MILLIS); + mWakelockTimeoutIsActive = true; startOrientationMeasurementLocked(); } } @@ -157,17 +170,20 @@ public class AnyMotionDetector { mState = STATE_INACTIVE; if (DEBUG) Slog.d(TAG, "Moved from STATE_ACTIVE to STATE_INACTIVE."); } + mHandler.removeCallbacks(mMeasurementTimeout); + mHandler.removeCallbacks(mSensorRestart); + mMeasurementTimeoutIsActive = false; + mSensorRestartIsActive = false; if (mMeasurementInProgress) { mMeasurementInProgress = false; mSensorManager.unregisterListener(mListener); } - mHandler.removeCallbacks(mMeasurementTimeout); - mHandler.removeCallbacks(mSensorRestart); mCurrentGravityVector = null; mPreviousGravityVector = null; if (mWakeLock.isHeld()) { - mWakeLock.release(); mHandler.removeCallbacks(mWakelockTimeout); + mWakelockTimeoutIsActive = false; + mWakeLock.release(); } } } @@ -183,6 +199,7 @@ public class AnyMotionDetector { } Message measurementTimeoutMsg = Message.obtain(mHandler, mMeasurementTimeout); mHandler.sendMessageDelayed(measurementTimeoutMsg, ACCELEROMETER_DATA_TIMEOUT_MILLIS); + mMeasurementTimeoutIsActive = true; } } @@ -191,8 +208,9 @@ public class AnyMotionDetector { mMeasurementInProgress); int status = RESULT_UNKNOWN; if (mMeasurementInProgress) { - mSensorManager.unregisterListener(mListener); mHandler.removeCallbacks(mMeasurementTimeout); + mMeasurementTimeoutIsActive = false; + mSensorManager.unregisterListener(mListener); mMeasurementInProgress = false; mPreviousGravityVector = mCurrentGravityVector; mCurrentGravityVector = mRunningStats.getRunningAverage(); @@ -213,8 +231,9 @@ public class AnyMotionDetector { if (DEBUG) Slog.d(TAG, "getStationaryStatus() returned " + status); if (status != RESULT_UNKNOWN) { if (mWakeLock.isHeld()) { - mWakeLock.release(); mHandler.removeCallbacks(mWakelockTimeout); + mWakelockTimeoutIsActive = false; + mWakeLock.release(); } if (DEBUG) { Slog.d(TAG, "Moved from STATE_ACTIVE to STATE_INACTIVE. status = " + status); @@ -230,6 +249,7 @@ public class AnyMotionDetector { " milliseconds."); Message msg = Message.obtain(mHandler, mSensorRestart); mHandler.sendMessageDelayed(msg, ORIENTATION_MEASUREMENT_INTERVAL_MILLIS); + mSensorRestartIsActive = true; } } return status; @@ -283,6 +303,7 @@ public class AnyMotionDetector { } if (status != RESULT_UNKNOWN) { mHandler.removeCallbacks(mWakelockTimeout); + mWakelockTimeoutIsActive = false; mCallback.onAnyMotionResult(status); } } @@ -296,7 +317,10 @@ public class AnyMotionDetector { @Override public void run() { synchronized (mLock) { - startOrientationMeasurementLocked(); + if (mSensorRestartIsActive == true) { + mSensorRestartIsActive = false; + startOrientationMeasurementLocked(); + } } } }; @@ -306,14 +330,18 @@ public class AnyMotionDetector { public void run() { int status = RESULT_UNKNOWN; synchronized (mLock) { - if (DEBUG) Slog.i(TAG, "mMeasurementTimeout. Failed to collect sufficient accel " + - "data within " + ACCELEROMETER_DATA_TIMEOUT_MILLIS + " ms. Stopping " + - "orientation measurement."); - status = stopOrientationMeasurementLocked(); - } - if (status != RESULT_UNKNOWN) { - mHandler.removeCallbacks(mWakelockTimeout); - mCallback.onAnyMotionResult(status); + if (mMeasurementTimeoutIsActive == true) { + mMeasurementTimeoutIsActive = false; + if (DEBUG) Slog.i(TAG, "mMeasurementTimeout. Failed to collect sufficient accel " + + "data within " + ACCELEROMETER_DATA_TIMEOUT_MILLIS + " ms. Stopping " + + "orientation measurement."); + status = stopOrientationMeasurementLocked(); + if (status != RESULT_UNKNOWN) { + mHandler.removeCallbacks(mWakelockTimeout); + mWakelockTimeoutIsActive = false; + mCallback.onAnyMotionResult(status); + } + } } } }; @@ -322,7 +350,10 @@ public class AnyMotionDetector { @Override public void run() { synchronized (mLock) { - stop(); + if (mWakelockTimeoutIsActive == true) { + mWakelockTimeoutIsActive = false; + stop(); + } } } }; diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index da08e626b7c6..1671803cda48 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -398,6 +398,11 @@ public class ConnectivityService extends IConnectivityManager.Stub private static final int EVENT_REQUEST_LINKPROPERTIES = 32; private static final int EVENT_REQUEST_NETCAPABILITIES = 33; + /** + * Used internally to (re)configure avoid bad wifi setting. + */ + private static final int EVENT_CONFIGURE_NETWORK_AVOID_BAD_WIFI = 34; + /** Handler thread used for both of the handlers below. */ @VisibleForTesting protected final HandlerThread mHandlerThread; @@ -902,6 +907,12 @@ public class ConnectivityService extends IConnectivityManager.Stub mSettingsObserver.observe( Settings.Global.getUriFor(Settings.Global.MOBILE_DATA_ALWAYS_ON), EVENT_CONFIGURE_MOBILE_DATA_ALWAYS_ON); + + // Watch for whether to automatically switch away from wifi networks that lose Internet + // access. + mSettingsObserver.observe( + Settings.Global.getUriFor(Settings.Global.NETWORK_AVOID_BAD_WIFI), + EVENT_CONFIGURE_NETWORK_AVOID_BAD_WIFI); } private synchronized int nextNetworkRequestId() { @@ -2215,6 +2226,7 @@ public class ConnectivityService extends IConnectivityManager.Stub if (nai != null) { final boolean valid = (msg.arg1 == NetworkMonitor.NETWORK_TEST_RESULT_VALID); + final boolean wasValidated = nai.lastValidated; if (DBG) log(nai.name() + " validation " + (valid ? "passed" : "failed") + (msg.obj == null ? "" : " with redirect to " + (String)msg.obj)); if (valid != nai.lastValidated) { @@ -2233,6 +2245,9 @@ public class ConnectivityService extends IConnectivityManager.Stub NetworkAgent.CMD_REPORT_NETWORK_STATUS, (valid ? NetworkAgent.VALID_NETWORK : NetworkAgent.INVALID_NETWORK), 0, redirectUrlBundle); + if (wasValidated && !nai.lastValidated) { + handleNetworkUnvalidated(nai); + } } break; } @@ -2737,6 +2752,10 @@ public class ConnectivityService extends IConnectivityManager.Stub @VisibleForTesting public boolean avoidBadWifi() { + // There are two modes: either we always automatically avoid unvalidated wifi, or we show a + // dialog and don't switch to it. The behaviour is controlled by the NETWORK_AVOID_BAD_WIFI + // setting. If the setting has no value, then the value is taken from the config value, + // which can be changed via OEM/carrier overlays. int defaultAvoidBadWifi = mContext.getResources().getInteger(R.integer.config_networkAvoidBadWifi); int avoid = Settings.Global.getInt(mContext.getContentResolver(), @@ -2744,6 +2763,31 @@ public class ConnectivityService extends IConnectivityManager.Stub return avoid == 1; } + private void showValidationNotification(NetworkAgentInfo nai, NotificationType type) { + final String action; + switch (type) { + case NO_INTERNET: + action = ConnectivityManager.ACTION_PROMPT_UNVALIDATED; + break; + case LOST_INTERNET: + action = ConnectivityManager.ACTION_PROMPT_LOST_VALIDATION; + break; + default: + Slog.wtf(TAG, "Unknown notification type " + type); + return; + } + + Intent intent = new Intent(action); + intent.setData(Uri.fromParts("netId", Integer.toString(nai.network.netId), null)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.setClassName("com.android.settings", + "com.android.settings.wifi.WifiNoInternetDialog"); + + PendingIntent pendingIntent = PendingIntent.getActivityAsUser( + mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); + mNotifier.showNotification(nai.network.netId, type, nai, null, pendingIntent, true); + } + private void handlePromptUnvalidated(Network network) { if (VDBG) log("handlePromptUnvalidated " + network); NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network); @@ -2755,18 +2799,22 @@ public class ConnectivityService extends IConnectivityManager.Stub !nai.networkMisc.explicitlySelected || nai.networkMisc.acceptUnvalidated) { return; } + showValidationNotification(nai, NotificationType.NO_INTERNET); + } - Intent intent = new Intent(ConnectivityManager.ACTION_PROMPT_UNVALIDATED); - intent.setData(Uri.fromParts("netId", Integer.toString(network.netId), null)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setClassName("com.android.settings", - "com.android.settings.wifi.WifiNoInternetDialog"); + // TODO: Delete this like updateMobileDataAlwaysOn above. + @VisibleForTesting + void updateNetworkAvoidBadWifi() { + mHandler.sendEmptyMessage(EVENT_CONFIGURE_NETWORK_AVOID_BAD_WIFI); + } - PendingIntent pendingIntent = PendingIntent.getActivityAsUser( - mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); + private void handleNetworkUnvalidated(NetworkAgentInfo nai) { + NetworkCapabilities nc = nai.networkCapabilities; + if (DBG) log("handleNetworkUnvalidated " + nai.name() + " cap=" + nc); - mNotifier.showNotification(nai.network.netId, NotificationType.NO_INTERNET, nai, null, - pendingIntent, true); + if (nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) && !avoidBadWifi()) { + showValidationNotification(nai, NotificationType.LOST_INTERNET); + } } private class InternalHandler extends Handler { @@ -2850,6 +2898,10 @@ public class ConnectivityService extends IConnectivityManager.Stub handleMobileDataAlwaysOn(); break; } + case EVENT_CONFIGURE_NETWORK_AVOID_BAD_WIFI: { + rematchAllNetworksAndRequests(null, 0); + break; + } case EVENT_REQUEST_LINKPROPERTIES: handleRequestLinkProperties((NetworkRequest) msg.obj, msg.arg1); break; @@ -4836,7 +4888,7 @@ public class ConnectivityService extends IConnectivityManager.Stub } else if (newNetwork.isSatisfyingRequest(nri.request.requestId)) { // If "newNetwork" is listed as satisfying "nri" but no longer satisfies "nri", // mark it as no longer satisfying "nri". Because networks are processed by - // rematchAllNetworkAndRequests() in descending score order, "currentNetwork" will + // rematchAllNetworksAndRequests() in descending score order, "currentNetwork" will // match "newNetwork" before this loop will encounter a "currentNetwork" with higher // score than "newNetwork" and where "currentNetwork" no longer satisfies "nri". // This means this code doesn't have to handle the case where "currentNetwork" no @@ -5396,6 +5448,9 @@ public class ConnectivityService extends IConnectivityManager.Stub } } } + + Settings.Global.putString(mContext.getContentResolver(), + Settings.Global.NETWORK_AVOID_BAD_WIFI, null); } @VisibleForTesting diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index f78f29c4ac6d..d3826acb7918 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -226,11 +226,12 @@ public final class BroadcastQueue { } public final boolean replaceParallelBroadcastLocked(BroadcastRecord r) { + final Intent intent = r.intent; for (int i = mParallelBroadcasts.size() - 1; i >= 0; i--) { - if (r.intent.filterEquals(mParallelBroadcasts.get(i).intent)) { + if (intent.filterEquals(mParallelBroadcasts.get(i).intent)) { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "***** DROPPING PARALLEL [" - + mQueueName + "]: " + r.intent); + + mQueueName + "]: " + intent); mParallelBroadcasts.set(i, r); return true; } @@ -239,11 +240,12 @@ public final class BroadcastQueue { } public final boolean replaceOrderedBroadcastLocked(BroadcastRecord r) { + final Intent intent = r.intent; for (int i = mOrderedBroadcasts.size() - 1; i > 0; i--) { - if (r.intent.filterEquals(mOrderedBroadcasts.get(i).intent)) { + if (intent.filterEquals(mOrderedBroadcasts.get(i).intent)) { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "***** DROPPING ORDERED [" - + mQueueName + "]: " + r.intent); + + mQueueName + "]: " + intent); mOrderedBroadcasts.set(i, r); return true; } diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java index 9dd07a9a9f90..73a17c613c4d 100644 --- a/services/core/java/com/android/server/am/CoreSettingsObserver.java +++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java @@ -42,6 +42,7 @@ final class CoreSettingsObserver extends ContentObserver { String, Class<?>>(); static { sSecureSettingToTypeMap.put(Settings.Secure.LONG_PRESS_TIMEOUT, int.class); + sSecureSettingToTypeMap.put(Settings.Secure.MULTI_PRESS_TIMEOUT, int.class); // add other secure settings here... sSystemSettingToTypeMap.put(Settings.System.TIME_12_24, String.class); diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java index 99926a971bec..f7b01be48d88 100644 --- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java +++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java @@ -35,7 +35,7 @@ import static android.net.NetworkCapabilities.*; public class NetworkNotificationManager { - public static enum NotificationType { SIGN_IN, NO_INTERNET, NETWORK_SWITCH }; + public static enum NotificationType { SIGN_IN, NO_INTERNET, LOST_INTERNET, NETWORK_SWITCH }; private static final String NOTIFICATION_ID = "Connectivity.Notification"; @@ -91,8 +91,8 @@ public class NetworkNotificationManager { * @param id an identifier that uniquely identifies this notification. This must match * between show and hide calls. We use the NetID value but for legacy callers * we concatenate the range of types with the range of NetIDs. - * @param nai the network with which the notification is associated. For a SIGN_IN or - * NO_INTERNET notification, this is the network we're connecting to. For a + * @param nai the network with which the notification is associated. For a SIGN_IN, NO_INTERNET, + * or LOST_INTERNET notification, this is the network we're connecting to. For a * NETWORK_SWITCH notification it's the network that we switched from. When this network * disconnects the notification is removed. * @param switchToNai for a NETWORK_SWITCH notification, the network we are switching to. Null @@ -126,6 +126,10 @@ public class NetworkNotificationManager { if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) { title = r.getString(R.string.wifi_no_internet, 0); details = r.getString(R.string.wifi_no_internet_detailed); + } else if (notifyType == NotificationType.LOST_INTERNET && + transportType == TRANSPORT_WIFI) { + title = r.getString(R.string.wifi_no_internet, 0); + details = r.getString(R.string.wifi_no_internet_detailed); } else if (notifyType == NotificationType.SIGN_IN) { switch (transportType) { case TRANSPORT_WIFI: diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java index 15ae846186fa..a3febd63e2ed 100644 --- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java +++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java @@ -50,13 +50,7 @@ class AutomaticBrightnessController { // If true, enables the use of the screen auto-brightness adjustment setting. private static final boolean USE_SCREEN_AUTO_BRIGHTNESS_ADJUSTMENT = true; - // Hysteresis constraints for brightening or darkening. - // The recent lux must have changed by at least this fraction relative to the - // current ambient lux before a change will be considered. - private static final float BRIGHTENING_LIGHT_HYSTERESIS = 0.10f; - private static final float DARKENING_LIGHT_HYSTERESIS = 0.20f; - - // How long the current sensor reading is assumed to be valid beyond the current time. + // How long the current sensor reading is assumed to be valid beyond the current time. // This provides a bit of prediction, as well as ensures that the weight for the last sample is // non-zero, which in turn ensures that the total weight is non-zero. private static final long AMBIENT_LIGHT_PREDICTION_TIME_MILLIS = 100; @@ -71,7 +65,7 @@ class AutomaticBrightnessController { private static final int MSG_UPDATE_AMBIENT_LUX = 1; private static final int MSG_BRIGHTNESS_ADJUSTMENT_SAMPLE = 2; - // Callbacks for requesting updates to the the display's power state + // Callbacks for requesting updates to the display's power state private final Callbacks mCallbacks; // The sensor manager. @@ -115,6 +109,9 @@ class AutomaticBrightnessController { // weighting values positive. private final int mWeightingIntercept; + // accessor object for determining thresholds to change brightness dynamically + private final HysteresisLevels mDynamicHysteresis; + // Amount of time to delay auto-brightness after screen on while waiting for // the light sensor to warm-up in milliseconds. // May be 0 if no warm-up is required. @@ -190,7 +187,8 @@ class AutomaticBrightnessController { int brightnessMin, int brightnessMax, float dozeScaleFactor, int lightSensorRate, long brighteningLightDebounceConfig, long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig, - int ambientLightHorizon, float autoBrightnessAdjustmentMaxGamma ) { + int ambientLightHorizon, float autoBrightnessAdjustmentMaxGamma, + HysteresisLevels dynamicHysteresis) { mCallbacks = callbacks; mTwilight = LocalServices.getService(TwilightManager.class); mSensorManager = sensorManager; @@ -206,6 +204,7 @@ class AutomaticBrightnessController { mAmbientLightHorizon = ambientLightHorizon; mWeightingIntercept = ambientLightHorizon; mScreenAutoBrightnessAdjustmentMaxGamma = autoBrightnessAdjustmentMaxGamma; + mDynamicHysteresis = dynamicHysteresis; mHandler = new AutomaticBrightnessHandler(looper); mAmbientLightRingBuffer = @@ -344,8 +343,8 @@ class AutomaticBrightnessController { private void setAmbientLux(float lux) { mAmbientLux = lux; - mBrighteningLuxThreshold = mAmbientLux * (1.0f + BRIGHTENING_LIGHT_HYSTERESIS); - mDarkeningLuxThreshold = mAmbientLux * (1.0f - DARKENING_LIGHT_HYSTERESIS); + mBrighteningLuxThreshold = mDynamicHysteresis.getBrighteningThreshold(lux); + mDarkeningLuxThreshold = mDynamicHysteresis.getDarkeningThreshold(lux); } private float calculateAmbientLux(long now) { diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 61af8edebb83..df5def9ad9b9 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -72,7 +72,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private static final String TAG = "DisplayPowerController"; private static final String SCREEN_ON_BLOCKED_TRACE_NAME = "Screen on blocked"; - private static boolean DEBUG = false; + private static final boolean DEBUG = false; private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; // If true, uses the color fade on animation. @@ -102,9 +102,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Trigger proximity if distance is less than 5 cm. private static final float TYPICAL_PROXIMITY_THRESHOLD = 5.0f; - // Brightness animation ramp rate in brightness units per second. - private static final int BRIGHTNESS_RAMP_RATE_SLOW = 40; - private static final int REPORTED_TO_POLICY_SCREEN_OFF = 0; private static final int REPORTED_TO_POLICY_SCREEN_TURNING_ON = 1; private static final int REPORTED_TO_POLICY_SCREEN_ON = 2; @@ -243,8 +240,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private boolean mAppliedDimming; private boolean mAppliedLowPower; - // Brightness ramp rate fast. + // Brightness animation ramp rates in brightness units per second private final int mBrightnessRampRateFast; + private final int mBrightnessRampRateSlow; // The controller for the automatic brightness level. private AutomaticBrightnessController mAutomaticBrightnessController; @@ -307,6 +305,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mBrightnessRampRateFast = resources.getInteger( com.android.internal.R.integer.config_brightness_ramp_rate_fast); + mBrightnessRampRateSlow = resources.getInteger( + com.android.internal.R.integer.config_brightness_ramp_rate_slow); int lightSensorRate = resources.getInteger( com.android.internal.R.integer.config_autoBrightnessLightSensorRate); @@ -322,6 +322,15 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call com.android.internal.R.fraction.config_autoBrightnessAdjustmentMaxGamma, 1, 1); + int[] brightLevels = resources.getIntArray( + com.android.internal.R.array.config_dynamicHysteresisBrightLevels); + int[] darkLevels = resources.getIntArray( + com.android.internal.R.array.config_dynamicHysteresisDarkLevels); + int[] luxLevels = resources.getIntArray( + com.android.internal.R.array.config_dynamicHysteresisLuxLevels); + HysteresisLevels dynamicHysteresis = new HysteresisLevels( + brightLevels, darkLevels, luxLevels); + if (mUseSoftwareAutoBrightnessConfig) { int[] lux = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); @@ -358,8 +367,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call lightSensorWarmUpTimeConfig, screenBrightnessRangeMinimum, mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate, brighteningLightDebounce, darkeningLightDebounce, - autoBrightnessResetAmbientLuxAfterWarmUp, - ambientLightHorizon, autoBrightnessAdjustmentMaxGamma); + autoBrightnessResetAmbientLuxAfterWarmUp, ambientLightHorizon, + autoBrightnessAdjustmentMaxGamma, dynamicHysteresis); } } @@ -703,7 +712,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call if (!mPendingScreenOff) { if (state == Display.STATE_ON || state == Display.STATE_DOZE) { animateScreenBrightness(brightness, - slowChange ? BRIGHTNESS_RAMP_RATE_SLOW : mBrightnessRampRateFast); + slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast); } else { animateScreenBrightness(brightness, 0); } diff --git a/services/core/java/com/android/server/display/HysteresisLevels.java b/services/core/java/com/android/server/display/HysteresisLevels.java new file mode 100644 index 000000000000..b06222563811 --- /dev/null +++ b/services/core/java/com/android/server/display/HysteresisLevels.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2016 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.server.display; + +import android.util.Slog; + +/** + * A helper class for handling access to illuminance hysteresis level values. + */ +final class HysteresisLevels { + private static final String TAG = "HysteresisLevels"; + + // Default hysteresis constraints for brightening or darkening. + // The recent lux must have changed by at least this fraction relative to the + // current ambient lux before a change will be considered. + private static final float DEFAULT_BRIGHTENING_HYSTERESIS = 0.10f; + private static final float DEFAULT_DARKENING_HYSTERESIS = 0.20f; + + private static final boolean DEBUG = false; + + private final float[] mBrightLevels; + private final float[] mDarkLevels; + private final float[] mLuxLevels; + + /** + * Creates a {@code HysteresisLevels} object with the given equal-length + * integer arrays. + * @param brightLevels an array of brightening hysteresis constraint constants + * @param darkLevels an array of darkening hysteresis constraint constants + * @param luxLevels a monotonically increasing array of illuminance + * thresholds in units of lux + */ + public HysteresisLevels(int[] brightLevels, int[] darkLevels, int[] luxLevels) { + if (brightLevels.length != darkLevels.length || darkLevels.length != luxLevels.length + 1) { + throw new IllegalArgumentException("Mismatch between hysteresis array lengths."); + } + mBrightLevels = setArrayFormat(brightLevels, 1000.0f); + mDarkLevels = setArrayFormat(darkLevels, 1000.0f); + mLuxLevels = setArrayFormat(luxLevels, 1.0f); + } + + /** + * Return the brightening hysteresis threshold for the given lux level. + */ + public float getBrighteningThreshold(float lux) { + float brightConstant = getReferenceLevel(lux, mBrightLevels); + float brightThreshold = lux * (1.0f + brightConstant); + if (DEBUG) { + Slog.d(TAG, "bright hysteresis constant=: " + brightConstant + ", threshold=" + + brightThreshold + ", lux=" + lux); + } + return brightThreshold; + } + + /** + * Return the darkening hysteresis threshold for the given lux level. + */ + public float getDarkeningThreshold(float lux) { + float darkConstant = getReferenceLevel(lux, mDarkLevels); + float darkThreshold = lux * (1.0f - darkConstant); + if (DEBUG) { + Slog.d(TAG, "dark hysteresis constant=: " + darkConstant + ", threshold=" + + darkThreshold + ", lux=" + lux); + } + return darkThreshold; + } + + /** + * Return the hysteresis constant for the closest lux threshold value to the + * current illuminance from the given array. + */ + private float getReferenceLevel(float lux, float[] referenceLevels) { + int index = 0; + while (mLuxLevels.length > index && lux >= mLuxLevels[index]) { + ++index; + } + return referenceLevels[index]; + } + + /** + * Return a float array where each i-th element equals {@code configArray[i]/divideFactor}. + */ + private float[] setArrayFormat(int[] configArray, float divideFactor) { + float[] levelArray = new float[configArray.length]; + for (int index = 0; levelArray.length > index; ++index) { + levelArray[index] = (float)configArray[index] / divideFactor; + } + return levelArray; + } +} diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 3e1c529a5fc6..3efcf5954a64 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -1025,7 +1025,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { */ private void notifyOverLimitNL(NetworkTemplate template) { if (!mOverLimitNotified.contains(template)) { - mContext.startActivity(buildNetworkOverLimitIntent(template)); + mContext.startActivity(buildNetworkOverLimitIntent(mContext.getResources(), template)); mOverLimitNotified.add(template); } } @@ -1071,7 +1071,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { builder.setDeleteIntent(PendingIntent.getBroadcast( mContext, 0, snoozeIntent, PendingIntent.FLAG_UPDATE_CURRENT)); - final Intent viewIntent = buildViewDataUsageIntent(policy.template); + final Intent viewIntent = buildViewDataUsageIntent(res, policy.template); builder.setContentIntent(PendingIntent.getActivity( mContext, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT)); @@ -1107,7 +1107,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { builder.setContentTitle(title); builder.setContentText(body); - final Intent intent = buildNetworkOverLimitIntent(policy.template); + final Intent intent = buildNetworkOverLimitIntent(res, policy.template); builder.setContentIntent(PendingIntent.getActivity( mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)); break; @@ -1142,7 +1142,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { builder.setContentTitle(title); builder.setContentText(body); - final Intent intent = buildViewDataUsageIntent(policy.template); + final Intent intent = buildViewDataUsageIntent(res, policy.template); builder.setContentIntent(PendingIntent.getActivity( mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)); break; @@ -3561,19 +3561,19 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return intent; } - private static Intent buildNetworkOverLimitIntent(NetworkTemplate template) { + private static Intent buildNetworkOverLimitIntent(Resources res, NetworkTemplate template) { final Intent intent = new Intent(); - intent.setComponent(new ComponentName( - "com.android.systemui", "com.android.systemui.net.NetworkOverLimitActivity")); + intent.setComponent(ComponentName.unflattenFromString( + res.getString(R.string.config_networkOverLimitComponent))); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(EXTRA_NETWORK_TEMPLATE, template); return intent; } - private static Intent buildViewDataUsageIntent(NetworkTemplate template) { + private static Intent buildViewDataUsageIntent(Resources res, NetworkTemplate template) { final Intent intent = new Intent(); - intent.setComponent(new ComponentName( - "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); + intent.setComponent(ComponentName.unflattenFromString( + res.getString(R.string.config_dataUsageSummaryComponent))); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(EXTRA_NETWORK_TEMPLATE, template); return intent; diff --git a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java index d1dbdd8b1945..8e44570e8e06 100644 --- a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java @@ -150,6 +150,9 @@ final class DefaultPermissionGrantPolicy { private static final int MSG_READ_DEFAULT_PERMISSION_EXCEPTIONS = 1; + private static final String ACTION_TWINNING = + "com.google.android.clockwork.intent.TWINNING_SETTINGS"; + private final PackageManagerService mService; private final Handler mHandler; @@ -603,8 +606,9 @@ final class DefaultPermissionGrantPolicy { grantRuntimePermissionsLPw(musicPackage, STORAGE_PERMISSIONS, userId); } - // Android Wear Home + // Android Wear if (mService.hasSystemFeature(PackageManager.FEATURE_WATCH, 0)) { + // Android Wear Home Intent homeIntent = new Intent(Intent.ACTION_MAIN); homeIntent.addCategory(Intent.CATEGORY_HOME_MAIN); @@ -621,6 +625,17 @@ final class DefaultPermissionGrantPolicy { grantRuntimePermissionsLPw(wearHomePackage, LOCATION_PERMISSIONS, false, userId); } + + // Android Wear Twinning + Intent twinningIntent = new Intent(ACTION_TWINNING); + PackageParser.Package twinningPackage = getDefaultSystemHandlerActivityPackageLPr( + twinningIntent, userId); + + if (twinningPackage != null + && doesPackageSupportRuntimePermissions(twinningPackage)) { + grantRuntimePermissionsLPw(twinningPackage, PHONE_PERMISSIONS, false, userId); + grantRuntimePermissionsLPw(twinningPackage, SMS_PERMISSIONS, false, userId); + } } // Print Spooler diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index ccf9b898d7b2..26839482a8d3 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -200,6 +200,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final int MULTI_PRESS_POWER_THEATER_MODE = 1; static final int MULTI_PRESS_POWER_BRIGHTNESS_BOOST = 2; + // Number of presses needed before we induce panic press behavior on the back button + static final int PANIC_PRESS_BACK_COUNT = 4; + static final int PANIC_PRESS_BACK_NOTHING = 0; + static final int PANIC_PRESS_BACK_HOME = 1; + // These need to match the documentation/constant in // core/res/res/values/config.xml static final int LONG_PRESS_HOME_NOTHING = 0; @@ -409,6 +414,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { volatile boolean mBackKeyHandled; volatile boolean mBeganFromNonInteractive; volatile int mPowerKeyPressCounter; + volatile int mBackKeyPressCounter; volatile boolean mEndCallKeyHandled; volatile boolean mCameraGestureTriggeredDuringGoingToSleep; volatile boolean mGoingToSleep; @@ -467,6 +473,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { int mDoublePressOnPowerBehavior; int mTriplePressOnPowerBehavior; int mLongPressOnBackBehavior; + int mPanicPressOnBackBehavior; int mShortPressOnSleepBehavior; int mShortPressWindowBehavior; boolean mAwake; @@ -640,6 +647,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { // (See Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR.) int mIncallPowerBehavior; + // Behavior of Back button while in-call and screen on + int mIncallBackBehavior; + Display mDisplay; private int mDisplayRotation; @@ -729,6 +739,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { private static final int MSG_SHOW_TV_PICTURE_IN_PICTURE_MENU = 17; private static final int MSG_BACK_LONG_PRESS = 18; private static final int MSG_DISPOSE_INPUT_CONSUMER = 19; + private static final int MSG_BACK_DELAYED_PRESS = 20; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_STATUS = 0; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_NAVIGATION = 1; @@ -795,10 +806,15 @@ public class PhoneWindowManager implements WindowManagerPolicy { break; case MSG_BACK_LONG_PRESS: backLongPress(); + finishBackKeyPress(); break; case MSG_DISPOSE_INPUT_CONSUMER: disposeInputConsumer((InputConsumer) msg.obj); break; + case MSG_BACK_DELAYED_PRESS: + backMultiPressAction((Long) msg.obj, msg.arg1); + finishBackKeyPress(); + break; } } } @@ -825,6 +841,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR), false, this, UserHandle.USER_ALL); resolver.registerContentObserver(Settings.Secure.getUriFor( + Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR), false, this, + UserHandle.USER_ALL); + resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.WAKE_GESTURE_ENABLED), false, this, UserHandle.USER_ALL); resolver.registerContentObserver(Settings.System.getUriFor( @@ -1013,6 +1032,73 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + private void interceptBackKeyDown() { + // Reset back key state for long press + mBackKeyHandled = false; + + // Cancel multi-press detection timeout. + if (hasPanicPressOnBackBehavior()) { + if (mBackKeyPressCounter != 0 + && mBackKeyPressCounter < PANIC_PRESS_BACK_COUNT) { + mHandler.removeMessages(MSG_BACK_DELAYED_PRESS); + } + } + + if (hasLongPressOnBackBehavior()) { + Message msg = mHandler.obtainMessage(MSG_BACK_LONG_PRESS); + msg.setAsynchronous(true); + mHandler.sendMessageDelayed(msg, + ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); + } + } + + // returns true if the key was handled and should not be passed to the user + private boolean interceptBackKeyUp(KeyEvent event) { + // Cache handled state + boolean handled = mBackKeyHandled; + + if (hasPanicPressOnBackBehavior()) { + // Check for back key panic press + ++mBackKeyPressCounter; + + final long eventTime = event.getDownTime(); + + if (mBackKeyPressCounter <= PANIC_PRESS_BACK_COUNT) { + // This could be a multi-press. Wait a little bit longer to confirm. + Message msg = mHandler.obtainMessage(MSG_BACK_DELAYED_PRESS, + mBackKeyPressCounter, 0, eventTime); + msg.setAsynchronous(true); + mHandler.sendMessageDelayed(msg, ViewConfiguration.getMultiPressTimeout()); + } + } + + // Reset back long press state + cancelPendingBackKeyAction(); + + if (mHasFeatureWatch) { + TelecomManager telecomManager = getTelecommService(); + + if (telecomManager != null) { + if (telecomManager.isRinging()) { + // Pressing back while there's a ringing incoming + // call should silence the ringer. + telecomManager.silenceRinger(); + + // It should not prevent navigating away + return false; + } else if ( + (mIncallBackBehavior & Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR_HANGUP) != 0 + && telecomManager.isInCall()) { + // Otherwise, if "Back button ends call" is enabled, + // the Back button will hang up any current active call. + return telecomManager.endCall(); + } + } + } + + return handled; + } + private void interceptPowerKeyDown(KeyEvent event, boolean interactive) { // Hold a wake lock until the power key is released. if (!mPowerKeyWakeLock.isHeld()) { @@ -1143,6 +1229,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + private void finishBackKeyPress() { + mBackKeyPressCounter = 0; + } + private void cancelPendingPowerKeyAction() { if (!mPowerKeyHandled) { mPowerKeyHandled = true; @@ -1157,6 +1247,18 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + private void backMultiPressAction(long eventTime, int count) { + if (count >= PANIC_PRESS_BACK_COUNT) { + switch (mPanicPressOnBackBehavior) { + case PANIC_PRESS_BACK_NOTHING: + break; + case PANIC_PRESS_BACK_HOME: + launchHomeFromHotKey(); + break; + } + } + } + private void powerPress(long eventTime, boolean interactive, int count) { if (mScreenOnEarly && !mScreenOnFully) { Slog.i(TAG, "Suppressed redundant power key press while " @@ -1315,6 +1417,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { return mLongPressOnBackBehavior != LONG_PRESS_BACK_NOTHING; } + private boolean hasPanicPressOnBackBehavior() { + return mPanicPressOnBackBehavior != PANIC_PRESS_BACK_NOTHING; + } + private void interceptScreenshotChord() { if (mScreenshotChordEnabled && mScreenshotChordVolumeDownKeyTriggered && mScreenshotChordPowerKeyTriggered @@ -1642,6 +1748,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { mLongPressOnBackBehavior = mContext.getResources().getInteger( com.android.internal.R.integer.config_longPressOnBackBehavior); + mPanicPressOnBackBehavior = mContext.getResources().getInteger( + com.android.internal.R.integer.config_backPanicBehavior); mShortPressOnPowerBehavior = mContext.getResources().getInteger( com.android.internal.R.integer.config_shortPressOnPowerBehavior); @@ -1939,6 +2047,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT, UserHandle.USER_CURRENT); + mIncallBackBehavior = Settings.Secure.getIntForUser(resolver, + Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR, + Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR_DEFAULT, + UserHandle.USER_CURRENT); // Configure wake gesture. boolean wakeGestureEnabledSetting = Settings.Secure.getIntForUser(resolver, @@ -5655,20 +5767,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { switch (keyCode) { case KeyEvent.KEYCODE_BACK: { if (down) { - mBackKeyHandled = false; - if (hasLongPressOnBackBehavior()) { - Message msg = mHandler.obtainMessage(MSG_BACK_LONG_PRESS); - msg.setAsynchronous(true); - mHandler.sendMessageDelayed(msg, - ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); - } + interceptBackKeyDown(); } else { - boolean handled = mBackKeyHandled; - - // Reset back key state - cancelPendingBackKeyAction(); + boolean handled = interceptBackKeyUp(event); - // Don't pass back press to app if we've already handled it + // Don't pass back press to app if we've already handled it via long press if (handled) { result &= ~ACTION_PASS_TO_USER; } @@ -7975,6 +8078,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print(" mLockScreenTimerActive="); pw.println(mLockScreenTimerActive); pw.print(prefix); pw.print("mEndcallBehavior="); pw.print(mEndcallBehavior); pw.print(" mIncallPowerBehavior="); pw.print(mIncallPowerBehavior); + pw.print(" mIncallBackBehavior="); pw.print(mIncallBackBehavior); pw.print(" mLongPressOnHomeBehavior="); pw.println(mLongPressOnHomeBehavior); pw.print(prefix); pw.print("mLandscapeRotation="); pw.print(mLandscapeRotation); pw.print(" mSeascapeRotation="); pw.println(mSeascapeRotation); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 777c0b35e4be..6156d912597c 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5932,8 +5932,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { updateDeviceOwnerLocked(); disableSecurityLoggingIfNotCompliant(); try { - // Reactivate backup service. - mInjector.getIBackupManager().setBackupServiceActive(UserHandle.USER_SYSTEM, true); + if (mInjector.getIBackupManager() != null) { + // Reactivate backup service. + mInjector.getIBackupManager().setBackupServiceActive(UserHandle.USER_SYSTEM, true); + } } catch (RemoteException e) { throw new IllegalStateException("Failed reactivating backup service.", e); } diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 97a829ecac46..8a596480ee2c 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -551,6 +551,9 @@ public final class SystemServer { boolean disableTextServices = SystemProperties.getBoolean("config.disable_textservices", false); boolean disableSamplingProfiler = SystemProperties.getBoolean("config.disable_samplingprof", false); + + boolean disableConsumerIr = SystemProperties.getBoolean("config.disable_consumerir", false); + boolean isEmulator = SystemProperties.get("ro.kernel.qemu").equals("1"); try { @@ -595,10 +598,12 @@ public final class SystemServer { ServiceManager.addService("vibrator", vibrator); Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); - traceBeginAndSlog("StartConsumerIrService"); - consumerIr = new ConsumerIrService(context); - ServiceManager.addService(Context.CONSUMER_IR_SERVICE, consumerIr); - Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); + if (!disableConsumerIr) { + traceBeginAndSlog("StartConsumerIrService"); + consumerIr = new ConsumerIrService(context); + ServiceManager.addService(Context.CONSUMER_IR_SERVICE, consumerIr); + Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); + } traceBeginAndSlog("StartAlarmManagerService"); mSystemServiceManager.startService(AlarmManagerService.class); diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java index d52671ab8843..ace6c6e86a66 100644 --- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java @@ -25,6 +25,7 @@ import static android.net.NetworkCapabilities.*; import static org.mockito.Mockito.mock; +import android.app.NotificationManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.ContentResolver; @@ -137,7 +138,8 @@ public class ConnectivityServiceTest extends AndroidTestCase { @Override public Object getSystemService(String name) { - if (name == Context.CONNECTIVITY_SERVICE) return mCm; + if (Context.CONNECTIVITY_SERVICE.equals(name)) return mCm; + if (Context.NOTIFICATION_SERVICE.equals(name)) return mock(NotificationManager.class); return super.getSystemService(name); } @@ -2031,6 +2033,79 @@ public class ConnectivityServiceTest extends AndroidTestCase { handlerThread.quit(); } + @SmallTest + public void testAvoidBadWifiSetting() throws Exception { + ContentResolver cr = mServiceContext.getContentResolver(); + + // File a request for cell to ensure it doesn't go down. + final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback(); + final NetworkRequest cellRequest = new NetworkRequest.Builder() + .addTransportType(TRANSPORT_CELLULAR).build(); + mCm.requestNetwork(cellRequest, cellNetworkCallback); + + TestNetworkCallback defaultCallback = new TestNetworkCallback(); + mCm.registerDefaultNetworkCallback(defaultCallback); + + NetworkRequest validatedWifiRequest = new NetworkRequest.Builder() + .addTransportType(TRANSPORT_WIFI) + .addCapability(NET_CAPABILITY_VALIDATED) + .build(); + TestNetworkCallback validatedWifiCallback = new TestNetworkCallback(); + mCm.registerNetworkCallback(validatedWifiRequest, validatedWifiCallback); + + // Takes effect on every rematch. + Settings.Global.putInt(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, 0); + + // Bring up validated cell. + mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); + mCellNetworkAgent.connect(true); + cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent); + defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent); + Network cellNetwork = mCellNetworkAgent.getNetwork(); + + // Bring up validated wifi. + mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mWiFiNetworkAgent.connect(true); + defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent); + validatedWifiCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent); + Network wifiNetwork = mWiFiNetworkAgent.getNetwork(); + + // Fail validation on wifi. + mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 599; + mCm.reportNetworkConnectivity(wifiNetwork, false); + validatedWifiCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); + + // Because avoid bad wifi is off, we don't switch to cellular. + defaultCallback.assertNoCallback(); + assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability( + NET_CAPABILITY_VALIDATED)); + assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability( + NET_CAPABILITY_VALIDATED)); + assertEquals(mCm.getActiveNetwork(), wifiNetwork); + + // Simulate the user selecting "switch" on the dialog. + Settings.Global.putInt(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, 1); + mService.updateNetworkAvoidBadWifi(); + + // We now switch to cell. + defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent); + assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability( + NET_CAPABILITY_VALIDATED)); + assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability( + NET_CAPABILITY_VALIDATED)); + assertEquals(mCm.getActiveNetwork(), cellNetwork); + + // If cell goes down, we switch to wifi. + mCellNetworkAgent.disconnect(); + defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent); + defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent); + validatedWifiCallback.assertNoCallback(); + + mCm.unregisterNetworkCallback(cellNetworkCallback); + mCm.unregisterNetworkCallback(validatedWifiCallback); + mCm.unregisterNetworkCallback(defaultCallback); + } + private static class TestKeepaliveCallback extends PacketKeepaliveCallback { public static enum CallbackType { ON_STARTED, ON_STOPPED, ON_ERROR }; diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 828477302245..04104b5c70d7 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -94,7 +94,7 @@ public class UsageStatsService extends SystemService implements static final String TAG = "UsageStatsService"; - static final boolean DEBUG = false; + static final boolean DEBUG = false; // Never submit with true static final boolean COMPRESS_TIME = false; private static final long TEN_SECONDS = 10 * 1000; @@ -139,8 +139,8 @@ public class UsageStatsService extends SystemService implements long mSystemTimeSnapshot; boolean mAppIdleEnabled; - boolean mAppIdleParoled; - private boolean mScreenOn; + boolean mAppIdleTempParoled; + boolean mCharging; private long mLastAppIdleParoledTime; private volatile boolean mPendingOneTimeCheckIdleStates; @@ -191,7 +191,7 @@ public class UsageStatsService extends SystemService implements mAppIdleEnabled = getContext().getResources().getBoolean( com.android.internal.R.bool.config_enableAutoPowerModes); if (mAppIdleEnabled) { - IntentFilter deviceStates = new IntentFilter(BatteryManager.ACTION_CHARGING); + IntentFilter deviceStates = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); deviceStates.addAction(BatteryManager.ACTION_DISCHARGING); deviceStates.addAction(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED); getContext().registerReceiver(new DeviceStateReceiver(), deviceStates); @@ -237,7 +237,7 @@ public class UsageStatsService extends SystemService implements mSystemServicesReady = true; } else if (phase == PHASE_BOOT_COMPLETED) { - setAppIdleParoled(getContext().getSystemService(BatteryManager.class).isCharging()); + setChargingState(getContext().getSystemService(BatteryManager.class).isCharging()); } } @@ -284,9 +284,8 @@ public class UsageStatsService extends SystemService implements @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); - if (BatteryManager.ACTION_CHARGING.equals(action) - || BatteryManager.ACTION_DISCHARGING.equals(action)) { - setAppIdleParoled(BatteryManager.ACTION_CHARGING.equals(action)); + if (Intent.ACTION_BATTERY_CHANGED.equals(action)) { + setChargingState(intent.getIntExtra("plugged", 0) != 0); } else if (PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED.equals(action)) { onDeviceIdleModeChanged(); } @@ -376,12 +375,21 @@ public class UsageStatsService extends SystemService implements } } + void setChargingState(boolean charging) { + synchronized (mLock) { + if (mCharging != charging) { + mCharging = charging; + postParoleStateChanged(); + } + } + } + /** Paroled here means temporary pardon from being inactive */ void setAppIdleParoled(boolean paroled) { synchronized (mLock) { - if (mAppIdleParoled != paroled) { - mAppIdleParoled = paroled; - if (DEBUG) Slog.d(TAG, "Changing paroled to " + mAppIdleParoled); + if (mAppIdleTempParoled != paroled) { + mAppIdleTempParoled = paroled; + if (DEBUG) Slog.d(TAG, "Changing paroled to " + mAppIdleTempParoled); if (paroled) { postParoleEndTimeout(); } else { @@ -393,6 +401,12 @@ public class UsageStatsService extends SystemService implements } } + boolean isParoledOrCharging() { + synchronized (mLock) { + return mAppIdleTempParoled || mCharging; + } + } + private void postNextParoleTimeout() { if (DEBUG) Slog.d(TAG, "Posting MSG_CHECK_PAROLE_TIMEOUT"); mHandler.removeMessages(MSG_CHECK_PAROLE_TIMEOUT); @@ -495,7 +509,7 @@ public class UsageStatsService extends SystemService implements /** Check if it's been a while since last parole and let idle apps do some work */ void checkParoleTimeout() { synchronized (mLock) { - if (!mAppIdleParoled) { + if (!mAppIdleTempParoled) { final long timeSinceLastParole = checkAndGetTimeLocked() - mLastAppIdleParoledTime; if (timeSinceLastParole > mAppIdleParoleIntervalMillis) { if (DEBUG) Slog.d(TAG, "Crossed default parole interval"); @@ -786,7 +800,7 @@ public class UsageStatsService extends SystemService implements } boolean isAppIdleFilteredOrParoled(String packageName, int userId, long elapsedRealtime) { - if (mAppIdleParoled) { + if (isParoledOrCharging()) { return false; } return isAppIdleFiltered(packageName, getAppId(packageName), userId, elapsedRealtime); @@ -989,8 +1003,9 @@ public class UsageStatsService extends SystemService implements } void informParoleStateChanged() { + final boolean paroled = isParoledOrCharging(); for (AppIdleStateChangeListener listener : mPackageAccessListeners) { - listener.onParoleStateChanged(mAppIdleParoled); + listener.onParoleStateChanged(paroled); } } @@ -1072,9 +1087,9 @@ public class UsageStatsService extends SystemService implements pw.println(); pw.print("mAppIdleEnabled="); pw.print(mAppIdleEnabled); - pw.print(" mAppIdleParoled="); pw.print(mAppIdleParoled); - pw.print(" mScreenOn="); pw.println(mScreenOn); - pw.print("mLastAppIdleParoledTime="); + pw.print(" mAppIdleTempParoled="); pw.print(mAppIdleTempParoled); + pw.print(" mCharging="); pw.print(mCharging); + pw.print(" mLastAppIdleParoledTime="); TimeUtils.formatDuration(mLastAppIdleParoledTime, pw); pw.println(); } @@ -1139,7 +1154,8 @@ public class UsageStatsService extends SystemService implements break; case MSG_PAROLE_STATE_CHANGED: - if (DEBUG) Slog.d(TAG, "Parole state changed: " + mAppIdleParoled); + if (DEBUG) Slog.d(TAG, "Parole state: " + mAppIdleTempParoled + + ", Charging state:" + mCharging); informParoleStateChanged(); break; @@ -1466,7 +1482,7 @@ public class UsageStatsService extends SystemService implements @Override public boolean isAppIdleParoleOn() { - return mAppIdleParoled; + return isParoledOrCharging(); } @Override |