diff options
134 files changed, 1465 insertions, 7564 deletions
@@ -18415,10 +18415,10 @@ package android.provider { field public static final java.lang.String USE_GOOGLE_MAIL = "use_google_mail"; field public static final java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count"; field public static final java.lang.String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms"; - field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; - field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; - field public static final java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; - field public static final java.lang.String WIFI_ON = "wifi_on"; + field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; + field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; + field public static final deprecated java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; + field public static final deprecated java.lang.String WIFI_ON = "wifi_on"; field public static final deprecated java.lang.String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage"; field public static final deprecated java.lang.String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count"; field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms"; @@ -26107,35 +26107,6 @@ package android.view.textservice { package android.webkit { - public final deprecated class CacheManager { - ctor public CacheManager(); - method public static deprecated boolean cacheDisabled(); - method public static deprecated boolean endCacheTransaction(); - method public static deprecated android.webkit.CacheManager.CacheResult getCacheFile(java.lang.String, java.util.Map<java.lang.String, java.lang.String>); - method public static deprecated java.io.File getCacheFileBaseDir(); - method public static deprecated void saveCacheFile(java.lang.String, android.webkit.CacheManager.CacheResult); - method public static deprecated boolean startCacheTransaction(); - } - - public static deprecated class CacheManager.CacheResult { - ctor public CacheManager.CacheResult(); - method public java.lang.String getContentDisposition(); - method public long getContentLength(); - method public java.lang.String getETag(); - method public java.lang.String getEncoding(); - method public long getExpires(); - method public java.lang.String getExpiresString(); - method public int getHttpStatusCode(); - method public java.io.InputStream getInputStream(); - method public java.lang.String getLastModified(); - method public java.lang.String getLocalPath(); - method public java.lang.String getLocation(); - method public java.lang.String getMimeType(); - method public java.io.OutputStream getOutputStream(); - method public void setEncoding(java.lang.String); - method public void setInputStream(java.io.InputStream); - } - public class ConsoleMessage { ctor public ConsoleMessage(java.lang.String, java.lang.String, int, android.webkit.ConsoleMessage.MessageLevel); method public int lineNumber(); @@ -26298,7 +26269,6 @@ package android.webkit { public class WebHistoryItem implements java.lang.Cloneable { method public android.graphics.Bitmap getFavicon(); - method public deprecated int getId(); method public java.lang.String getOriginalUrl(); method public java.lang.String getTitle(); method public java.lang.String getUrl(); @@ -26357,7 +26327,6 @@ package android.webkit { method public synchronized boolean getLoadsImagesAutomatically(); method public synchronized int getMinimumFontSize(); method public synchronized int getMinimumLogicalFontSize(); - method public deprecated boolean getNavDump(); method public synchronized android.webkit.WebSettings.PluginState getPluginState(); method public deprecated synchronized boolean getPluginsEnabled(); method public deprecated synchronized java.lang.String getPluginsPath(); @@ -26368,10 +26337,7 @@ package android.webkit { method public synchronized java.lang.String getStandardFontFamily(); method public deprecated synchronized android.webkit.WebSettings.TextSize getTextSize(); method public synchronized int getTextZoom(); - method public deprecated synchronized boolean getUseDoubleTree(); - method public deprecated boolean getUseWebViewBackgroundForOverscrollBackground(); method public synchronized boolean getUseWideViewPort(); - method public deprecated synchronized int getUserAgent(); method public synchronized java.lang.String getUserAgentString(); method public void setAllowContentAccess(boolean); method public void setAllowFileAccess(boolean); @@ -26406,7 +26372,6 @@ package android.webkit { method public synchronized void setLoadsImagesAutomatically(boolean); method public synchronized void setMinimumFontSize(int); method public synchronized void setMinimumLogicalFontSize(int); - method public deprecated void setNavDump(boolean); method public void setNeedInitialFocus(boolean); method public synchronized void setPluginState(android.webkit.WebSettings.PluginState); method public deprecated synchronized void setPluginsEnabled(boolean); @@ -26421,10 +26386,7 @@ package android.webkit { method public void setSupportZoom(boolean); method public deprecated synchronized void setTextSize(android.webkit.WebSettings.TextSize); method public synchronized void setTextZoom(int); - method public deprecated synchronized void setUseDoubleTree(boolean); - method public deprecated void setUseWebViewBackgroundForOverscrollBackground(boolean); method public synchronized void setUseWideViewPort(boolean); - method public deprecated synchronized void setUserAgent(int); method public synchronized void setUserAgentString(java.lang.String); method public synchronized boolean supportMultipleWindows(); method public boolean supportZoom(); @@ -26529,12 +26491,8 @@ package android.webkit { method public void clearSslPreferences(); method public void clearView(); method public android.webkit.WebBackForwardList copyBackForwardList(); - method public deprecated void debugDump(); method public void destroy(); - method public static deprecated void disablePlatformNotifications(); method public void documentHasImages(android.os.Message); - method public deprecated void emulateShiftHeld(); - method public static deprecated void enablePlatformNotifications(); method public static java.lang.String findAddress(java.lang.String); method public deprecated int findAll(java.lang.String); method public void findAllAsync(java.lang.String); @@ -26552,7 +26510,6 @@ package android.webkit { method public android.webkit.WebSettings getSettings(); method public java.lang.String getTitle(); method public java.lang.String getUrl(); - method public deprecated int getVisibleTitleHeight(); method public void goBack(); method public void goBackOrForward(int); method public void goForward(); @@ -26577,11 +26534,9 @@ package android.webkit { method public void removeJavascriptInterface(java.lang.String); method public void requestFocusNodeHref(android.os.Message); method public void requestImageRef(android.os.Message); - method public deprecated boolean restorePicture(android.os.Bundle, java.io.File); method public android.webkit.WebBackForwardList restoreState(android.os.Bundle); method public void resumeTimers(); method public void savePassword(java.lang.String, java.lang.String, java.lang.String); - method public deprecated boolean savePicture(android.os.Bundle, java.io.File); method public android.webkit.WebBackForwardList saveState(android.os.Bundle); method public void saveWebArchive(java.lang.String); method public void saveWebArchive(java.lang.String, boolean, android.webkit.ValueCallback<java.lang.String>); @@ -26593,7 +26548,6 @@ package android.webkit { method public void setInitialScale(int); method public void setMapTrackballToArrowKeys(boolean); method public void setNetworkAvailable(boolean); - method public deprecated void setPictureListener(android.webkit.WebView.PictureListener); method public void setVerticalScrollbarOverlay(boolean); method public void setWebChromeClient(android.webkit.WebChromeClient); method public void setWebViewClient(android.webkit.WebViewClient); @@ -26677,7 +26631,6 @@ package android.webkit { method public boolean hasFormData(); method public boolean hasHttpAuthUsernamePassword(); method public boolean hasUsernamePassword(); - field protected static final java.lang.String LOGTAG = "webviewdatabase"; } public class WebViewFragment extends android.app.Fragment { diff --git a/api/current.txt b/api/current.txt index 9734532..bd03fac 100644 --- a/api/current.txt +++ b/api/current.txt @@ -18884,10 +18884,10 @@ package android.provider { field public static final deprecated java.lang.String USE_GOOGLE_MAIL = "use_google_mail"; field public static final deprecated java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count"; field public static final java.lang.String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms"; - field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; - field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; - field public static final java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; - field public static final java.lang.String WIFI_ON = "wifi_on"; + field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; + field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; + field public static final deprecated java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; + field public static final deprecated java.lang.String WIFI_ON = "wifi_on"; field public static final deprecated java.lang.String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage"; field public static final deprecated java.lang.String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count"; field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms"; @@ -20192,10 +20192,6 @@ package android.sax { package android.security { - public class AndroidKeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec { - ctor public AndroidKeyPairGeneratorSpec(android.content.Context, java.lang.String, javax.security.auth.x500.X500Principal, java.math.BigInteger, java.util.Date, java.util.Date); - } - public final class KeyChain { ctor public KeyChain(); method public static void choosePrivateKeyAlias(android.app.Activity, android.security.KeyChainAliasCallback, java.lang.String[], java.security.Principal[], java.lang.String, int, java.lang.String); @@ -22209,9 +22205,9 @@ package android.text.format { method public static java.lang.String formatElapsedTime(long); method public static java.lang.String formatElapsedTime(java.lang.StringBuilder, long); method public static final java.lang.CharSequence formatSameDayTime(long, long, int, int); - method public static java.lang.String getAMPMString(int); - method public static java.lang.String getDayOfWeekString(int, int); - method public static java.lang.String getMonthString(int, int); + method public static deprecated java.lang.String getAMPMString(int); + method public static deprecated java.lang.String getDayOfWeekString(int, int); + method public static deprecated java.lang.String getMonthString(int, int); method public static java.lang.CharSequence getRelativeDateTimeString(android.content.Context, long, long, long, int); method public static java.lang.CharSequence getRelativeTimeSpanString(long); method public static java.lang.CharSequence getRelativeTimeSpanString(long, long, long); @@ -22219,24 +22215,24 @@ package android.text.format { method public static java.lang.CharSequence getRelativeTimeSpanString(android.content.Context, long, boolean); method public static java.lang.CharSequence getRelativeTimeSpanString(android.content.Context, long); method public static boolean isToday(long); - field public static final java.lang.String ABBREV_MONTH_FORMAT = "%b"; + field public static final deprecated java.lang.String ABBREV_MONTH_FORMAT = "%b"; field public static final java.lang.String ABBREV_WEEKDAY_FORMAT = "%a"; field public static final long DAY_IN_MILLIS = 86400000L; // 0x5265c00L - field public static final int FORMAT_12HOUR = 64; // 0x40 - field public static final int FORMAT_24HOUR = 128; // 0x80 + field public static final deprecated int FORMAT_12HOUR = 64; // 0x40 + field public static final deprecated int FORMAT_24HOUR = 128; // 0x80 field public static final int FORMAT_ABBREV_ALL = 524288; // 0x80000 field public static final int FORMAT_ABBREV_MONTH = 65536; // 0x10000 field public static final int FORMAT_ABBREV_RELATIVE = 262144; // 0x40000 field public static final int FORMAT_ABBREV_TIME = 16384; // 0x4000 field public static final int FORMAT_ABBREV_WEEKDAY = 32768; // 0x8000 - field public static final int FORMAT_CAP_AMPM = 256; // 0x100 - field public static final int FORMAT_CAP_MIDNIGHT = 4096; // 0x1000 - field public static final int FORMAT_CAP_NOON = 1024; // 0x400 - field public static final int FORMAT_CAP_NOON_MIDNIGHT = 5120; // 0x1400 + field public static final deprecated int FORMAT_CAP_AMPM = 256; // 0x100 + field public static final deprecated int FORMAT_CAP_MIDNIGHT = 4096; // 0x1000 + field public static final deprecated int FORMAT_CAP_NOON = 1024; // 0x400 + field public static final deprecated int FORMAT_CAP_NOON_MIDNIGHT = 5120; // 0x1400 field public static final int FORMAT_NO_MIDNIGHT = 2048; // 0x800 field public static final int FORMAT_NO_MONTH_DAY = 32; // 0x20 field public static final int FORMAT_NO_NOON = 512; // 0x200 - field public static final int FORMAT_NO_NOON_MIDNIGHT = 2560; // 0xa00 + field public static final deprecated int FORMAT_NO_NOON_MIDNIGHT = 2560; // 0xa00 field public static final int FORMAT_NO_YEAR = 8; // 0x8 field public static final int FORMAT_NUMERIC_DATE = 131072; // 0x20000 field public static final int FORMAT_SHOW_DATE = 16; // 0x10 @@ -22245,12 +22241,12 @@ package android.text.format { field public static final int FORMAT_SHOW_YEAR = 4; // 0x4 field public static final deprecated int FORMAT_UTC = 8192; // 0x2000 field public static final long HOUR_IN_MILLIS = 3600000L; // 0x36ee80L - field public static final java.lang.String HOUR_MINUTE_24 = "%H:%M"; - field public static final int LENGTH_LONG = 10; // 0xa - field public static final int LENGTH_MEDIUM = 20; // 0x14 - field public static final int LENGTH_SHORT = 30; // 0x1e - field public static final int LENGTH_SHORTER = 40; // 0x28 - field public static final int LENGTH_SHORTEST = 50; // 0x32 + field public static final deprecated java.lang.String HOUR_MINUTE_24 = "%H:%M"; + field public static final deprecated int LENGTH_LONG = 10; // 0xa + field public static final deprecated int LENGTH_MEDIUM = 20; // 0x14 + field public static final deprecated int LENGTH_SHORT = 30; // 0x1e + field public static final deprecated int LENGTH_SHORTER = 40; // 0x28 + field public static final deprecated int LENGTH_SHORTEST = 50; // 0x32 field public static final long MINUTE_IN_MILLIS = 60000L; // 0xea60L field public static final java.lang.String MONTH_DAY_FORMAT = "%-d"; field public static final java.lang.String MONTH_FORMAT = "%B"; @@ -22261,8 +22257,8 @@ package android.text.format { field public static final java.lang.String YEAR_FORMAT = "%Y"; field public static final java.lang.String YEAR_FORMAT_TWO_DIGITS = "%g"; field public static final long YEAR_IN_MILLIS = 31449600000L; // 0x7528ad000L - field public static final int[] sameMonthTable; - field public static final int[] sameYearTable; + field public static final deprecated int[] sameMonthTable; + field public static final deprecated int[] sameYearTable; } public final class Formatter { @@ -26058,9 +26054,13 @@ package android.view.accessibility { field public static final deprecated int MAX_TEXT_LENGTH = 500; // 0x1f4 field public static final int TYPES_ALL_MASK = -1; // 0xffffffff field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000 + field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000 + field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000 field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40 field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400 field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200 + field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000 + field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000 field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000 field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000 field public static final int TYPE_VIEW_CLICKED = 1; // 0x1 @@ -26926,35 +26926,6 @@ package android.view.textservice { package android.webkit { - public final deprecated class CacheManager { - ctor public CacheManager(); - method public static deprecated boolean cacheDisabled(); - method public static deprecated boolean endCacheTransaction(); - method public static deprecated android.webkit.CacheManager.CacheResult getCacheFile(java.lang.String, java.util.Map<java.lang.String, java.lang.String>); - method public static deprecated java.io.File getCacheFileBaseDir(); - method public static deprecated void saveCacheFile(java.lang.String, android.webkit.CacheManager.CacheResult); - method public static deprecated boolean startCacheTransaction(); - } - - public static deprecated class CacheManager.CacheResult { - ctor public CacheManager.CacheResult(); - method public java.lang.String getContentDisposition(); - method public long getContentLength(); - method public java.lang.String getETag(); - method public java.lang.String getEncoding(); - method public long getExpires(); - method public java.lang.String getExpiresString(); - method public int getHttpStatusCode(); - method public java.io.InputStream getInputStream(); - method public java.lang.String getLastModified(); - method public java.lang.String getLocalPath(); - method public java.lang.String getLocation(); - method public java.lang.String getMimeType(); - method public java.io.OutputStream getOutputStream(); - method public void setEncoding(java.lang.String); - method public void setInputStream(java.io.InputStream); - } - public class ConsoleMessage { ctor public ConsoleMessage(java.lang.String, java.lang.String, int, android.webkit.ConsoleMessage.MessageLevel); method public int lineNumber(); @@ -27120,7 +27091,6 @@ package android.webkit { public class WebHistoryItem implements java.lang.Cloneable { method public android.graphics.Bitmap getFavicon(); - method public deprecated int getId(); method public java.lang.String getOriginalUrl(); method public java.lang.String getTitle(); method public java.lang.String getUrl(); @@ -27181,7 +27151,6 @@ package android.webkit { method public boolean getMediaPlaybackRequiresUserGesture(); method public synchronized int getMinimumFontSize(); method public synchronized int getMinimumLogicalFontSize(); - method public deprecated boolean getNavDump(); method public synchronized android.webkit.WebSettings.PluginState getPluginState(); method public deprecated synchronized boolean getPluginsEnabled(); method public deprecated synchronized java.lang.String getPluginsPath(); @@ -27192,10 +27161,7 @@ package android.webkit { method public synchronized java.lang.String getStandardFontFamily(); method public deprecated synchronized android.webkit.WebSettings.TextSize getTextSize(); method public synchronized int getTextZoom(); - method public deprecated synchronized boolean getUseDoubleTree(); - method public deprecated boolean getUseWebViewBackgroundForOverscrollBackground(); method public synchronized boolean getUseWideViewPort(); - method public deprecated synchronized int getUserAgent(); method public synchronized java.lang.String getUserAgentString(); method public void setAllowContentAccess(boolean); method public void setAllowFileAccess(boolean); @@ -27231,7 +27197,6 @@ package android.webkit { method public void setMediaPlaybackRequiresUserGesture(boolean); method public synchronized void setMinimumFontSize(int); method public synchronized void setMinimumLogicalFontSize(int); - method public deprecated void setNavDump(boolean); method public void setNeedInitialFocus(boolean); method public synchronized void setPluginState(android.webkit.WebSettings.PluginState); method public deprecated synchronized void setPluginsEnabled(boolean); @@ -27246,10 +27211,8 @@ package android.webkit { method public void setSupportZoom(boolean); method public deprecated synchronized void setTextSize(android.webkit.WebSettings.TextSize); method public synchronized void setTextZoom(int); - method public deprecated synchronized void setUseDoubleTree(boolean); method public deprecated void setUseWebViewBackgroundForOverscrollBackground(boolean); method public synchronized void setUseWideViewPort(boolean); - method public deprecated synchronized void setUserAgent(int); method public synchronized void setUserAgentString(java.lang.String); method public synchronized boolean supportMultipleWindows(); method public boolean supportZoom(); @@ -27354,12 +27317,8 @@ package android.webkit { method public void clearSslPreferences(); method public void clearView(); method public android.webkit.WebBackForwardList copyBackForwardList(); - method public deprecated void debugDump(); method public void destroy(); - method public static deprecated void disablePlatformNotifications(); method public void documentHasImages(android.os.Message); - method public deprecated void emulateShiftHeld(); - method public static deprecated void enablePlatformNotifications(); method public static java.lang.String findAddress(java.lang.String); method public deprecated int findAll(java.lang.String); method public void findAllAsync(java.lang.String); @@ -27377,7 +27336,6 @@ package android.webkit { method public android.webkit.WebSettings getSettings(); method public java.lang.String getTitle(); method public java.lang.String getUrl(); - method public deprecated int getVisibleTitleHeight(); method public void goBack(); method public void goBackOrForward(int); method public void goForward(); @@ -27402,11 +27360,9 @@ package android.webkit { method public void removeJavascriptInterface(java.lang.String); method public void requestFocusNodeHref(android.os.Message); method public void requestImageRef(android.os.Message); - method public deprecated boolean restorePicture(android.os.Bundle, java.io.File); method public android.webkit.WebBackForwardList restoreState(android.os.Bundle); method public void resumeTimers(); method public void savePassword(java.lang.String, java.lang.String, java.lang.String); - method public deprecated boolean savePicture(android.os.Bundle, java.io.File); method public android.webkit.WebBackForwardList saveState(android.os.Bundle); method public void saveWebArchive(java.lang.String); method public void saveWebArchive(java.lang.String, boolean, android.webkit.ValueCallback<java.lang.String>); @@ -27418,7 +27374,6 @@ package android.webkit { method public void setInitialScale(int); method public deprecated void setMapTrackballToArrowKeys(boolean); method public void setNetworkAvailable(boolean); - method public deprecated void setPictureListener(android.webkit.WebView.PictureListener); method public void setVerticalScrollbarOverlay(boolean); method public void setWebChromeClient(android.webkit.WebChromeClient); method public void setWebViewClient(android.webkit.WebViewClient); @@ -27502,7 +27457,6 @@ package android.webkit { method public boolean hasFormData(); method public boolean hasHttpAuthUsernamePassword(); method public boolean hasUsernamePassword(); - field protected static final java.lang.String LOGTAG = "webviewdatabase"; } public class WebViewFragment extends android.app.Fragment { diff --git a/core/java/android/accounts/ChooseTypeAndAccountActivity.java b/core/java/android/accounts/ChooseTypeAndAccountActivity.java index 6b3b7fd..5358bc7 100644 --- a/core/java/android/accounts/ChooseTypeAndAccountActivity.java +++ b/core/java/android/accounts/ChooseTypeAndAccountActivity.java @@ -15,6 +15,8 @@ */ package android.accounts; +import com.google.android.collect.Sets; + import android.app.Activity; import android.content.Intent; import android.os.Bundle; @@ -105,6 +107,13 @@ public class ChooseTypeAndAccountActivity extends Activity private static final int SELECTED_ITEM_NONE = -1; + private Set<Account> mSetOfAllowableAccounts; + private Set<String> mSetOfRelevantAccountTypes; + private String mSelectedAccountName = null; + private boolean mSelectedAddNewAccount = false; + private boolean mAlwaysPromptForAccount = false; + private String mDescriptionOverride; + private ArrayList<Account> mAccounts; private int mPendingRequest = REQUEST_NULL; private Parcelable[] mExistingAccounts = null; @@ -120,22 +129,18 @@ public class ChooseTypeAndAccountActivity extends Activity } // save some items we use frequently - final AccountManager accountManager = AccountManager.get(this); final Intent intent = getIntent(); - String selectedAccountName = null; - boolean selectedAddNewAccount = false; - if (savedInstanceState != null) { mPendingRequest = savedInstanceState.getInt(KEY_INSTANCE_STATE_PENDING_REQUEST); mExistingAccounts = savedInstanceState.getParcelableArray(KEY_INSTANCE_STATE_EXISTING_ACCOUNTS); // Makes sure that any user selection is preserved across orientation changes. - selectedAccountName = savedInstanceState.getString( + mSelectedAccountName = savedInstanceState.getString( KEY_INSTANCE_STATE_SELECTED_ACCOUNT_NAME); - selectedAddNewAccount = savedInstanceState.getBoolean( + mSelectedAddNewAccount = savedInstanceState.getBoolean( KEY_INSTANCE_STATE_SELECTED_ADD_ACCOUNT, false); } else { mPendingRequest = REQUEST_NULL; @@ -144,85 +149,38 @@ public class ChooseTypeAndAccountActivity extends Activity // show is as pre-selected. Account selectedAccount = (Account) intent.getParcelableExtra(EXTRA_SELECTED_ACCOUNT); if (selectedAccount != null) { - selectedAccountName = selectedAccount.name; + mSelectedAccountName = selectedAccount.name; } } if (Log.isLoggable(TAG, Log.VERBOSE)) { - Log.v(TAG, "selected account name is " + selectedAccountName); + Log.v(TAG, "selected account name is " + mSelectedAccountName); } - // build an efficiently queryable map of account types to authenticator descriptions - final HashMap<String, AuthenticatorDescription> typeToAuthDescription = - new HashMap<String, AuthenticatorDescription>(); - for(AuthenticatorDescription desc : accountManager.getAuthenticatorTypes()) { - typeToAuthDescription.put(desc.type, desc); - } - - // Read the validAccounts, if present, and add them to the setOfAllowableAccounts - Set<Account> setOfAllowableAccounts = null; - final ArrayList<Parcelable> validAccounts = - intent.getParcelableArrayListExtra(EXTRA_ALLOWABLE_ACCOUNTS_ARRAYLIST); - if (validAccounts != null) { - setOfAllowableAccounts = new HashSet<Account>(validAccounts.size()); - for (Parcelable parcelable : validAccounts) { - setOfAllowableAccounts.add((Account)parcelable); - } - } - // An account type is relevant iff it is allowed by the caller and supported by the account - // manager. - Set<String> setOfRelevantAccountTypes = null; - final String[] allowedAccountTypes = - intent.getStringArrayExtra(EXTRA_ALLOWABLE_ACCOUNT_TYPES_STRING_ARRAY); - if (allowedAccountTypes != null) { - - setOfRelevantAccountTypes = new HashSet<String>(allowedAccountTypes.length); - Set<String> setOfAllowedAccountTypes = new HashSet<String>(allowedAccountTypes.length); - for (String type : allowedAccountTypes) { - setOfAllowedAccountTypes.add(type); - } - - AuthenticatorDescription[] descs = AccountManager.get(this).getAuthenticatorTypes(); - Set<String> supportedAccountTypes = new HashSet<String>(descs.length); - for (AuthenticatorDescription desc : descs) { - supportedAccountTypes.add(desc.type); - } + mSetOfAllowableAccounts = getAllowableAccountSet(intent); + mSetOfRelevantAccountTypes = getReleventAccountTypes(intent); + mAlwaysPromptForAccount = intent.getBooleanExtra(EXTRA_ALWAYS_PROMPT_FOR_ACCOUNT, false); + mDescriptionOverride = intent.getStringExtra(EXTRA_DESCRIPTION_TEXT_OVERRIDE); + } - for (String acctType : setOfAllowedAccountTypes) { - if (supportedAccountTypes.contains(acctType)) { - setOfRelevantAccountTypes.add(acctType); - } - } - } + @Override + protected void onResume() { + super.onResume(); + final AccountManager accountManager = AccountManager.get(this); - // Create a list of AccountInfo objects for each account that is allowable. Filter out - // accounts that don't match the allowable types, if provided, or that don't match the - // allowable accounts, if provided. - final Account[] accounts = accountManager.getAccounts(); - mAccounts = new ArrayList<Account>(accounts.length); - mSelectedItemIndex = SELECTED_ITEM_NONE; - for (Account account : accounts) { - if (setOfAllowableAccounts != null - && !setOfAllowableAccounts.contains(account)) { - continue; - } - if (setOfRelevantAccountTypes != null - && !setOfRelevantAccountTypes.contains(account.type)) { - continue; - } - if (account.name.equals(selectedAccountName)) { - mSelectedItemIndex = mAccounts.size(); - } - mAccounts.add(account); - } + mAccounts = getAcceptableAccountChoices(accountManager); + // In cases where the activity does not need to show an account picker, cut the chase + // and return the result directly. Eg: + // Single account -> select it directly + // No account -> launch add account activity directly if (mPendingRequest == REQUEST_NULL) { // If there are no relevant accounts and only one relevant account type go directly to // add account. Otherwise let the user choose. if (mAccounts.isEmpty()) { - if (setOfRelevantAccountTypes.size() == 1) { - runAddAccountForAuthenticator(setOfRelevantAccountTypes.iterator().next()); + if (mSetOfRelevantAccountTypes.size() == 1) { + runAddAccountForAuthenticator(mSetOfRelevantAccountTypes.iterator().next()); } else { startChooseAccountTypeActivity(); } @@ -230,61 +188,22 @@ public class ChooseTypeAndAccountActivity extends Activity } // if there is only one allowable account return it - if (!intent.getBooleanExtra(EXTRA_ALWAYS_PROMPT_FOR_ACCOUNT, false) - && mAccounts.size() == 1) { + if (!mAlwaysPromptForAccount && mAccounts.size() == 1) { Account account = mAccounts.get(0); setResultAndFinish(account.name, account.type); return; } } + String[] listItems = getListOfDisplayableOptions(mAccounts); + mSelectedItemIndex = getItemIndexToSelect( + mAccounts, mSelectedAccountName, mSelectedAddNewAccount); + // Cannot set content view until we know that mPendingRequest is not null, otherwise // would cause screen flicker. setContentView(R.layout.choose_type_and_account); - - // Override the description text if supplied - final String descriptionOverride = - intent.getStringExtra(EXTRA_DESCRIPTION_TEXT_OVERRIDE); - TextView descriptionView = (TextView) findViewById(R.id.description); - if (!TextUtils.isEmpty(descriptionOverride)) { - descriptionView.setText(descriptionOverride); - } else { - descriptionView.setVisibility(View.GONE); - } - - // List of options includes all accounts found together with "Add new account" as the - // last item in the list. - String[] listItems = new String[mAccounts.size() + 1]; - for (int i = 0; i < mAccounts.size(); i++) { - listItems[i] = mAccounts.get(i).name; - } - listItems[mAccounts.size()] = getResources().getString( - R.string.add_account_button_label); - - ListView list = (ListView) findViewById(android.R.id.list); - list.setAdapter(new ArrayAdapter<String>(this, - android.R.layout.simple_list_item_single_choice, listItems)); - list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); - list.setItemsCanFocus(false); - list.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView<?> parent, View v, int position, long id) { - mSelectedItemIndex = position; - mOkButton.setEnabled(true); - } - }); - - // If "Add account" option was previously selected by user, preserve it across - // orientation changes. - if (selectedAddNewAccount) { - mSelectedItemIndex = mAccounts.size(); - } - if (mSelectedItemIndex != SELECTED_ITEM_NONE) { - list.setItemChecked(mSelectedItemIndex, true); - if (Log.isLoggable(TAG, Log.VERBOSE)) { - Log.v(TAG, "List item " + mSelectedItemIndex + " should be selected"); - } - } + overrideDescriptionIfSupplied(mDescriptionOverride); + populateUIAccountList(listItems); // Only enable "OK" button if something has been selected. mOkButton = (Button) findViewById(android.R.id.button2); @@ -480,4 +399,137 @@ public class ChooseTypeAndAccountActivity extends Activity startActivityForResult(intent, REQUEST_CHOOSE_TYPE); mPendingRequest = REQUEST_CHOOSE_TYPE; } + + /** + * @return a value between 0 (inclusive) and accounts.size() (inclusive) or SELECTED_ITEM_NONE. + * An index value of accounts.size() indicates 'Add account' option. + */ + private int getItemIndexToSelect(ArrayList<Account> accounts, String selectedAccountName, + boolean selectedAddNewAccount) { + // If "Add account" option was previously selected by user, preserve it across + // orientation changes. + if (selectedAddNewAccount) { + return accounts.size(); + } + // search for the selected account name if present + for (int i = 0; i < accounts.size(); i++) { + if (accounts.get(i).name.equals(selectedAccountName)) { + return i; + } + } + // no account selected. + return SELECTED_ITEM_NONE; + } + + private String[] getListOfDisplayableOptions(ArrayList<Account> accounts) { + // List of options includes all accounts found together with "Add new account" as the + // last item in the list. + String[] listItems = new String[accounts.size() + 1]; + for (int i = 0; i < accounts.size(); i++) { + listItems[i] = accounts.get(i).name; + } + listItems[accounts.size()] = getResources().getString( + R.string.add_account_button_label); + return listItems; + } + + /** + * Create a list of Account objects for each account that is acceptable. Filter out + * accounts that don't match the allowable types, if provided, or that don't match the + * allowable accounts, if provided. + */ + private ArrayList<Account> getAcceptableAccountChoices(AccountManager accountManager) { + final Account[] accounts = accountManager.getAccounts(); + ArrayList<Account> accountsToPopulate = new ArrayList<Account>(accounts.length); + for (Account account : accounts) { + if (mSetOfAllowableAccounts != null + && !mSetOfAllowableAccounts.contains(account)) { + continue; + } + if (mSetOfRelevantAccountTypes != null + && !mSetOfRelevantAccountTypes.contains(account.type)) { + continue; + } + accountsToPopulate.add(account); + } + return accountsToPopulate; + } + + /** + * Return a set of account types speficied by the intent as well as supported by the + * AccountManager. + */ + private Set<String> getReleventAccountTypes(final Intent intent) { + // An account type is relevant iff it is allowed by the caller and supported by the account + // manager. + Set<String> setOfRelevantAccountTypes = null; + final String[] allowedAccountTypes = + intent.getStringArrayExtra(EXTRA_ALLOWABLE_ACCOUNT_TYPES_STRING_ARRAY); + if (allowedAccountTypes != null) { + setOfRelevantAccountTypes = Sets.newHashSet(allowedAccountTypes); + AuthenticatorDescription[] descs = AccountManager.get(this).getAuthenticatorTypes(); + Set<String> supportedAccountTypes = new HashSet<String>(descs.length); + for (AuthenticatorDescription desc : descs) { + supportedAccountTypes.add(desc.type); + } + setOfRelevantAccountTypes.retainAll(supportedAccountTypes); + } + return setOfRelevantAccountTypes; + } + + /** + * Returns a set of whitelisted accounts given by the intent or null if none specified by the + * intent. + */ + private Set<Account> getAllowableAccountSet(final Intent intent) { + Set<Account> setOfAllowableAccounts = null; + final ArrayList<Parcelable> validAccounts = + intent.getParcelableArrayListExtra(EXTRA_ALLOWABLE_ACCOUNTS_ARRAYLIST); + if (validAccounts != null) { + setOfAllowableAccounts = new HashSet<Account>(validAccounts.size()); + for (Parcelable parcelable : validAccounts) { + setOfAllowableAccounts.add((Account)parcelable); + } + } + return setOfAllowableAccounts; + } + + /** + * Overrides the description text view for the picker activity if specified by the intent. + * If not specified then makes the description invisible. + */ + private void overrideDescriptionIfSupplied(String descriptionOverride) { + TextView descriptionView = (TextView) findViewById(R.id.description); + if (!TextUtils.isEmpty(descriptionOverride)) { + descriptionView.setText(descriptionOverride); + } else { + descriptionView.setVisibility(View.GONE); + } + } + + /** + * Populates the UI ListView with the given list of items and selects an item + * based on {@code mSelectedItemIndex} member variable. + */ + private final void populateUIAccountList(String[] listItems) { + ListView list = (ListView) findViewById(android.R.id.list); + list.setAdapter(new ArrayAdapter<String>(this, + android.R.layout.simple_list_item_single_choice, listItems)); + list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); + list.setItemsCanFocus(false); + list.setOnItemClickListener( + new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView<?> parent, View v, int position, long id) { + mSelectedItemIndex = position; + mOkButton.setEnabled(true); + } + }); + if (mSelectedItemIndex != SELECTED_ITEM_NONE) { + list.setItemChecked(mSelectedItemIndex, true); + if (Log.isLoggable(TAG, Log.VERBOSE)) { + Log.v(TAG, "List item " + mSelectedItemIndex + " should be selected"); + } + } + } } diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 1cd5fa2..cb4d4a1 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -84,7 +84,6 @@ import android.view.Window; import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.renderscript.RenderScript; -import android.security.AndroidKeyStoreProvider; import com.android.internal.os.BinderInternal; import com.android.internal.os.RuntimeInit; @@ -4891,8 +4890,6 @@ public final class ActivityThread { // Set the reporter for event logging in libcore EventLogger.setReporter(new EventLoggingReporter()); - Security.addProvider(new AndroidKeyStoreProvider()); - Process.setArgV0("<pre-initialized>"); Looper.prepareMainLooper(); diff --git a/core/java/android/appwidget/AppWidgetHost.java b/core/java/android/appwidget/AppWidgetHost.java index c76bf91..51a81c5 100644 --- a/core/java/android/appwidget/AppWidgetHost.java +++ b/core/java/android/appwidget/AppWidgetHost.java @@ -24,8 +24,10 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.UserHandle; import android.util.DisplayMetrics; import android.util.TypedValue; import android.widget.RemoteViews; @@ -115,18 +117,22 @@ public class AppWidgetHost { private OnClickHandler mOnClickHandler; public AppWidgetHost(Context context, int hostId) { - this(context, hostId, null); + this(context, hostId, null, Looper.getMainLooper()); } /** * @hide */ - public AppWidgetHost(Context context, int hostId, OnClickHandler handler) { + public AppWidgetHost(Context context, int hostId, OnClickHandler handler, Looper looper) { mContext = context; mHostId = hostId; mOnClickHandler = handler; - mHandler = new UpdateHandler(context.getMainLooper()); + mHandler = new UpdateHandler(looper); mDisplayMetrics = context.getResources().getDisplayMetrics(); + bindService(); + } + + private static void bindService() { synchronized (sServiceLock) { if (sService == null) { IBinder b = ServiceManager.getService(Context.APPWIDGET_SERVICE); @@ -190,6 +196,32 @@ public class AppWidgetHost { } /** + * Get a appWidgetId for a host in the calling process. + * + * @return a appWidgetId + * @hide + */ + public static int allocateAppWidgetIdForHost(String packageName, int hostId) { + checkCallerIsSystem(); + try { + if (sService == null) { + bindService(); + } + return sService.allocateAppWidgetId(packageName, hostId); + } catch (RemoteException e) { + throw new RuntimeException("system server dead?", e); + } + } + + private static void checkCallerIsSystem() { + int uid = Process.myUid(); + if (UserHandle.getAppId(uid) == Process.SYSTEM_UID || uid == 0) { + return; + } + throw new SecurityException("Disallowed call for uid " + uid); + } + + /** * Stop listening to changes for this AppWidget. */ public void deleteAppWidgetId(int appWidgetId) { @@ -205,6 +237,22 @@ public class AppWidgetHost { } /** + * Stop listening to changes for this AppWidget. + * @hide + */ + public static void deleteAppWidgetIdForHost(int appWidgetId) { + checkCallerIsSystem(); + try { + if (sService == null) { + bindService(); + } + sService.deleteAppWidgetId(appWidgetId); + } catch (RemoteException e) { + throw new RuntimeException("system server dead?", e); + } + } + + /** * Remove all records about this host from the AppWidget manager. * <ul> * <li>Call this when initializing your database, as it might be because of a data wipe.</li> diff --git a/core/java/android/appwidget/AppWidgetManager.java b/core/java/android/appwidget/AppWidgetManager.java index 100a2b8..6fb6dc4 100644 --- a/core/java/android/appwidget/AppWidgetManager.java +++ b/core/java/android/appwidget/AppWidgetManager.java @@ -216,6 +216,28 @@ public class AppWidgetManager { public static final String EXTRA_CUSTOM_EXTRAS = "customExtras"; /** + * An intent extra to pass to the AppWidget picker which allows the picker to filter + * the list based on the {@link AppWidgetProviderInfo#widgetCategory}. + * + * @hide + */ + public static final String EXTRA_CATEGORY_FILTER = "categoryFilter"; + + /** + * An intent extra to pass to the AppWidget picker which allows the picker to filter + * the list based on the {@link AppWidgetProviderInfo#widgetFeatures}. + * @hide + */ + public static final String EXTRA_FEATURES_FILTER = "featuresFilter"; + + /** + * An intent extra to pass to the AppWidget picker to specify whether or not to sort + * the list of caller-specified extra AppWidgets along with the rest of the AppWidgets + * @hide + */ + public static final String EXTRA_CUSTOM_SORT = "customSort"; + + /** * A sentiel value that the AppWidget manager will never return as a appWidgetId. */ public static final int INVALID_APPWIDGET_ID = 0; diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 15dec3e..fad3e10 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1473,7 +1473,7 @@ public class Intent implements Parcelable, Cloneable { * Broadcast Action: A new application package has been installed on the * device. The data contains the name of the package. Note that the * newly installed package does <em>not</em> receive this broadcast. - * <p>My include the following extras: + * <p>May include the following extras: * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * <li> {@link #EXTRA_REPLACING} is set to true if this is following @@ -1489,7 +1489,7 @@ public class Intent implements Parcelable, Cloneable { * Broadcast Action: A new version of an application package has been * installed, replacing an existing version that was previously installed. * The data contains the name of the package. - * <p>My include the following extras: + * <p>May include the following extras: * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * </ul> diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 5399583..4784d7f 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1151,6 +1151,22 @@ public abstract class PackageManager { = "android.content.pm.extra.VERIFICATION_INSTALL_FLAGS"; /** + * Extra field name for the uid of who is requesting to install + * the package. + * + * @hide + */ + public static final String EXTRA_VERIFICATION_INSTALLER_UID + = "android.content.pm.extra.VERIFICATION_INSTALLER_UID"; + + /** + * Extra field name for the package name of a package pending verification. + * + * @hide + */ + public static final String EXTRA_VERIFICATION_PACKAGE_NAME + = "android.content.pm.extra.VERIFICATION_PACKAGE_NAME"; + /** * Extra field name for the result of a verification, either * {@link #VERIFICATION_ALLOW}, or {@link #VERIFICATION_REJECT}. * Passed to package verifiers after a package is verified. @@ -1159,6 +1175,14 @@ public abstract class PackageManager { = "android.content.pm.extra.VERIFICATION_RESULT"; /** + * Extra field name for the version code of a package pending verification. + * + * @hide + */ + public static final String EXTRA_VERIFICATION_VERSION_CODE + = "android.content.pm.extra.VERIFICATION_VERSION_CODE"; + + /** * Retrieve overall information about an application package that is * installed on the system. * <p> diff --git a/core/java/android/content/pm/VerificationParams.java b/core/java/android/content/pm/VerificationParams.java index 9bec87e..6454de0 100644 --- a/core/java/android/content/pm/VerificationParams.java +++ b/core/java/android/content/pm/VerificationParams.java @@ -39,6 +39,9 @@ public class VerificationParams implements Parcelable { /** HTTP referrer URI associated with the originatingURI. */ private final Uri mReferrer; + /** UID of application requesting the install */ + private int mInstallerUid; + /** * An object that holds the digest of the package which can be used to * verify ownership. @@ -63,6 +66,7 @@ public class VerificationParams implements Parcelable { mOriginatingURI = originatingURI; mReferrer = referrer; mManifestDigest = manifestDigest; + mInstallerUid = -1; } public Uri getVerificationURI() { @@ -81,6 +85,15 @@ public class VerificationParams implements Parcelable { return mManifestDigest; } + /** @return -1 when not set */ + public int getInstallerUid() { + return mInstallerUid; + } + + public void setInstallerUid(int uid) { + mInstallerUid = uid; + } + @Override public int describeContents() { return 0; @@ -126,6 +139,10 @@ public class VerificationParams implements Parcelable { return false; } + if (mInstallerUid != other.mInstallerUid) { + return false; + } + return true; } @@ -137,6 +154,7 @@ public class VerificationParams implements Parcelable { hash += 7 * (mOriginatingURI==null?1:mOriginatingURI.hashCode()); hash += 11 * (mReferrer==null?1:mReferrer.hashCode()); hash += 13 * (mManifestDigest==null?1:mManifestDigest.hashCode()); + hash += 17 * mInstallerUid; return hash; } @@ -153,6 +171,8 @@ public class VerificationParams implements Parcelable { sb.append(mReferrer.toString()); sb.append(",mManifestDigest="); sb.append(mManifestDigest.toString()); + sb.append(",mInstallerUid="); + sb.append(mInstallerUid); sb.append('}'); return sb.toString(); @@ -164,6 +184,7 @@ public class VerificationParams implements Parcelable { dest.writeParcelable(mOriginatingURI, 0); dest.writeParcelable(mReferrer, 0); dest.writeParcelable(mManifestDigest, 0); + dest.writeInt(mInstallerUid); } @@ -172,6 +193,7 @@ public class VerificationParams implements Parcelable { mOriginatingURI = source.readParcelable(Uri.class.getClassLoader()); mReferrer = source.readParcelable(Uri.class.getClassLoader()); mManifestDigest = source.readParcelable(ManifestDigest.class.getClassLoader()); + mInstallerUid = source.readInt(); } public static final Parcelable.Creator<VerificationParams> CREATOR = diff --git a/core/java/android/net/INetworkPolicyManager.aidl b/core/java/android/net/INetworkPolicyManager.aidl index 3250ae7..df6057e 100644 --- a/core/java/android/net/INetworkPolicyManager.aidl +++ b/core/java/android/net/INetworkPolicyManager.aidl @@ -30,9 +30,9 @@ import android.net.NetworkTemplate; interface INetworkPolicyManager { /** Control UID policies. */ - void setAppPolicy(int appId, int policy); - int getAppPolicy(int appId); - int[] getAppsWithPolicy(int policy); + void setUidPolicy(int uid, int policy); + int getUidPolicy(int uid); + int[] getUidsWithPolicy(int policy); boolean isUidForeground(int uid); diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java index 07bfd4b..2cd1f9b 100644 --- a/core/java/android/net/NetworkPolicyManager.java +++ b/core/java/android/net/NetworkPolicyManager.java @@ -26,6 +26,7 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.Signature; import android.os.RemoteException; +import android.os.UserHandle; import android.text.format.Time; import com.google.android.collect.Sets; @@ -72,29 +73,29 @@ public class NetworkPolicyManager { } /** - * Set policy flags for specific application. + * Set policy flags for specific UID. * * @param policy {@link #POLICY_NONE} or combination of flags like * {@link #POLICY_REJECT_METERED_BACKGROUND}. */ - public void setAppPolicy(int appId, int policy) { + public void setUidPolicy(int uid, int policy) { try { - mService.setAppPolicy(appId, policy); + mService.setUidPolicy(uid, policy); } catch (RemoteException e) { } } - public int getAppPolicy(int appId) { + public int getUidPolicy(int uid) { try { - return mService.getAppPolicy(appId); + return mService.getUidPolicy(uid); } catch (RemoteException e) { return POLICY_NONE; } } - public int[] getAppsWithPolicy(int policy) { + public int[] getUidsWithPolicy(int policy) { try { - return mService.getAppsWithPolicy(policy); + return mService.getUidsWithPolicy(policy); } catch (RemoteException e) { return new int[0]; } @@ -236,8 +237,7 @@ public class NetworkPolicyManager { @Deprecated public static boolean isUidValidForPolicy(Context context, int uid) { // first, quick-reject non-applications - if (uid < android.os.Process.FIRST_APPLICATION_UID - || uid > android.os.Process.LAST_APPLICATION_UID) { + if (!UserHandle.isApp(uid)) { return false; } diff --git a/core/java/android/net/http/CertificateChainValidator.java b/core/java/android/net/http/CertificateChainValidator.java index 6ad8fe3..f66075d 100644 --- a/core/java/android/net/http/CertificateChainValidator.java +++ b/core/java/android/net/http/CertificateChainValidator.java @@ -168,7 +168,13 @@ public class CertificateChainValidator { } try { - SSLParametersImpl.getDefaultTrustManager().checkServerTrusted(chain, authType); + X509TrustManager x509TrustManager = SSLParametersImpl.getDefaultTrustManager(); + if (x509TrustManager instanceof TrustManagerImpl) { + TrustManagerImpl trustManager = (TrustManagerImpl) x509TrustManager; + trustManager.checkServerTrusted(chain, authType, domain); + } else { + x509TrustManager.checkServerTrusted(chain, authType); + } return null; // No errors. } catch (GeneralSecurityException e) { if (HttpLog.LOGV) { diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java index 22994ff..cc96152 100644 --- a/core/java/android/os/UserHandle.java +++ b/core/java/android/os/UserHandle.java @@ -87,15 +87,19 @@ public final class UserHandle implements Parcelable { /** @hide */ public static final boolean isIsolated(int uid) { - uid = getAppId(uid); - return uid >= Process.FIRST_ISOLATED_UID && uid <= Process.LAST_ISOLATED_UID; + if (uid > 0) { + final int appId = getAppId(uid); + return appId >= Process.FIRST_ISOLATED_UID && appId <= Process.LAST_ISOLATED_UID; + } else { + return false; + } } /** @hide */ public static boolean isApp(int uid) { if (uid > 0) { - uid = UserHandle.getAppId(uid); - return uid >= Process.FIRST_APPLICATION_UID && uid <= Process.LAST_APPLICATION_UID; + final int appId = getAppId(uid); + return appId >= Process.FIRST_APPLICATION_UID && appId <= Process.LAST_APPLICATION_UID; } else { return false; } diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 9ea523d..f3dbecb 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -754,22 +754,29 @@ public final class Settings { } public String getStringForUser(ContentResolver cr, String name, final int userHandle) { - long newValuesVersion = SystemProperties.getLong(mVersionSystemProperty, 0); + final boolean isSelf = (userHandle == UserHandle.myUserId()); + if (isSelf) { + long newValuesVersion = SystemProperties.getLong(mVersionSystemProperty, 0); - synchronized (this) { - if (mValuesVersion != newValuesVersion) { - if (LOCAL_LOGV || false) { - Log.v(TAG, "invalidate [" + mUri.getLastPathSegment() + "]: current " + - newValuesVersion + " != cached " + mValuesVersion); - } + // Our own user's settings data uses a client-side cache + synchronized (this) { + if (mValuesVersion != newValuesVersion) { + if (LOCAL_LOGV || false) { + Log.v(TAG, "invalidate [" + mUri.getLastPathSegment() + "]: current " + + newValuesVersion + " != cached " + mValuesVersion); + } - mValues.clear(); - mValuesVersion = newValuesVersion; - } + mValues.clear(); + mValuesVersion = newValuesVersion; + } - if (mValues.containsKey(name)) { - return mValues.get(name); // Could be null, that's OK -- negative caching + if (mValues.containsKey(name)) { + return mValues.get(name); // Could be null, that's OK -- negative caching + } } + } else { + if (LOCAL_LOGV) Log.v(TAG, "get setting for user " + userHandle + + " by user " + UserHandle.myUserId() + " so skipping cache"); } IContentProvider cp = lazyGetProvider(cr); @@ -788,8 +795,15 @@ public final class Settings { Bundle b = cp.call(mCallGetCommand, name, args); if (b != null) { String value = b.getPairValue(); - synchronized (this) { - mValues.put(name, value); + // Don't update our cache for reads of other users' data + if (isSelf) { + synchronized (this) { + mValues.put(name, value); + } + } else { + if (LOCAL_LOGV) Log.i(TAG, "call-query of user " + userHandle + + " by " + UserHandle.myUserId() + + " so not updating cache"); } return value; } @@ -3187,6 +3201,20 @@ public final class Settings { public static final String LOCK_SCREEN_OWNER_INFO = "lock_screen_owner_info"; /** + * Id of the time appwidget on the lockscreen, or -1 if none + * @hide + */ + public static final String LOCK_SCREEN_CLOCK_APPWIDGET_ID = + "lock_screen_clock_appwidget_id"; + + /** + * Id of the user-selected appwidget on the lockscreen, or -1 if none + * @hide + */ + public static final String LOCK_SCREEN_USER_SELECTED_APPWIDGET_ID = + "lock_screen_user_selected_appwidget_id"; + + /** * This preference enables showing the owner info on LockScren. * @hide */ @@ -3535,46 +3563,51 @@ public final class Settings { public static final String TTS_ENABLED_PLUGINS = "tts_enabled_plugins"; /** - * Whether to notify the user of open networks. - * <p> - * If not connected and the scan results have an open network, we will - * put this notification up. If we attempt to connect to a network or - * the open network(s) disappear, we remove the notification. When we - * show the notification, we will not show it again for - * {@link android.provider.Settings.Secure#WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY} time. + * @deprecated Use {@link android.provider.Settings.Global#WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON} + * instead. */ + @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = - "wifi_networks_available_notification_on"; + Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON; /** + * @deprecated Moved to Global namespace * {@hide} */ + @Deprecated public static final String WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON = - "wimax_networks_available_notification_on"; + Global.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON; /** - * Delay (in seconds) before repeating the Wi-Fi networks available notification. - * Connecting to a network will reset the timer. + * @deprecated Use {@link android.provider.Settings.Global#WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY} + * instead. */ + @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = - "wifi_networks_available_repeat_delay"; + Global.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY; /** - * 802.11 country code in ISO 3166 format + * @deprecated Use {@link android.provider.Settings.Global#WIFI_COUNTRY_CODE} + * instead. * @hide */ - public static final String WIFI_COUNTRY_CODE = "wifi_country_code"; + @Deprecated + public static final String WIFI_COUNTRY_CODE = Global.WIFI_COUNTRY_CODE; /** - * When the number of open networks exceeds this number, the - * least-recently-used excess networks will be removed. + * @deprecated Use {@link android.provider.Settings.Global#WIFI_NUM_OPEN_NETWORKS_KEPT} + * instead. */ - public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; + @Deprecated + public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = + Global.WIFI_NUM_OPEN_NETWORKS_KEPT; /** - * Whether the Wi-Fi should be on. Only the Wi-Fi service should touch this. + * @deprecated Use {@link android.provider.Settings.Global#WIFI_ON} + * instead. */ - public static final String WIFI_ON = "wifi_on"; + @Deprecated + public static final String WIFI_ON = Global.WIFI_ON; /** * Used to save the Wifi_ON state prior to tethering. @@ -3582,8 +3615,10 @@ public final class Settings { * the user turns off tethering. * * @hide + * @deprecated moved to Global */ - public static final String WIFI_SAVED_STATE = "wifi_saved_state"; + @Deprecated + public static final String WIFI_SAVED_STATE = Global.WIFI_SAVED_STATE; /** * AP SSID @@ -4192,24 +4227,30 @@ public final class Settings { * When idle, it is possible for the device to be switched from Wi-Fi to * the mobile data network. * @hide + * @deprecated Moved to Global */ - public static final String WIFI_IDLE_MS = "wifi_idle_ms"; + @Deprecated + public static final String WIFI_IDLE_MS = Global.WIFI_IDLE_MS; /** * The interval in milliseconds to issue wake up scans when wifi needs * to connect. This is necessary to connect to an access point when * device is on the move and the screen is off. * @hide + * @deprecated Moved to Global */ + @Deprecated public static final String WIFI_FRAMEWORK_SCAN_INTERVAL_MS = - "wifi_framework_scan_interval_ms"; + Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS; /** * The interval in milliseconds to scan as used by the wifi supplicant * @hide + * @deprecated Moved to Global */ + @Deprecated public static final String WIFI_SUPPLICANT_SCAN_INTERVAL_MS = - "wifi_supplicant_scan_interval_ms"; + Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS; /** * @deprecated Moved to Settings.Global diff --git a/core/java/android/text/format/DateUtils.java b/core/java/android/text/format/DateUtils.java index 211453d..0babcc5 100644 --- a/core/java/android/text/format/DateUtils.java +++ b/core/java/android/text/format/DateUtils.java @@ -29,6 +29,8 @@ import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; +import libcore.icu.LocaleData; + /** * This class contains various date-related utilities for creating text for things like * elapsed time and date ranges, strings for days of the week and months, and AM/PM text etc. @@ -36,102 +38,6 @@ import java.util.TimeZone; public class DateUtils { private static final Object sLock = new Object(); - private static final int[] sDaysLong = new int[] { - com.android.internal.R.string.day_of_week_long_sunday, - com.android.internal.R.string.day_of_week_long_monday, - com.android.internal.R.string.day_of_week_long_tuesday, - com.android.internal.R.string.day_of_week_long_wednesday, - com.android.internal.R.string.day_of_week_long_thursday, - com.android.internal.R.string.day_of_week_long_friday, - com.android.internal.R.string.day_of_week_long_saturday, - }; - private static final int[] sDaysMedium = new int[] { - com.android.internal.R.string.day_of_week_medium_sunday, - com.android.internal.R.string.day_of_week_medium_monday, - com.android.internal.R.string.day_of_week_medium_tuesday, - com.android.internal.R.string.day_of_week_medium_wednesday, - com.android.internal.R.string.day_of_week_medium_thursday, - com.android.internal.R.string.day_of_week_medium_friday, - com.android.internal.R.string.day_of_week_medium_saturday, - }; - private static final int[] sDaysShort = new int[] { - com.android.internal.R.string.day_of_week_short_sunday, - com.android.internal.R.string.day_of_week_short_monday, - com.android.internal.R.string.day_of_week_short_tuesday, - com.android.internal.R.string.day_of_week_short_wednesday, - com.android.internal.R.string.day_of_week_short_thursday, - com.android.internal.R.string.day_of_week_short_friday, - com.android.internal.R.string.day_of_week_short_saturday, - }; - private static final int[] sDaysShortest = new int[] { - com.android.internal.R.string.day_of_week_shortest_sunday, - com.android.internal.R.string.day_of_week_shortest_monday, - com.android.internal.R.string.day_of_week_shortest_tuesday, - com.android.internal.R.string.day_of_week_shortest_wednesday, - com.android.internal.R.string.day_of_week_shortest_thursday, - com.android.internal.R.string.day_of_week_shortest_friday, - com.android.internal.R.string.day_of_week_shortest_saturday, - }; - private static final int[] sMonthsStandaloneLong = new int [] { - com.android.internal.R.string.month_long_standalone_january, - com.android.internal.R.string.month_long_standalone_february, - com.android.internal.R.string.month_long_standalone_march, - com.android.internal.R.string.month_long_standalone_april, - com.android.internal.R.string.month_long_standalone_may, - com.android.internal.R.string.month_long_standalone_june, - com.android.internal.R.string.month_long_standalone_july, - com.android.internal.R.string.month_long_standalone_august, - com.android.internal.R.string.month_long_standalone_september, - com.android.internal.R.string.month_long_standalone_october, - com.android.internal.R.string.month_long_standalone_november, - com.android.internal.R.string.month_long_standalone_december, - }; - private static final int[] sMonthsLong = new int [] { - com.android.internal.R.string.month_long_january, - com.android.internal.R.string.month_long_february, - com.android.internal.R.string.month_long_march, - com.android.internal.R.string.month_long_april, - com.android.internal.R.string.month_long_may, - com.android.internal.R.string.month_long_june, - com.android.internal.R.string.month_long_july, - com.android.internal.R.string.month_long_august, - com.android.internal.R.string.month_long_september, - com.android.internal.R.string.month_long_october, - com.android.internal.R.string.month_long_november, - com.android.internal.R.string.month_long_december, - }; - private static final int[] sMonthsMedium = new int [] { - com.android.internal.R.string.month_medium_january, - com.android.internal.R.string.month_medium_february, - com.android.internal.R.string.month_medium_march, - com.android.internal.R.string.month_medium_april, - com.android.internal.R.string.month_medium_may, - com.android.internal.R.string.month_medium_june, - com.android.internal.R.string.month_medium_july, - com.android.internal.R.string.month_medium_august, - com.android.internal.R.string.month_medium_september, - com.android.internal.R.string.month_medium_october, - com.android.internal.R.string.month_medium_november, - com.android.internal.R.string.month_medium_december, - }; - private static final int[] sMonthsShortest = new int [] { - com.android.internal.R.string.month_shortest_january, - com.android.internal.R.string.month_shortest_february, - com.android.internal.R.string.month_shortest_march, - com.android.internal.R.string.month_shortest_april, - com.android.internal.R.string.month_shortest_may, - com.android.internal.R.string.month_shortest_june, - com.android.internal.R.string.month_shortest_july, - com.android.internal.R.string.month_shortest_august, - com.android.internal.R.string.month_shortest_september, - com.android.internal.R.string.month_shortest_october, - com.android.internal.R.string.month_shortest_november, - com.android.internal.R.string.month_shortest_december, - }; - private static final int[] sAmPm = new int[] { - com.android.internal.R.string.am, - com.android.internal.R.string.pm, - }; private static Configuration sLastConfig; private static java.text.DateFormat sStatusTimeFormat; private static String sElapsedFormatMMSS; @@ -161,12 +67,17 @@ public class DateUtils public static final int FORMAT_NO_YEAR = 0x00008; public static final int FORMAT_SHOW_DATE = 0x00010; public static final int FORMAT_NO_MONTH_DAY = 0x00020; + @Deprecated public static final int FORMAT_12HOUR = 0x00040; + @Deprecated public static final int FORMAT_24HOUR = 0x00080; + @Deprecated public static final int FORMAT_CAP_AMPM = 0x00100; public static final int FORMAT_NO_NOON = 0x00200; + @Deprecated public static final int FORMAT_CAP_NOON = 0x00400; public static final int FORMAT_NO_MIDNIGHT = 0x00800; + @Deprecated public static final int FORMAT_CAP_MIDNIGHT = 0x01000; /** * @deprecated Use @@ -181,19 +92,25 @@ public class DateUtils public static final int FORMAT_NUMERIC_DATE = 0x20000; public static final int FORMAT_ABBREV_RELATIVE = 0x40000; public static final int FORMAT_ABBREV_ALL = 0x80000; + @Deprecated public static final int FORMAT_CAP_NOON_MIDNIGHT = (FORMAT_CAP_NOON | FORMAT_CAP_MIDNIGHT); + @Deprecated public static final int FORMAT_NO_NOON_MIDNIGHT = (FORMAT_NO_NOON | FORMAT_NO_MIDNIGHT); // Date and time format strings that are constant and don't need to be // translated. /** * This is not actually the preferred 24-hour date format in all locales. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final String HOUR_MINUTE_24 = "%H:%M"; public static final String MONTH_FORMAT = "%B"; /** * This is not actually a useful month name in all locales. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final String ABBREV_MONTH_FORMAT = "%b"; public static final String NUMERIC_MONTH_FORMAT = "%m"; public static final String MONTH_DAY_FORMAT = "%-d"; @@ -207,6 +124,7 @@ public class DateUtils // The index is constructed from a bit-wise OR of the boolean values: // {showTime, showYear, showWeekDay}. For example, if showYear and // showWeekDay are both true, then the index would be 3. + /** @deprecated do not use. */ public static final int sameYearTable[] = { com.android.internal.R.string.same_year_md1_md2, com.android.internal.R.string.same_year_wday1_md1_wday2_md2, @@ -233,6 +151,7 @@ public class DateUtils // The index is constructed from a bit-wise OR of the boolean values: // {showTime, showYear, showWeekDay}. For example, if showYear and // showWeekDay are both true, then the index would be 3. + /** @deprecated do not use. */ public static final int sameMonthTable[] = { com.android.internal.R.string.same_month_md1_md2, com.android.internal.R.string.same_month_wday1_md1_wday2_md2, @@ -259,7 +178,9 @@ public class DateUtils * * @more <p> * e.g. "Sunday" or "January" + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final int LENGTH_LONG = 10; /** @@ -268,7 +189,9 @@ public class DateUtils * * @more <p> * e.g. "Sun" or "Jan" + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final int LENGTH_MEDIUM = 20; /** @@ -278,14 +201,18 @@ public class DateUtils * <p>e.g. "Su" or "Jan" * <p>In most languages, the results returned for LENGTH_SHORT will be the same as * the results returned for {@link #LENGTH_MEDIUM}. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final int LENGTH_SHORT = 30; /** * Request an even shorter abbreviated version of the name. * Do not use this. Currently this will always return the same result * as {@link #LENGTH_SHORT}. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final int LENGTH_SHORTER = 40; /** @@ -295,7 +222,9 @@ public class DateUtils * <p>e.g. "S", "T", "T" or "J" * <p>In some languages, the results returned for LENGTH_SHORTEST will be the same as * the results returned for {@link #LENGTH_SHORT}. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static final int LENGTH_SHORTEST = 50; /** @@ -309,20 +238,21 @@ public class DateUtils * Undefined lengths will return {@link #LENGTH_MEDIUM} * but may return something different in the future. * @throws IndexOutOfBoundsException if the dayOfWeek is out of bounds. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static String getDayOfWeekString(int dayOfWeek, int abbrev) { - int[] list; + LocaleData d = LocaleData.get(Locale.getDefault()); + String[] names; switch (abbrev) { - case LENGTH_LONG: list = sDaysLong; break; - case LENGTH_MEDIUM: list = sDaysMedium; break; - case LENGTH_SHORT: list = sDaysShort; break; - case LENGTH_SHORTER: list = sDaysShort; break; - case LENGTH_SHORTEST: list = sDaysShortest; break; - default: list = sDaysMedium; break; + case LENGTH_LONG: names = d.longWeekdayNames; break; + case LENGTH_MEDIUM: names = d.shortWeekdayNames; break; + case LENGTH_SHORT: names = d.shortWeekdayNames; break; // TODO + case LENGTH_SHORTER: names = d.shortWeekdayNames; break; // TODO + case LENGTH_SHORTEST: names = d.tinyWeekdayNames; break; + default: names = d.shortWeekdayNames; break; } - - Resources r = Resources.getSystem(); - return r.getString(list[dayOfWeek - Calendar.SUNDAY]); + return names[dayOfWeek]; } /** @@ -330,10 +260,11 @@ public class DateUtils * @param ampm Either {@link Calendar#AM Calendar.AM} or {@link Calendar#PM Calendar.PM}. * @throws IndexOutOfBoundsException if the ampm is out of bounds. * @return Localized version of "AM" or "PM". + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static String getAMPMString(int ampm) { - Resources r = Resources.getSystem(); - return r.getString(sAmPm[ampm - Calendar.AM]); + return LocaleData.get(Locale.getDefault()).amPm[ampm - Calendar.AM]; } /** @@ -345,24 +276,25 @@ public class DateUtils * Undefined lengths will return {@link #LENGTH_MEDIUM} * but may return something different in the future. * @return Localized month of the year. + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static String getMonthString(int month, int abbrev) { - // Note that here we use sMonthsMedium for MEDIUM, SHORT and SHORTER. + // Note that here we use d.shortMonthNames for MEDIUM, SHORT and SHORTER. // This is a shortcut to not spam the translators with too many variations // of the same string. If we find that in a language the distinction // is necessary, we can can add more without changing this API. - int[] list; + LocaleData d = LocaleData.get(Locale.getDefault()); + String[] names; switch (abbrev) { - case LENGTH_LONG: list = sMonthsLong; break; - case LENGTH_MEDIUM: list = sMonthsMedium; break; - case LENGTH_SHORT: list = sMonthsMedium; break; - case LENGTH_SHORTER: list = sMonthsMedium; break; - case LENGTH_SHORTEST: list = sMonthsShortest; break; - default: list = sMonthsMedium; break; + case LENGTH_LONG: names = d.longMonthNames; break; + case LENGTH_MEDIUM: names = d.shortMonthNames; break; + case LENGTH_SHORT: names = d.shortMonthNames; break; + case LENGTH_SHORTER: names = d.shortMonthNames; break; + case LENGTH_SHORTEST: names = d.tinyMonthNames; break; + default: names = d.shortMonthNames; break; } - - Resources r = Resources.getSystem(); - return r.getString(list[month - Calendar.JANUARY]); + return names[month]; } /** @@ -378,25 +310,26 @@ public class DateUtils * but may return something different in the future. * @return Localized month of the year. * @hide Pending API council approval + * @deprecated use {@link java.text.SimpleDateFormat} instead. */ + @Deprecated public static String getStandaloneMonthString(int month, int abbrev) { - // Note that here we use sMonthsMedium for MEDIUM, SHORT and SHORTER. + // Note that here we use d.shortMonthNames for MEDIUM, SHORT and SHORTER. // This is a shortcut to not spam the translators with too many variations // of the same string. If we find that in a language the distinction // is necessary, we can can add more without changing this API. - int[] list; + LocaleData d = LocaleData.get(Locale.getDefault()); + String[] names; switch (abbrev) { - case LENGTH_LONG: list = sMonthsStandaloneLong; + case LENGTH_LONG: names = d.longStandAloneMonthNames; break; - case LENGTH_MEDIUM: list = sMonthsMedium; break; - case LENGTH_SHORT: list = sMonthsMedium; break; - case LENGTH_SHORTER: list = sMonthsMedium; break; - case LENGTH_SHORTEST: list = sMonthsShortest; break; - default: list = sMonthsMedium; break; + case LENGTH_MEDIUM: names = d.shortMonthNames; break; + case LENGTH_SHORT: names = d.shortMonthNames; break; + case LENGTH_SHORTER: names = d.shortMonthNames; break; + case LENGTH_SHORTEST: names = d.tinyMonthNames; break; + default: names = d.shortMonthNames; break; } - - Resources r = Resources.getSystem(); - return r.getString(list[month - Calendar.JANUARY]); + return names[month]; } /** @@ -619,14 +552,19 @@ public class DateUtils int days = Math.abs(currentDay - startDay); boolean past = (today > day); + // TODO: some locales name other days too, such as de_DE's "Vorgestern" (today - 2). + Locale locale = r.getConfiguration().locale; + if (locale == null) { + locale = Locale.getDefault(); + } if (days == 1) { if (past) { - return r.getString(com.android.internal.R.string.yesterday); + return LocaleData.get(locale).yesterday; } else { - return r.getString(com.android.internal.R.string.tomorrow); + return LocaleData.get(locale).tomorrow; } } else if (days == 0) { - return r.getString(com.android.internal.R.string.today); + return LocaleData.get(locale).today; } int resId; diff --git a/core/java/android/text/format/Time.java b/core/java/android/text/format/Time.java index b0b18da..45d5a70 100644 --- a/core/java/android/text/format/Time.java +++ b/core/java/android/text/format/Time.java @@ -21,6 +21,8 @@ import android.content.res.Resources; import java.util.Locale; import java.util.TimeZone; +import libcore.icu.LocaleData; + /** * An alternative to the {@link java.util.Calendar} and * {@link java.util.GregorianCalendar} classes. An instance of the Time class represents @@ -317,73 +319,21 @@ public class Time { Locale locale = Locale.getDefault(); if (sLocale == null || locale == null || !(locale.equals(sLocale))) { - Resources r = Resources.getSystem(); + LocaleData localeData = LocaleData.get(locale); + + sAm = localeData.amPm[0]; + sPm = localeData.amPm[1]; - sShortMonths = new String[] { - r.getString(com.android.internal.R.string.month_medium_january), - r.getString(com.android.internal.R.string.month_medium_february), - r.getString(com.android.internal.R.string.month_medium_march), - r.getString(com.android.internal.R.string.month_medium_april), - r.getString(com.android.internal.R.string.month_medium_may), - r.getString(com.android.internal.R.string.month_medium_june), - r.getString(com.android.internal.R.string.month_medium_july), - r.getString(com.android.internal.R.string.month_medium_august), - r.getString(com.android.internal.R.string.month_medium_september), - r.getString(com.android.internal.R.string.month_medium_october), - r.getString(com.android.internal.R.string.month_medium_november), - r.getString(com.android.internal.R.string.month_medium_december), - }; - sLongMonths = new String[] { - r.getString(com.android.internal.R.string.month_long_january), - r.getString(com.android.internal.R.string.month_long_february), - r.getString(com.android.internal.R.string.month_long_march), - r.getString(com.android.internal.R.string.month_long_april), - r.getString(com.android.internal.R.string.month_long_may), - r.getString(com.android.internal.R.string.month_long_june), - r.getString(com.android.internal.R.string.month_long_july), - r.getString(com.android.internal.R.string.month_long_august), - r.getString(com.android.internal.R.string.month_long_september), - r.getString(com.android.internal.R.string.month_long_october), - r.getString(com.android.internal.R.string.month_long_november), - r.getString(com.android.internal.R.string.month_long_december), - }; - sLongStandaloneMonths = new String[] { - r.getString(com.android.internal.R.string.month_long_standalone_january), - r.getString(com.android.internal.R.string.month_long_standalone_february), - r.getString(com.android.internal.R.string.month_long_standalone_march), - r.getString(com.android.internal.R.string.month_long_standalone_april), - r.getString(com.android.internal.R.string.month_long_standalone_may), - r.getString(com.android.internal.R.string.month_long_standalone_june), - r.getString(com.android.internal.R.string.month_long_standalone_july), - r.getString(com.android.internal.R.string.month_long_standalone_august), - r.getString(com.android.internal.R.string.month_long_standalone_september), - r.getString(com.android.internal.R.string.month_long_standalone_october), - r.getString(com.android.internal.R.string.month_long_standalone_november), - r.getString(com.android.internal.R.string.month_long_standalone_december), - }; - sShortWeekdays = new String[] { - r.getString(com.android.internal.R.string.day_of_week_medium_sunday), - r.getString(com.android.internal.R.string.day_of_week_medium_monday), - r.getString(com.android.internal.R.string.day_of_week_medium_tuesday), - r.getString(com.android.internal.R.string.day_of_week_medium_wednesday), - r.getString(com.android.internal.R.string.day_of_week_medium_thursday), - r.getString(com.android.internal.R.string.day_of_week_medium_friday), - r.getString(com.android.internal.R.string.day_of_week_medium_saturday), - }; - sLongWeekdays = new String[] { - r.getString(com.android.internal.R.string.day_of_week_long_sunday), - r.getString(com.android.internal.R.string.day_of_week_long_monday), - r.getString(com.android.internal.R.string.day_of_week_long_tuesday), - r.getString(com.android.internal.R.string.day_of_week_long_wednesday), - r.getString(com.android.internal.R.string.day_of_week_long_thursday), - r.getString(com.android.internal.R.string.day_of_week_long_friday), - r.getString(com.android.internal.R.string.day_of_week_long_saturday), - }; + sShortMonths = localeData.shortMonthNames; + sLongMonths = localeData.longMonthNames; + sLongStandaloneMonths = localeData.longStandAloneMonthNames; + sShortWeekdays = localeData.shortWeekdayNames; + sLongWeekdays = localeData.longWeekdayNames; + + Resources r = Resources.getSystem(); sTimeOnlyFormat = r.getString(com.android.internal.R.string.time_of_day); sDateOnlyFormat = r.getString(com.android.internal.R.string.month_day_year); sDateTimeFormat = r.getString(com.android.internal.R.string.date_and_time); - sAm = r.getString(com.android.internal.R.string.am); - sPm = r.getString(com.android.internal.R.string.pm); sLocale = locale; } diff --git a/core/java/android/util/NtpTrustedTime.java b/core/java/android/util/NtpTrustedTime.java index 2179ff3..602a68c 100644 --- a/core/java/android/util/NtpTrustedTime.java +++ b/core/java/android/util/NtpTrustedTime.java @@ -59,10 +59,10 @@ public class NtpTrustedTime implements TrustedTime { final long defaultTimeout = res.getInteger( com.android.internal.R.integer.config_ntpTimeout); - final String secureServer = Settings.Secure.getString( - resolver, Settings.Secure.NTP_SERVER); - final long timeout = Settings.Secure.getLong( - resolver, Settings.Secure.NTP_TIMEOUT, defaultTimeout); + final String secureServer = Settings.Global.getString( + resolver, Settings.Global.NTP_SERVER); + final long timeout = Settings.Global.getLong( + resolver, Settings.Global.NTP_TIMEOUT, defaultTimeout); final String server = secureServer != null ? secureServer : defaultServer; sSingleton = new NtpTrustedTime(server, timeout); @@ -71,7 +71,7 @@ public class NtpTrustedTime implements TrustedTime { return sSingleton; } - /** {@inheritDoc} */ + @Override public boolean forceRefresh() { if (mServer == null) { // missing server, so no trusted time available @@ -91,12 +91,12 @@ public class NtpTrustedTime implements TrustedTime { } } - /** {@inheritDoc} */ + @Override public boolean hasCache() { return mHasCache; } - /** {@inheritDoc} */ + @Override public long getCacheAge() { if (mHasCache) { return SystemClock.elapsedRealtime() - mCachedNtpElapsedRealtime; @@ -105,7 +105,7 @@ public class NtpTrustedTime implements TrustedTime { } } - /** {@inheritDoc} */ + @Override public long getCacheCertainty() { if (mHasCache) { return mCachedNtpCertainty; @@ -114,7 +114,7 @@ public class NtpTrustedTime implements TrustedTime { } } - /** {@inheritDoc} */ + @Override public long currentTimeMillis() { if (!mHasCache) { throw new IllegalStateException("Missing authoritative time source"); diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java index 1a2a194..1500905 100644 --- a/core/java/android/view/accessibility/AccessibilityEvent.java +++ b/core/java/android/view/accessibility/AccessibilityEvent.java @@ -424,6 +424,28 @@ import java.util.List; * </ul> * </p> * <p> + * <b>Touch interaction start</b> - represents the event of starting a touch + * interaction, which is the user starts touching the screen.</br> + * <em>Type:</em> {@link #TYPE_TOUCH_INTERACTION_START}</br> + * <em>Properties:</em></br> + * <ul> + * <li>{@link #getEventType()} - The type of the event.</li> + * </ul> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> + * </p> + * <p> + * <b>Touch interaction end</b> - represents the event of ending a touch + * interaction, which is the user stops touching the screen.</br> + * <em>Type:</em> {@link #TYPE_TOUCH_INTERACTION_END}</br> + * <em>Properties:</em></br> + * <ul> + * <li>{@link #getEventType()} - The type of the event.</li> + * </ul> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> + * </p> + * <p> * <b>Touch exploration gesture start</b> - represents the event of starting a touch * exploring gesture.</br> * <em>Type:</em> {@link #TYPE_TOUCH_EXPLORATION_GESTURE_START}</br> @@ -431,15 +453,8 @@ import java.util.List; * <ul> * <li>{@link #getEventType()} - The type of the event.</li> * </ul> - * <em>Note:</em> This event type is not dispatched to descendants though - * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent) - * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event - * source {@link android.view.View} and the sub-tree rooted at it will not receive - * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent) - * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add - * text content to such events is by setting the - * {@link android.R.styleable#View_contentDescription contentDescription} of the source - * view.</br> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> * </p> * <p> * <b>Touch exploration gesture end</b> - represents the event of ending a touch @@ -449,15 +464,30 @@ import java.util.List; * <ul> * <li>{@link #getEventType()} - The type of the event.</li> * </ul> - * <em>Note:</em> This event type is not dispatched to descendants though - * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent) - * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event - * source {@link android.view.View} and the sub-tree rooted at it will not receive - * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent) - * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add - * text content to such events is by setting the - * {@link android.R.styleable#View_contentDescription contentDescription} of the source - * view.</br> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> + * </p> + * <p> + * <b>Touch gesture detection start</b> - represents the event of starting a user + * gesture detection.</br> + * <em>Type:</em> {@link #TYPE_GESTURE_DETECTION_START}</br> + * <em>Properties:</em></br> + * <ul> + * <li>{@link #getEventType()} - The type of the event.</li> + * </ul> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> + * </p> + * <p> + * <b>Touch gesture detection end</b> - represents the event of ending a user + * gesture detection.</br> + * <em>Type:</em> {@link #TYPE_GESTURE_DETECTION_END}</br> + * <em>Properties:</em></br> + * <ul> + * <li>{@link #getEventType()} - The type of the event.</li> + * </ul> + * <em>Note:</em> This event is fired only by the system and is not passed to the + * view tree to be populated.</br> * </p> * <p> * <b>MISCELLANEOUS TYPES</b></br> @@ -610,6 +640,26 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 0x00020000; /** + * Represents the event of beginning gesture detection. + */ + public static final int TYPE_GESTURE_DETECTION_START = 0x00040000; + + /** + * Represents the event of ending gesture detection. + */ + public static final int TYPE_GESTURE_DETECTION_END = 0x00080000; + + /** + * Represents the event of the user starting to touch the screen. + */ + public static final int TYPE_TOUCH_INTERACTION_START = 0x00100000; + + /** + * Represents the event of the user ending to touch the screen. + */ + public static final int TYPE_TOUCH_INTERACTION_END = 0x00200000; + + /** * Mask for {@link AccessibilityEvent} all types. * * @see #TYPE_VIEW_CLICKED @@ -628,6 +678,10 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par * @see #TYPE_VIEW_TEXT_SELECTION_CHANGED * @see #TYPE_ANNOUNCEMENT * @see #TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY + * @see #TYPE_GESTURE_DETECTION_START + * @see #TYPE_GESTURE_DETECTION_END + * @see #TYPE_TOUCH_INTERACTION_START + * @see #TYPE_TOUCH_INTERACTION_END */ public static final int TYPES_ALL_MASK = 0xFFFFFFFF; @@ -1120,6 +1174,14 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par return "TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED"; case TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY: return "TYPE_CURRENT_AT_GRANULARITY_MOVEMENT_CHANGED"; + case TYPE_GESTURE_DETECTION_START: + return "TYPE_GESTURE_DETECTION_START"; + case TYPE_GESTURE_DETECTION_END: + return "TYPE_GESTURE_DETECTION_END"; + case TYPE_TOUCH_INTERACTION_START: + return "TYPE_TOUCH_INTERACTION_START"; + case TYPE_TOUCH_INTERACTION_END: + return "TYPE_TOUCH_INTERACTION_END"; default: return null; } diff --git a/core/java/android/webkit/CacheManager.java b/core/java/android/webkit/CacheManager.java index f0e6ff0..52f41e6 100644 --- a/core/java/android/webkit/CacheManager.java +++ b/core/java/android/webkit/CacheManager.java @@ -32,6 +32,7 @@ import java.util.Map; /** * Manages the HTTP cache used by an application's {@link WebView} instances. * @deprecated Access to the HTTP cache will be removed in a future release. + * @hide Since {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ // The class CacheManager provides the persistent cache of content that is // received over the network. The component handles parsing of HTTP headers and diff --git a/core/java/android/webkit/DateSorter.java b/core/java/android/webkit/DateSorter.java index 0e8ad7e..82c13ae 100644 --- a/core/java/android/webkit/DateSorter.java +++ b/core/java/android/webkit/DateSorter.java @@ -21,6 +21,9 @@ import android.content.res.Resources; import java.util.Calendar; import java.util.Date; +import java.util.Locale; + +import libcore.icu.LocaleData; /** * Sorts dates into the following groups: @@ -63,8 +66,13 @@ public class DateSorter { mBins[3] = c.getTimeInMillis(); // One month ago // build labels - mLabels[0] = context.getText(com.android.internal.R.string.today).toString(); - mLabels[1] = context.getText(com.android.internal.R.string.yesterday).toString(); + Locale locale = resources.getConfiguration().locale; + if (locale == null) { + locale = Locale.getDefault(); + } + LocaleData localeData = LocaleData.get(locale); + mLabels[0] = localeData.today; + mLabels[1] = localeData.yesterday; int resId = com.android.internal.R.plurals.last_num_days; String format = resources.getQuantityString(resId, NUM_DAYS_AGO); diff --git a/core/java/android/webkit/WebHistoryItem.java b/core/java/android/webkit/WebHistoryItem.java index cc9afe0..9a588e4 100644 --- a/core/java/android/webkit/WebHistoryItem.java +++ b/core/java/android/webkit/WebHistoryItem.java @@ -38,6 +38,7 @@ public class WebHistoryItem implements Cloneable { * same object. * @return The id for this item. * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public int getId() { diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java index a29ff37..be2d863 100644 --- a/core/java/android/webkit/WebSettings.java +++ b/core/java/android/webkit/WebSettings.java @@ -164,6 +164,7 @@ public abstract class WebSettings { * is false. * * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public void setNavDump(boolean enabled) { @@ -176,6 +177,7 @@ public abstract class WebSettings { * @return whether dumping the navigation cache is enabled * @see #setNavDump * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public boolean getNavDump() { @@ -377,6 +379,7 @@ public abstract class WebSettings { * * @see #setUseWebViewBackgroundForOverscrollBackground * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public boolean getUseWebViewBackgroundForOverscrollBackground() { @@ -518,6 +521,7 @@ public abstract class WebSettings { * it now has no effect. * * @deprecated This setting now has no effect. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public synchronized void setUseDoubleTree(boolean use) { @@ -529,6 +533,7 @@ public abstract class WebSettings { * it now has no effect. * * @deprecated This setting now has no effect. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public synchronized boolean getUseDoubleTree() { @@ -547,6 +552,7 @@ public abstract class WebSettings { * * @param ua the integer code for the user-agent string * @deprecated Please use {@link #setUserAgentString} instead. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public synchronized void setUserAgent(int ua) { @@ -565,6 +571,7 @@ public abstract class WebSettings { * @return the integer code for the user-agent string * @see #setUserAgent * @deprecated Please use {@link #getUserAgentString} instead. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public synchronized int getUserAgent() { @@ -1251,8 +1258,7 @@ public abstract class WebSettings { /** * Returns the default User-Agent used by a WebView. * An instance of WebView could use a different User-Agent if a call - * is made to {@link WebSettings#setUserAgent(int)} or - * {@link WebSettings#setUserAgentString(String)}. + * is made to {@link WebSettings#setUserAgentString(String)}. * * @param context a Context object used to access application assets */ diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index e1c30f7..4202a7f 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -555,6 +555,7 @@ public class WebView extends AbsoluteLayout * Gets the visible height (in pixels) of the embedded title bar (if any). * * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ public int getVisibleTitleHeight() { checkThread(); @@ -658,6 +659,7 @@ public class WebView extends AbsoluteLayout * Notifications are enabled by default. * * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public static void enablePlatformNotifications() { @@ -670,6 +672,7 @@ public class WebView extends AbsoluteLayout * Notifications are enabled by default. * * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public static void disablePlatformNotifications() { @@ -694,14 +697,11 @@ public class WebView extends AbsoluteLayout * {@link android.app.Activity#onSaveInstanceState}. Please note that this * method no longer stores the display data for this WebView. The previous * behavior could potentially leak files if {@link #restoreState} was never - * called. See {@link #savePicture} and {@link #restorePicture} for saving - * and restoring the display data. + * called. * * @param outState the Bundle to store this WebView's state * @return the same copy of the back/forward list used to save the state. If * saveState fails, the returned list will be null. - * @see #savePicture - * @see #restorePicture */ public WebBackForwardList saveState(Bundle outState) { checkThread(); @@ -716,6 +716,7 @@ public class WebView extends AbsoluteLayout * overwritten with this WebView's picture data. * @return true if the picture was successfully saved * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public boolean savePicture(Bundle b, final File dest) { @@ -732,6 +733,7 @@ public class WebView extends AbsoluteLayout * @param src the file where the picture data was stored * @return true if the picture was successfully restored * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public boolean restorePicture(Bundle b, File src) { @@ -746,13 +748,10 @@ public class WebView extends AbsoluteLayout * it is called after this WebView has had a chance to build state (load * pages, create a back/forward list, etc.) there may be undesirable * side-effects. Please note that this method no longer restores the - * display data for this WebView. See {@link #savePicture} and {@link - * #restorePicture} for saving and restoring the display data. + * display data for this WebView. * * @param inState the incoming Bundle of state * @return the restored back/forward list or null if restoreState failed - * @see #savePicture - * @see #restorePicture */ public WebBackForwardList restoreState(Bundle inState) { checkThread(); @@ -1334,12 +1333,11 @@ public class WebView extends AbsoluteLayout } /** - * Highlights and scrolls to the next match found by {@link #findAll} or + * Highlights and scrolls to the next match found by * {@link #findAllAsync}, wrapping around page boundaries as necessary. - * Notifies any registered {@link FindListener}. If neither - * {@link #findAll} nor {@link #findAllAsync(String)} has been called yet, - * or if {@link #clearMatches} has been called since the last find - * operation, this function does nothing. + * Notifies any registered {@link FindListener}. If {@link #findAllAsync(String)} + * has not been called yet, or if {@link #clearMatches} has been called since the + * last find operation, this function does nothing. * * @param forward the direction to search * @see #setFindListener @@ -1368,8 +1366,7 @@ public class WebView extends AbsoluteLayout /** * Finds all instances of find on the page and highlights them, * asynchronously. Notifies any registered {@link FindListener}. - * Successive calls to this or {@link #findAll} will cancel any - * pending searches. + * Successive calls to this will cancel any pending searches. * * @param find the string to find. * @see #setFindListener @@ -1423,7 +1420,7 @@ public class WebView extends AbsoluteLayout /** * Clears the highlighting surrounding text matches created by - * {@link #findAll} or {@link #findAllAsync}. + * {@link #findAllAsync}. */ public void clearMatches() { checkThread(); @@ -1483,6 +1480,7 @@ public class WebView extends AbsoluteLayout * * @param listener an implementation of WebView.PictureListener * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public void setPictureListener(PictureListener listener) { @@ -1590,6 +1588,7 @@ public class WebView extends AbsoluteLayout * functionality; it will be deprecated in the future. * * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public void emulateShiftHeld() { @@ -1709,6 +1708,7 @@ public class WebView extends AbsoluteLayout /** * @deprecated This method is now obsolete. + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} */ @Deprecated public void debugDump() { diff --git a/core/java/android/webkit/WebViewDatabase.java b/core/java/android/webkit/WebViewDatabase.java index 1987f53..62ec0d5 100644 --- a/core/java/android/webkit/WebViewDatabase.java +++ b/core/java/android/webkit/WebViewDatabase.java @@ -29,7 +29,9 @@ import android.content.Context; * </ul> */ public class WebViewDatabase { - // TODO: deprecate/hide this. + /** + * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} + */ protected static final String LOGTAG = "webviewdatabase"; /** diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index 689bd02..e754c17 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -508,9 +508,9 @@ public class Switch extends CompoundButton { @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); - CharSequence text = isChecked() ? mOnLayout.getText() : mOffLayout.getText(); - if (!TextUtils.isEmpty(text)) { - event.getText().add(text); + Layout layout = isChecked() ? mOnLayout : mOffLayout; + if (layout != null && !TextUtils.isEmpty(layout.getText())) { + event.getText().add(layout.getText()); } } diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 4777c16..0710d96 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -20,6 +20,7 @@ import com.android.internal.R; import com.android.internal.telephony.ITelephony; import com.google.android.collect.Lists; +import android.app.ActivityManagerNative; import android.app.admin.DevicePolicyManager; import android.content.BroadcastReceiver; import android.content.ContentResolver; @@ -225,7 +226,11 @@ public class LockPatternUtils { public int getCurrentUser() { if (Process.myUid() == Process.SYSTEM_UID) { - return mCurrentUserId; + try { + return ActivityManagerNative.getDefault().getCurrentUser().id; + } catch (RemoteException re) { + return mCurrentUserId; + } } else { throw new SecurityException("Only the system process can get the current user"); } @@ -1001,6 +1006,17 @@ public class LockPatternUtils { } } + public int[] getUserDefinedWidgets() { + int appWidgetId = -1; + String appWidgetIdString = Settings.Secure.getString( + mContentResolver, Settings.Secure.LOCK_SCREEN_USER_SELECTED_APPWIDGET_ID); + if (appWidgetIdString != null) { + appWidgetId = (int) Integer.decode(appWidgetIdString); + } + + return new int[] { appWidgetId }; + } + private long getLong(String secureSettingKey, long defaultValue) { try { return getLockSettings().getLong(secureSettingKey, defaultValue, diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp index edc9732..1f70c66 100644 --- a/core/jni/android/graphics/Paint.cpp +++ b/core/jni/android/graphics/Paint.cpp @@ -792,7 +792,7 @@ public: static void doTextBounds(JNIEnv* env, const jchar* text, int count, jobject bounds, const SkPaint& paint) { - SkRect r; + SkRect r{0,0,0,0}; SkIRect ir; sp<TextLayoutValue> value = TextLayoutEngine::getInstance().getValue(&paint, diff --git a/core/jni/android_text_format_Time.cpp b/core/jni/android_text_format_Time.cpp index bb09421..aa2c5f39 100644 --- a/core/jni/android_text_format_Time.cpp +++ b/core/jni/android_text_format_Time.cpp @@ -239,31 +239,36 @@ static jstring android_text_format_Time_format(JNIEnv* env, jobject This, jobjectArray ja; ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_shortMonthsField); for (int i = 0; i < 12; i++) { + // Calendar.JANUARY == 0. js_mon[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i)); locale.mon[i] = env->GetStringUTFChars(js_mon[i], NULL); } ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longMonthsField); for (int i = 0; i < 12; i++) { + // Calendar.JANUARY == 0. js_month[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i)); locale.month[i] = env->GetStringUTFChars(js_month[i], NULL); } ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longStandaloneMonthsField); for (int i = 0; i < 12; i++) { + // Calendar.JANUARY == 0. js_standalone_month[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i)); locale.standalone_month[i] = env->GetStringUTFChars(js_standalone_month[i], NULL); } ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_shortWeekdaysField); for (int i = 0; i < 7; i++) { - js_wday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i)); + // Calendar.SUNDAY == 1, and there's an empty string in element 0. + js_wday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i + 1)); locale.wday[i] = env->GetStringUTFChars(js_wday[i], NULL); } ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longWeekdaysField); for (int i = 0; i < 7; i++) { - js_weekday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i)); + // Calendar.SUNDAY == 1, and there's an empty string in element 0. + js_weekday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i + 1)); locale.weekday[i] = env->GetStringUTFChars(js_weekday[i], NULL); } diff --git a/core/res/res/values-af/donottranslate-cldr.xml b/core/res/res/values-af/donottranslate-cldr.xml index 9d38717..77b7f7c 100644 --- a/core/res/res/values-af/donottranslate-cldr.xml +++ b/core/res/res/values-af/donottranslate-cldr.xml @@ -1,93 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januarie</string> - <string name="month_long_standalone_february">Februarie</string> - <string name="month_long_standalone_march">Maart</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">Mei</string> - <string name="month_long_standalone_june">Junie</string> - <string name="month_long_standalone_july">Julie</string> - <string name="month_long_standalone_august">Augustus</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">Oktober</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">Desember</string> - - <string name="month_long_january">Januarie</string> - <string name="month_long_february">Februarie</string> - <string name="month_long_march">Maart</string> - <string name="month_long_april">April</string> - <string name="month_long_may">Mei</string> - <string name="month_long_june">Junie</string> - <string name="month_long_july">Julie</string> - <string name="month_long_august">Augustus</string> - <string name="month_long_september">September</string> - <string name="month_long_october">Oktober</string> - <string name="month_long_november">November</string> - <string name="month_long_december">Desember</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mei</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Des</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Sondag</string> - <string name="day_of_week_long_monday">Maandag</string> - <string name="day_of_week_long_tuesday">Dinsdag</string> - <string name="day_of_week_long_wednesday">Woensdag</string> - <string name="day_of_week_long_thursday">Donderdag</string> - <string name="day_of_week_long_friday">Vrydag</string> - <string name="day_of_week_long_saturday">Saterdag</string> - - <string name="day_of_week_medium_sunday">So</string> - <string name="day_of_week_medium_monday">Ma</string> - <string name="day_of_week_medium_tuesday">Di</string> - <string name="day_of_week_medium_wednesday">Wo</string> - <string name="day_of_week_medium_thursday">Do</string> - <string name="day_of_week_medium_friday">Vr</string> - <string name="day_of_week_medium_saturday">Sa</string> - - <string name="day_of_week_short_sunday">So</string> - <string name="day_of_week_short_monday">Ma</string> - <string name="day_of_week_short_tuesday">Di</string> - <string name="day_of_week_short_wednesday">Wo</string> - <string name="day_of_week_short_thursday">Do</string> - <string name="day_of_week_short_friday">Vr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">vm.</string> - <string name="pm">nm.</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-am/donottranslate-cldr.xml b/core/res/res/values-am/donottranslate-cldr.xml index 2319fbf..b3b76f9 100644 --- a/core/res/res/values-am/donottranslate-cldr.xml +++ b/core/res/res/values-am/donottranslate-cldr.xml @@ -1,93 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">ጃንዩወሪ</string> - <string name="month_long_standalone_february">ፌብሩወሪ</string> - <string name="month_long_standalone_march">ማርች</string> - <string name="month_long_standalone_april">ኤፕረል</string> - <string name="month_long_standalone_may">ሜይ</string> - <string name="month_long_standalone_june">ጁን</string> - <string name="month_long_standalone_july">ጁላይ</string> - <string name="month_long_standalone_august">ኦገስት</string> - <string name="month_long_standalone_september">ሴፕቴምበር</string> - <string name="month_long_standalone_october">ኦክተውበር</string> - <string name="month_long_standalone_november">ኖቬምበር</string> - <string name="month_long_standalone_december">ዲሴምበር</string> - - <string name="month_long_january">ጃንዩወሪ</string> - <string name="month_long_february">ፌብሩወሪ</string> - <string name="month_long_march">ማርች</string> - <string name="month_long_april">ኤፕረል</string> - <string name="month_long_may">ሜይ</string> - <string name="month_long_june">ጁን</string> - <string name="month_long_july">ጁላይ</string> - <string name="month_long_august">ኦገስት</string> - <string name="month_long_september">ሴፕቴምበር</string> - <string name="month_long_october">ኦክተውበር</string> - <string name="month_long_november">ኖቬምበር</string> - <string name="month_long_december">ዲሴምበር</string> - - <string name="month_medium_january">ጃንዩ</string> - <string name="month_medium_february">ፌብሩ</string> - <string name="month_medium_march">ማርች</string> - <string name="month_medium_april">ኤፕረ</string> - <string name="month_medium_may">ሜይ</string> - <string name="month_medium_june">ጁን</string> - <string name="month_medium_july">ጁላይ</string> - <string name="month_medium_august">ኦገስ</string> - <string name="month_medium_september">ሴፕቴ</string> - <string name="month_medium_october">ኦክተ</string> - <string name="month_medium_november">ኖቬም</string> - <string name="month_medium_december">ዲሴም</string> - - <string name="month_shortest_january">ጃ</string> - <string name="month_shortest_february">ፌ</string> - <string name="month_shortest_march">ማ</string> - <string name="month_shortest_april">ኤ</string> - <string name="month_shortest_may">ሜ</string> - <string name="month_shortest_june">ጁ</string> - <string name="month_shortest_july">ጁ</string> - <string name="month_shortest_august">ኦ</string> - <string name="month_shortest_september">ሴ</string> - <string name="month_shortest_october">ኦ</string> - <string name="month_shortest_november">ኖ</string> - <string name="month_shortest_december">ዲ</string> - - <string name="day_of_week_long_sunday">እሑድ</string> - <string name="day_of_week_long_monday">ሰኞ</string> - <string name="day_of_week_long_tuesday">ማክሰኞ</string> - <string name="day_of_week_long_wednesday">ረቡዕ</string> - <string name="day_of_week_long_thursday">ሐሙስ</string> - <string name="day_of_week_long_friday">ዓርብ</string> - <string name="day_of_week_long_saturday">ቅዳሜ</string> - - <string name="day_of_week_medium_sunday">እሑድ</string> - <string name="day_of_week_medium_monday">ሰኞ</string> - <string name="day_of_week_medium_tuesday">ማክሰ</string> - <string name="day_of_week_medium_wednesday">ረቡዕ</string> - <string name="day_of_week_medium_thursday">ሐሙስ</string> - <string name="day_of_week_medium_friday">ዓርብ</string> - <string name="day_of_week_medium_saturday">ቅዳሜ</string> - - <string name="day_of_week_short_sunday">እሑድ</string> - <string name="day_of_week_short_monday">ሰኞ</string> - <string name="day_of_week_short_tuesday">ማክሰ</string> - <string name="day_of_week_short_wednesday">ረቡዕ</string> - <string name="day_of_week_short_thursday">ሐሙስ</string> - <string name="day_of_week_short_friday">ዓርብ</string> - <string name="day_of_week_short_saturday">ቅዳሜ</string> - - <string name="day_of_week_shortest_sunday">እ</string> - <string name="day_of_week_shortest_monday">ሰ</string> - <string name="day_of_week_shortest_tuesday">ማ</string> - <string name="day_of_week_shortest_wednesday">ረ</string> - <string name="day_of_week_shortest_thursday">ሐ</string> - <string name="day_of_week_shortest_friday">ዓ</string> - <string name="day_of_week_shortest_saturday">ቅ</string> - - <string name="am">ጡዋት</string> - <string name="pm">ከሳዓት</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-ar-rEG/donottranslate-cldr.xml b/core/res/res/values-ar-rEG/donottranslate-cldr.xml index 57011d7..155480d 100644 --- a/core/res/res/values-ar-rEG/donottranslate-cldr.xml +++ b/core/res/res/values-ar-rEG/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">يناير</string> - <string name="month_long_standalone_february">فبراير</string> - <string name="month_long_standalone_march">مارس</string> - <string name="month_long_standalone_april">أبريل</string> - <string name="month_long_standalone_may">مايو</string> - <string name="month_long_standalone_june">يونيو</string> - <string name="month_long_standalone_july">يوليو</string> - <string name="month_long_standalone_august">أغسطس</string> - <string name="month_long_standalone_september">سبتمبر</string> - <string name="month_long_standalone_october">أكتوبر</string> - <string name="month_long_standalone_november">نوفمبر</string> - <string name="month_long_standalone_december">ديسمبر</string> - - <string name="month_long_january">يناير</string> - <string name="month_long_february">فبراير</string> - <string name="month_long_march">مارس</string> - <string name="month_long_april">أبريل</string> - <string name="month_long_may">مايو</string> - <string name="month_long_june">يونيو</string> - <string name="month_long_july">يوليو</string> - <string name="month_long_august">أغسطس</string> - <string name="month_long_september">سبتمبر</string> - <string name="month_long_october">أكتوبر</string> - <string name="month_long_november">نوفمبر</string> - <string name="month_long_december">ديسمبر</string> - - <string name="month_medium_january">يناير</string> - <string name="month_medium_february">فبراير</string> - <string name="month_medium_march">مارس</string> - <string name="month_medium_april">أبريل</string> - <string name="month_medium_may">مايو</string> - <string name="month_medium_june">يونيو</string> - <string name="month_medium_july">يوليو</string> - <string name="month_medium_august">أغسطس</string> - <string name="month_medium_september">سبتمبر</string> - <string name="month_medium_october">أكتوبر</string> - <string name="month_medium_november">نوفمبر</string> - <string name="month_medium_december">ديسمبر</string> - - <string name="month_shortest_january">ي</string> - <string name="month_shortest_february">ف</string> - <string name="month_shortest_march">م</string> - <string name="month_shortest_april">أ</string> - <string name="month_shortest_may">و</string> - <string name="month_shortest_june">ن</string> - <string name="month_shortest_july">ل</string> - <string name="month_shortest_august">غ</string> - <string name="month_shortest_september">س</string> - <string name="month_shortest_october">ك</string> - <string name="month_shortest_november">ب</string> - <string name="month_shortest_december">د</string> - - <string name="day_of_week_long_sunday">الأحد</string> - <string name="day_of_week_long_monday">الإثنين</string> - <string name="day_of_week_long_tuesday">الثلاثاء</string> - <string name="day_of_week_long_wednesday">الأربعاء</string> - <string name="day_of_week_long_thursday">الخميس</string> - <string name="day_of_week_long_friday">الجمعة</string> - <string name="day_of_week_long_saturday">السبت</string> - - <string name="day_of_week_medium_sunday">أحد</string> - <string name="day_of_week_medium_monday">إثنين</string> - <string name="day_of_week_medium_tuesday">ثلاثاء</string> - <string name="day_of_week_medium_wednesday">أربعاء</string> - <string name="day_of_week_medium_thursday">خميس</string> - <string name="day_of_week_medium_friday">جمعة</string> - <string name="day_of_week_medium_saturday">سبت</string> - - <string name="day_of_week_short_sunday">أحد</string> - <string name="day_of_week_short_monday">إثنين</string> - <string name="day_of_week_short_tuesday">ثلاثاء</string> - <string name="day_of_week_short_wednesday">أربعاء</string> - <string name="day_of_week_short_thursday">خميس</string> - <string name="day_of_week_short_friday">جمعة</string> - <string name="day_of_week_short_saturday">سبت</string> - - <string name="day_of_week_shortest_sunday">ح</string> - <string name="day_of_week_shortest_monday">ن</string> - <string name="day_of_week_shortest_tuesday">ث</string> - <string name="day_of_week_shortest_wednesday">ر</string> - <string name="day_of_week_shortest_thursday">خ</string> - <string name="day_of_week_shortest_friday">ج</string> - <string name="day_of_week_shortest_saturday">س</string> - - <string name="am">ص</string> - <string name="pm">م</string> - <string name="yesterday">أمس</string> - <string name="today">اليوم</string> - <string name="tomorrow">غدًا</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-ar/donottranslate-cldr.xml b/core/res/res/values-ar/donottranslate-cldr.xml index 0b9da23..135963b 100644 --- a/core/res/res/values-ar/donottranslate-cldr.xml +++ b/core/res/res/values-ar/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">يناير</string> - <string name="month_long_standalone_february">فبراير</string> - <string name="month_long_standalone_march">مارس</string> - <string name="month_long_standalone_april">أبريل</string> - <string name="month_long_standalone_may">مايو</string> - <string name="month_long_standalone_june">يونيو</string> - <string name="month_long_standalone_july">يوليو</string> - <string name="month_long_standalone_august">أغسطس</string> - <string name="month_long_standalone_september">سبتمبر</string> - <string name="month_long_standalone_october">أكتوبر</string> - <string name="month_long_standalone_november">نوفمبر</string> - <string name="month_long_standalone_december">ديسمبر</string> - - <string name="month_long_january">يناير</string> - <string name="month_long_february">فبراير</string> - <string name="month_long_march">مارس</string> - <string name="month_long_april">أبريل</string> - <string name="month_long_may">مايو</string> - <string name="month_long_june">يونيو</string> - <string name="month_long_july">يوليو</string> - <string name="month_long_august">أغسطس</string> - <string name="month_long_september">سبتمبر</string> - <string name="month_long_october">أكتوبر</string> - <string name="month_long_november">نوفمبر</string> - <string name="month_long_december">ديسمبر</string> - - <string name="month_medium_january">يناير</string> - <string name="month_medium_february">فبراير</string> - <string name="month_medium_march">مارس</string> - <string name="month_medium_april">أبريل</string> - <string name="month_medium_may">مايو</string> - <string name="month_medium_june">يونيو</string> - <string name="month_medium_july">يوليو</string> - <string name="month_medium_august">أغسطس</string> - <string name="month_medium_september">سبتمبر</string> - <string name="month_medium_october">أكتوبر</string> - <string name="month_medium_november">نوفمبر</string> - <string name="month_medium_december">ديسمبر</string> - - <string name="month_shortest_january">ي</string> - <string name="month_shortest_february">ف</string> - <string name="month_shortest_march">م</string> - <string name="month_shortest_april">أ</string> - <string name="month_shortest_may">و</string> - <string name="month_shortest_june">ن</string> - <string name="month_shortest_july">ل</string> - <string name="month_shortest_august">غ</string> - <string name="month_shortest_september">س</string> - <string name="month_shortest_october">ك</string> - <string name="month_shortest_november">ب</string> - <string name="month_shortest_december">د</string> - - <string name="day_of_week_long_sunday">الأحد</string> - <string name="day_of_week_long_monday">الإثنين</string> - <string name="day_of_week_long_tuesday">الثلاثاء</string> - <string name="day_of_week_long_wednesday">الأربعاء</string> - <string name="day_of_week_long_thursday">الخميس</string> - <string name="day_of_week_long_friday">الجمعة</string> - <string name="day_of_week_long_saturday">السبت</string> - - <string name="day_of_week_medium_sunday">أحد</string> - <string name="day_of_week_medium_monday">إثنين</string> - <string name="day_of_week_medium_tuesday">ثلاثاء</string> - <string name="day_of_week_medium_wednesday">أربعاء</string> - <string name="day_of_week_medium_thursday">خميس</string> - <string name="day_of_week_medium_friday">جمعة</string> - <string name="day_of_week_medium_saturday">سبت</string> - - <string name="day_of_week_short_sunday">أحد</string> - <string name="day_of_week_short_monday">إثنين</string> - <string name="day_of_week_short_tuesday">ثلاثاء</string> - <string name="day_of_week_short_wednesday">أربعاء</string> - <string name="day_of_week_short_thursday">خميس</string> - <string name="day_of_week_short_friday">جمعة</string> - <string name="day_of_week_short_saturday">سبت</string> - - <string name="day_of_week_shortest_sunday">ح</string> - <string name="day_of_week_shortest_monday">ن</string> - <string name="day_of_week_shortest_tuesday">ث</string> - <string name="day_of_week_shortest_wednesday">ر</string> - <string name="day_of_week_shortest_thursday">خ</string> - <string name="day_of_week_shortest_friday">ج</string> - <string name="day_of_week_shortest_saturday">س</string> - - <string name="am">ص</string> - <string name="pm">م</string> - <string name="yesterday">أمس</string> - <string name="today">اليوم</string> - <string name="tomorrow">غدًا</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-be/donottranslate-cldr.xml b/core/res/res/values-be/donottranslate-cldr.xml index 365e60d..a346c83 100644 --- a/core/res/res/values-be/donottranslate-cldr.xml +++ b/core/res/res/values-be/donottranslate-cldr.xml @@ -1,85 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_may">травень</string> - - <string name="month_long_january">студзень</string> - <string name="month_long_february">люты</string> - <string name="month_long_march">сакавік</string> - <string name="month_long_april">красавік</string> - <string name="month_long_may">май</string> - <string name="month_long_june">чэрвень</string> - <string name="month_long_july">ліпень</string> - <string name="month_long_august">жнівень</string> - <string name="month_long_september">верасень</string> - <string name="month_long_october">кастрычнік</string> - <string name="month_long_november">лістапад</string> - <string name="month_long_december">снежань</string> - - <string name="month_medium_january">сту</string> - <string name="month_medium_february">лют</string> - <string name="month_medium_march">сак</string> - <string name="month_medium_april">кра</string> - <string name="month_medium_may">май</string> - <string name="month_medium_june">чэр</string> - <string name="month_medium_july">ліп</string> - <string name="month_medium_august">жні</string> - <string name="month_medium_september">вер</string> - <string name="month_medium_october">кас</string> - <string name="month_medium_november">ліс</string> - <string name="month_medium_december">сне</string> - - <string name="month_shortest_january">с</string> - <string name="month_shortest_february">л</string> - <string name="month_shortest_march">с</string> - <string name="month_shortest_april">к</string> - <string name="month_shortest_may">м</string> - <string name="month_shortest_june">ч</string> - <string name="month_shortest_july">л</string> - <string name="month_shortest_august">ж</string> - <string name="month_shortest_september">в</string> - <string name="month_shortest_october">к</string> - <string name="month_shortest_november">л</string> - <string name="month_shortest_december">с</string> - - <string name="day_of_week_long_sunday">нядзеля</string> - <string name="day_of_week_long_monday">панядзелак</string> - <string name="day_of_week_long_tuesday">аўторак</string> - <string name="day_of_week_long_wednesday">серада</string> - <string name="day_of_week_long_thursday">чацвер</string> - <string name="day_of_week_long_friday">пятніца</string> - <string name="day_of_week_long_saturday">субота</string> - - <string name="day_of_week_medium_sunday">нд</string> - <string name="day_of_week_medium_monday">пн</string> - <string name="day_of_week_medium_tuesday">аў</string> - <string name="day_of_week_medium_wednesday">ср</string> - <string name="day_of_week_medium_thursday">чц</string> - <string name="day_of_week_medium_friday">пт</string> - <string name="day_of_week_medium_saturday">сб</string> - - <string name="day_of_week_short_sunday">нд</string> - <string name="day_of_week_short_monday">пн</string> - <string name="day_of_week_short_tuesday">аў</string> - <string name="day_of_week_short_wednesday">ср</string> - <string name="day_of_week_short_thursday">чц</string> - <string name="day_of_week_short_friday">пт</string> - <string name="day_of_week_short_saturday">сб</string> - - <string name="day_of_week_shortest_sunday">н</string> - <string name="day_of_week_shortest_monday">п</string> - <string name="day_of_week_shortest_tuesday">а</string> - <string name="day_of_week_shortest_wednesday">с</string> - <string name="day_of_week_shortest_thursday">ч</string> - <string name="day_of_week_shortest_friday">п</string> - <string name="day_of_week_shortest_saturday">с</string> - - <string name="am">да палудня</string> - <string name="pm">пасля палудня</string> - <string name="yesterday">учора</string> - <string name="today">сёння</string> - <string name="tomorrow">заўтра</string> - <string name="hour_minute_24">%-k.%M</string> <string name="hour_minute_ampm">%-l.%M %p</string> <string name="hour_minute_cap_ampm">%-l.%M %p</string> diff --git a/core/res/res/values-bg/donottranslate-cldr.xml b/core/res/res/values-bg/donottranslate-cldr.xml index 972d661..9c1ae2c 100644 --- a/core/res/res/values-bg/donottranslate-cldr.xml +++ b/core/res/res/values-bg/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">януари</string> - <string name="month_long_standalone_february">февруари</string> - <string name="month_long_standalone_march">март</string> - <string name="month_long_standalone_april">април</string> - <string name="month_long_standalone_may">май</string> - <string name="month_long_standalone_june">юни</string> - <string name="month_long_standalone_july">юли</string> - <string name="month_long_standalone_august">август</string> - <string name="month_long_standalone_september">септември</string> - <string name="month_long_standalone_october">октомври</string> - <string name="month_long_standalone_november">ноември</string> - <string name="month_long_standalone_december">декември</string> - - <string name="month_long_january">януари</string> - <string name="month_long_february">февруари</string> - <string name="month_long_march">март</string> - <string name="month_long_april">април</string> - <string name="month_long_may">май</string> - <string name="month_long_june">юни</string> - <string name="month_long_july">юли</string> - <string name="month_long_august">август</string> - <string name="month_long_september">септември</string> - <string name="month_long_october">октомври</string> - <string name="month_long_november">ноември</string> - <string name="month_long_december">декември</string> - - <string name="month_medium_january">ян.</string> - <string name="month_medium_february">февр.</string> - <string name="month_medium_march">март</string> - <string name="month_medium_april">апр.</string> - <string name="month_medium_may">май</string> - <string name="month_medium_june">юни</string> - <string name="month_medium_july">юли</string> - <string name="month_medium_august">авг.</string> - <string name="month_medium_september">септ.</string> - <string name="month_medium_october">окт.</string> - <string name="month_medium_november">ноем.</string> - <string name="month_medium_december">дек.</string> - - <string name="month_shortest_january">я</string> - <string name="month_shortest_february">ф</string> - <string name="month_shortest_march">м</string> - <string name="month_shortest_april">а</string> - <string name="month_shortest_may">м</string> - <string name="month_shortest_june">ю</string> - <string name="month_shortest_july">ю</string> - <string name="month_shortest_august">а</string> - <string name="month_shortest_september">с</string> - <string name="month_shortest_october">о</string> - <string name="month_shortest_november">н</string> - <string name="month_shortest_december">д</string> - - <string name="day_of_week_long_sunday">неделя</string> - <string name="day_of_week_long_monday">понеделник</string> - <string name="day_of_week_long_tuesday">вторник</string> - <string name="day_of_week_long_wednesday">сряда</string> - <string name="day_of_week_long_thursday">четвъртък</string> - <string name="day_of_week_long_friday">петък</string> - <string name="day_of_week_long_saturday">събота</string> - - <string name="day_of_week_medium_sunday">нд</string> - <string name="day_of_week_medium_monday">пн</string> - <string name="day_of_week_medium_tuesday">вт</string> - <string name="day_of_week_medium_wednesday">ср</string> - <string name="day_of_week_medium_thursday">чт</string> - <string name="day_of_week_medium_friday">пт</string> - <string name="day_of_week_medium_saturday">сб</string> - - <string name="day_of_week_short_sunday">нд</string> - <string name="day_of_week_short_monday">пн</string> - <string name="day_of_week_short_tuesday">вт</string> - <string name="day_of_week_short_wednesday">ср</string> - <string name="day_of_week_short_thursday">чт</string> - <string name="day_of_week_short_friday">пт</string> - <string name="day_of_week_short_saturday">сб</string> - - <string name="day_of_week_shortest_sunday">н</string> - <string name="day_of_week_shortest_monday">п</string> - <string name="day_of_week_shortest_tuesday">в</string> - <string name="day_of_week_shortest_wednesday">с</string> - <string name="day_of_week_shortest_thursday">ч</string> - <string name="day_of_week_shortest_friday">п</string> - <string name="day_of_week_shortest_saturday">с</string> - - <string name="am">пр. об.</string> - <string name="pm">сл. об.</string> - <string name="yesterday">Вчера</string> - <string name="today">Днес</string> - <string name="tomorrow">Утре</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-ca-rES/donottranslate-cldr.xml b/core/res/res/values-ca-rES/donottranslate-cldr.xml index 113133d..8feeeed 100644 --- a/core/res/res/values-ca-rES/donottranslate-cldr.xml +++ b/core/res/res/values-ca-rES/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">gener</string> - <string name="month_long_standalone_february">febrer</string> - <string name="month_long_standalone_march">març</string> - <string name="month_long_standalone_april">abril</string> - <string name="month_long_standalone_may">maig</string> - <string name="month_long_standalone_june">juny</string> - <string name="month_long_standalone_july">juliol</string> - <string name="month_long_standalone_august">agost</string> - <string name="month_long_standalone_september">setembre</string> - <string name="month_long_standalone_october">octubre</string> - <string name="month_long_standalone_november">novembre</string> - <string name="month_long_standalone_december">desembre</string> - - <string name="month_long_january">gener</string> - <string name="month_long_february">febrer</string> - <string name="month_long_march">març</string> - <string name="month_long_april">abril</string> - <string name="month_long_may">maig</string> - <string name="month_long_june">juny</string> - <string name="month_long_july">juliol</string> - <string name="month_long_august">agost</string> - <string name="month_long_september">setembre</string> - <string name="month_long_october">octubre</string> - <string name="month_long_november">novembre</string> - <string name="month_long_december">desembre</string> - - <string name="month_medium_january">gen.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">març</string> - <string name="month_medium_april">abr.</string> - <string name="month_medium_may">maig</string> - <string name="month_medium_june">juny</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">ag.</string> - <string name="month_medium_september">set.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">des.</string> - - <string name="month_shortest_january">g</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">diumenge</string> - <string name="day_of_week_long_monday">dilluns</string> - <string name="day_of_week_long_tuesday">dimarts</string> - <string name="day_of_week_long_wednesday">dimecres</string> - <string name="day_of_week_long_thursday">dijous</string> - <string name="day_of_week_long_friday">divendres</string> - <string name="day_of_week_long_saturday">dissabte</string> - - <string name="day_of_week_medium_sunday">dg.</string> - <string name="day_of_week_medium_monday">dl.</string> - <string name="day_of_week_medium_tuesday">dt.</string> - <string name="day_of_week_medium_wednesday">dc.</string> - <string name="day_of_week_medium_thursday">dj.</string> - <string name="day_of_week_medium_friday">dv.</string> - <string name="day_of_week_medium_saturday">ds.</string> - - <string name="day_of_week_short_sunday">dg.</string> - <string name="day_of_week_short_monday">dl.</string> - <string name="day_of_week_short_tuesday">dt.</string> - <string name="day_of_week_short_wednesday">dc.</string> - <string name="day_of_week_short_thursday">dj.</string> - <string name="day_of_week_short_friday">dv.</string> - <string name="day_of_week_short_saturday">ds.</string> - - <string name="day_of_week_shortest_sunday">g</string> - <string name="day_of_week_shortest_monday">l</string> - <string name="day_of_week_shortest_tuesday">t</string> - <string name="day_of_week_shortest_wednesday">c</string> - <string name="day_of_week_shortest_thursday">j</string> - <string name="day_of_week_shortest_friday">v</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">a.m.</string> - <string name="pm">p.m.</string> - <string name="yesterday">ahir</string> - <string name="today">avui</string> - <string name="tomorrow">demà</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-ca/donottranslate-cldr.xml b/core/res/res/values-ca/donottranslate-cldr.xml index 03cf69d..3fda852 100644 --- a/core/res/res/values-ca/donottranslate-cldr.xml +++ b/core/res/res/values-ca/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">gener</string> - <string name="month_long_standalone_february">febrer</string> - <string name="month_long_standalone_march">març</string> - <string name="month_long_standalone_april">abril</string> - <string name="month_long_standalone_may">maig</string> - <string name="month_long_standalone_june">juny</string> - <string name="month_long_standalone_july">juliol</string> - <string name="month_long_standalone_august">agost</string> - <string name="month_long_standalone_september">setembre</string> - <string name="month_long_standalone_october">octubre</string> - <string name="month_long_standalone_november">novembre</string> - <string name="month_long_standalone_december">desembre</string> - - <string name="month_long_january">gener</string> - <string name="month_long_february">febrer</string> - <string name="month_long_march">març</string> - <string name="month_long_april">abril</string> - <string name="month_long_may">maig</string> - <string name="month_long_june">juny</string> - <string name="month_long_july">juliol</string> - <string name="month_long_august">agost</string> - <string name="month_long_september">setembre</string> - <string name="month_long_october">octubre</string> - <string name="month_long_november">novembre</string> - <string name="month_long_december">desembre</string> - - <string name="month_medium_january">gen.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">març</string> - <string name="month_medium_april">abr.</string> - <string name="month_medium_may">maig</string> - <string name="month_medium_june">juny</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">ag.</string> - <string name="month_medium_september">set.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">des.</string> - - <string name="month_shortest_january">g</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">diumenge</string> - <string name="day_of_week_long_monday">dilluns</string> - <string name="day_of_week_long_tuesday">dimarts</string> - <string name="day_of_week_long_wednesday">dimecres</string> - <string name="day_of_week_long_thursday">dijous</string> - <string name="day_of_week_long_friday">divendres</string> - <string name="day_of_week_long_saturday">dissabte</string> - - <string name="day_of_week_medium_sunday">dg.</string> - <string name="day_of_week_medium_monday">dl.</string> - <string name="day_of_week_medium_tuesday">dt.</string> - <string name="day_of_week_medium_wednesday">dc.</string> - <string name="day_of_week_medium_thursday">dj.</string> - <string name="day_of_week_medium_friday">dv.</string> - <string name="day_of_week_medium_saturday">ds.</string> - - <string name="day_of_week_short_sunday">dg.</string> - <string name="day_of_week_short_monday">dl.</string> - <string name="day_of_week_short_tuesday">dt.</string> - <string name="day_of_week_short_wednesday">dc.</string> - <string name="day_of_week_short_thursday">dj.</string> - <string name="day_of_week_short_friday">dv.</string> - <string name="day_of_week_short_saturday">ds.</string> - - <string name="day_of_week_shortest_sunday">g</string> - <string name="day_of_week_shortest_monday">l</string> - <string name="day_of_week_shortest_tuesday">t</string> - <string name="day_of_week_shortest_wednesday">c</string> - <string name="day_of_week_shortest_thursday">j</string> - <string name="day_of_week_shortest_friday">v</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">a.m.</string> - <string name="pm">p.m.</string> - <string name="yesterday">ahir</string> - <string name="today">avui</string> - <string name="tomorrow">demà</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-cs/donottranslate-cldr.xml b/core/res/res/values-cs/donottranslate-cldr.xml index 59b82d3..ff7902d 100644 --- a/core/res/res/values-cs/donottranslate-cldr.xml +++ b/core/res/res/values-cs/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">leden</string> - <string name="month_long_standalone_february">únor</string> - <string name="month_long_standalone_march">březen</string> - <string name="month_long_standalone_april">duben</string> - <string name="month_long_standalone_may">květen</string> - <string name="month_long_standalone_june">červen</string> - <string name="month_long_standalone_july">červenec</string> - <string name="month_long_standalone_august">srpen</string> - <string name="month_long_standalone_september">září</string> - <string name="month_long_standalone_october">říjen</string> - <string name="month_long_standalone_november">listopad</string> - <string name="month_long_standalone_december">prosinec</string> - - <string name="month_long_january">ledna</string> - <string name="month_long_february">února</string> - <string name="month_long_march">března</string> - <string name="month_long_april">dubna</string> - <string name="month_long_may">května</string> - <string name="month_long_june">června</string> - <string name="month_long_july">července</string> - <string name="month_long_august">srpna</string> - <string name="month_long_september">září</string> - <string name="month_long_october">října</string> - <string name="month_long_november">listopadu</string> - <string name="month_long_december">prosince</string> - - <string name="month_medium_january">1.</string> - <string name="month_medium_february">2.</string> - <string name="month_medium_march">3.</string> - <string name="month_medium_april">4.</string> - <string name="month_medium_may">5.</string> - <string name="month_medium_june">6.</string> - <string name="month_medium_july">7.</string> - <string name="month_medium_august">8.</string> - <string name="month_medium_september">9.</string> - <string name="month_medium_october">10.</string> - <string name="month_medium_november">11.</string> - <string name="month_medium_december">12.</string> - - <string name="month_shortest_january">l</string> - <string name="month_shortest_february">ú</string> - <string name="month_shortest_march">b</string> - <string name="month_shortest_april">d</string> - <string name="month_shortest_may">k</string> - <string name="month_shortest_june">č</string> - <string name="month_shortest_july">č</string> - <string name="month_shortest_august">s</string> - <string name="month_shortest_september">z</string> - <string name="month_shortest_october">ř</string> - <string name="month_shortest_november">l</string> - <string name="month_shortest_december">p</string> - - <string name="day_of_week_long_sunday">neděle</string> - <string name="day_of_week_long_monday">pondělí</string> - <string name="day_of_week_long_tuesday">úterý</string> - <string name="day_of_week_long_wednesday">středa</string> - <string name="day_of_week_long_thursday">čtvrtek</string> - <string name="day_of_week_long_friday">pátek</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">ne</string> - <string name="day_of_week_medium_monday">po</string> - <string name="day_of_week_medium_tuesday">út</string> - <string name="day_of_week_medium_wednesday">st</string> - <string name="day_of_week_medium_thursday">čt</string> - <string name="day_of_week_medium_friday">pá</string> - <string name="day_of_week_medium_saturday">so</string> - - <string name="day_of_week_short_sunday">ne</string> - <string name="day_of_week_short_monday">po</string> - <string name="day_of_week_short_tuesday">út</string> - <string name="day_of_week_short_wednesday">st</string> - <string name="day_of_week_short_thursday">čt</string> - <string name="day_of_week_short_friday">pá</string> - <string name="day_of_week_short_saturday">so</string> - - <string name="day_of_week_shortest_sunday">N</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">Ú</string> - <string name="day_of_week_shortest_wednesday">S</string> - <string name="day_of_week_shortest_thursday">Č</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">dop.</string> - <string name="pm">odp.</string> - <string name="yesterday">Včera</string> - <string name="today">Dnes</string> - <string name="tomorrow">Zítra</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-da/donottranslate-cldr.xml b/core/res/res/values-da/donottranslate-cldr.xml index 1dfc96c..d5b9878 100644 --- a/core/res/res/values-da/donottranslate-cldr.xml +++ b/core/res/res/values-da/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januar</string> - <string name="month_long_standalone_february">februar</string> - <string name="month_long_standalone_march">marts</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">maj</string> - <string name="month_long_standalone_june">juni</string> - <string name="month_long_standalone_july">juli</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januar</string> - <string name="month_long_february">februar</string> - <string name="month_long_march">marts</string> - <string name="month_long_april">april</string> - <string name="month_long_may">maj</string> - <string name="month_long_june">juni</string> - <string name="month_long_july">juli</string> - <string name="month_long_august">august</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">maj</string> - <string name="month_medium_june">jun.</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">søndag</string> - <string name="day_of_week_long_monday">mandag</string> - <string name="day_of_week_long_tuesday">tirsdag</string> - <string name="day_of_week_long_wednesday">onsdag</string> - <string name="day_of_week_long_thursday">torsdag</string> - <string name="day_of_week_long_friday">fredag</string> - <string name="day_of_week_long_saturday">lørdag</string> - - <string name="day_of_week_medium_sunday">søn.</string> - <string name="day_of_week_medium_monday">man.</string> - <string name="day_of_week_medium_tuesday">tir.</string> - <string name="day_of_week_medium_wednesday">ons.</string> - <string name="day_of_week_medium_thursday">tor.</string> - <string name="day_of_week_medium_friday">fre.</string> - <string name="day_of_week_medium_saturday">lør.</string> - - <string name="day_of_week_short_sunday">søn.</string> - <string name="day_of_week_short_monday">man.</string> - <string name="day_of_week_short_tuesday">tir.</string> - <string name="day_of_week_short_wednesday">ons.</string> - <string name="day_of_week_short_thursday">tor.</string> - <string name="day_of_week_short_friday">fre.</string> - <string name="day_of_week_short_saturday">lør.</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">O</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">L</string> - - <string name="am">f.m.</string> - <string name="pm">e.m.</string> - <string name="yesterday">i går</string> - <string name="today">i dag</string> - <string name="tomorrow">i morgen</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l.%M %p</string> <string name="hour_minute_cap_ampm">%-l.%M %^p</string> diff --git a/core/res/res/values-de/donottranslate-cldr.xml b/core/res/res/values-de/donottranslate-cldr.xml index 8b834db..9bdd8a3 100644 --- a/core/res/res/values-de/donottranslate-cldr.xml +++ b/core/res/res/values-de/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januar</string> - <string name="month_long_standalone_february">Februar</string> - <string name="month_long_standalone_march">März</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">Mai</string> - <string name="month_long_standalone_june">Juni</string> - <string name="month_long_standalone_july">Juli</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">Oktober</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">Dezember</string> - - <string name="month_long_january">Januar</string> - <string name="month_long_february">Februar</string> - <string name="month_long_march">März</string> - <string name="month_long_april">April</string> - <string name="month_long_may">Mai</string> - <string name="month_long_june">Juni</string> - <string name="month_long_july">Juli</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">Oktober</string> - <string name="month_long_november">November</string> - <string name="month_long_december">Dezember</string> - - <string name="month_medium_january">Jan.</string> - <string name="month_medium_february">Feb.</string> - <string name="month_medium_march">Mär.</string> - <string name="month_medium_april">Apr.</string> - <string name="month_medium_may">Mai</string> - <string name="month_medium_june">Jun.</string> - <string name="month_medium_july">Jul.</string> - <string name="month_medium_august">Aug.</string> - <string name="month_medium_september">Sep.</string> - <string name="month_medium_october">Okt.</string> - <string name="month_medium_november">Nov.</string> - <string name="month_medium_december">Dez.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sonntag</string> - <string name="day_of_week_long_monday">Montag</string> - <string name="day_of_week_long_tuesday">Dienstag</string> - <string name="day_of_week_long_wednesday">Mittwoch</string> - <string name="day_of_week_long_thursday">Donnerstag</string> - <string name="day_of_week_long_friday">Freitag</string> - <string name="day_of_week_long_saturday">Samstag</string> - - <string name="day_of_week_medium_sunday">So.</string> - <string name="day_of_week_medium_monday">Mo.</string> - <string name="day_of_week_medium_tuesday">Di.</string> - <string name="day_of_week_medium_wednesday">Mi.</string> - <string name="day_of_week_medium_thursday">Do.</string> - <string name="day_of_week_medium_friday">Fr.</string> - <string name="day_of_week_medium_saturday">Sa.</string> - - <string name="day_of_week_short_sunday">So.</string> - <string name="day_of_week_short_monday">Mo.</string> - <string name="day_of_week_short_tuesday">Di.</string> - <string name="day_of_week_short_wednesday">Mi.</string> - <string name="day_of_week_short_thursday">Do.</string> - <string name="day_of_week_short_friday">Fr.</string> - <string name="day_of_week_short_saturday">Sa.</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">D</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">D</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">vorm.</string> - <string name="pm">nachm.</string> - <string name="yesterday">Gestern</string> - <string name="today">Heute</string> - <string name="tomorrow">Morgen</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-el/donottranslate-cldr.xml b/core/res/res/values-el/donottranslate-cldr.xml index 1e7caa4..a0c69b5 100644 --- a/core/res/res/values-el/donottranslate-cldr.xml +++ b/core/res/res/values-el/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Ιανουάριος</string> - <string name="month_long_standalone_february">Φεβρουάριος</string> - <string name="month_long_standalone_march">Μάρτιος</string> - <string name="month_long_standalone_april">Απρίλιος</string> - <string name="month_long_standalone_may">Μάιος</string> - <string name="month_long_standalone_june">Ιούνιος</string> - <string name="month_long_standalone_july">Ιούλιος</string> - <string name="month_long_standalone_august">Αύγουστος</string> - <string name="month_long_standalone_september">Σεπτέμβριος</string> - <string name="month_long_standalone_october">Οκτώβριος</string> - <string name="month_long_standalone_november">Νοέμβριος</string> - <string name="month_long_standalone_december">Δεκέμβριος</string> - - <string name="month_long_january">Ιανουαρίου</string> - <string name="month_long_february">Φεβρουαρίου</string> - <string name="month_long_march">Μαρτίου</string> - <string name="month_long_april">Απριλίου</string> - <string name="month_long_may">Μαΐου</string> - <string name="month_long_june">Ιουνίου</string> - <string name="month_long_july">Ιουλίου</string> - <string name="month_long_august">Αυγούστου</string> - <string name="month_long_september">Σεπτεμβρίου</string> - <string name="month_long_october">Οκτωβρίου</string> - <string name="month_long_november">Νοεμβρίου</string> - <string name="month_long_december">Δεκεμβρίου</string> - - <string name="month_medium_january">Ιαν</string> - <string name="month_medium_february">Φεβ</string> - <string name="month_medium_march">Μαρ</string> - <string name="month_medium_april">Απρ</string> - <string name="month_medium_may">Μαϊ</string> - <string name="month_medium_june">Ιουν</string> - <string name="month_medium_july">Ιουλ</string> - <string name="month_medium_august">Αυγ</string> - <string name="month_medium_september">Σεπ</string> - <string name="month_medium_october">Οκτ</string> - <string name="month_medium_november">Νοε</string> - <string name="month_medium_december">Δεκ</string> - - <string name="month_shortest_january">Ι</string> - <string name="month_shortest_february">Φ</string> - <string name="month_shortest_march">Μ</string> - <string name="month_shortest_april">Α</string> - <string name="month_shortest_may">Μ</string> - <string name="month_shortest_june">Ι</string> - <string name="month_shortest_july">Ι</string> - <string name="month_shortest_august">Α</string> - <string name="month_shortest_september">Σ</string> - <string name="month_shortest_october">Ο</string> - <string name="month_shortest_november">Ν</string> - <string name="month_shortest_december">Δ</string> - - <string name="day_of_week_long_sunday">Κυριακή</string> - <string name="day_of_week_long_monday">Δευτέρα</string> - <string name="day_of_week_long_tuesday">Τρίτη</string> - <string name="day_of_week_long_wednesday">Τετάρτη</string> - <string name="day_of_week_long_thursday">Πέμπτη</string> - <string name="day_of_week_long_friday">Παρασκευή</string> - <string name="day_of_week_long_saturday">Σάββατο</string> - - <string name="day_of_week_medium_sunday">Κυρ</string> - <string name="day_of_week_medium_monday">Δευ</string> - <string name="day_of_week_medium_tuesday">Τρι</string> - <string name="day_of_week_medium_wednesday">Τετ</string> - <string name="day_of_week_medium_thursday">Πεμ</string> - <string name="day_of_week_medium_friday">Παρ</string> - <string name="day_of_week_medium_saturday">Σαβ</string> - - <string name="day_of_week_short_sunday">Κυρ</string> - <string name="day_of_week_short_monday">Δευ</string> - <string name="day_of_week_short_tuesday">Τρι</string> - <string name="day_of_week_short_wednesday">Τετ</string> - <string name="day_of_week_short_thursday">Πεμ</string> - <string name="day_of_week_short_friday">Παρ</string> - <string name="day_of_week_short_saturday">Σαβ</string> - - <string name="day_of_week_shortest_sunday">Κ</string> - <string name="day_of_week_shortest_monday">Δ</string> - <string name="day_of_week_shortest_tuesday">Τ</string> - <string name="day_of_week_shortest_wednesday">Τ</string> - <string name="day_of_week_shortest_thursday">Π</string> - <string name="day_of_week_shortest_friday">Π</string> - <string name="day_of_week_shortest_saturday">Σ</string> - - <string name="am">π.μ.</string> - <string name="pm">μ.μ.</string> - <string name="yesterday">Χτες</string> - <string name="today">Σήμερα</string> - <string name="tomorrow">Αύριο</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-en-rAU/donottranslate-cldr.xml b/core/res/res/values-en-rAU/donottranslate-cldr.xml index 557833e..947fe92 100644 --- a/core/res/res/values-en-rAU/donottranslate-cldr.xml +++ b/core/res/res/values-en-rAU/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rCA/donottranslate-cldr.xml b/core/res/res/values-en-rCA/donottranslate-cldr.xml index 2aa7cbe..1845f28 100644 --- a/core/res/res/values-en-rCA/donottranslate-cldr.xml +++ b/core/res/res/values-en-rCA/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rGB/donottranslate-cldr.xml b/core/res/res/values-en-rGB/donottranslate-cldr.xml index cce895e..a10dfa50 100644 --- a/core/res/res/values-en-rGB/donottranslate-cldr.xml +++ b/core/res/res/values-en-rGB/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rIE/donottranslate-cldr.xml b/core/res/res/values-en-rIE/donottranslate-cldr.xml index 46b13ec..65cab99 100644 --- a/core/res/res/values-en-rIE/donottranslate-cldr.xml +++ b/core/res/res/values-en-rIE/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">a.m.</string> - <string name="pm">p.m.</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rIN/donottranslate-cldr.xml b/core/res/res/values-en-rIN/donottranslate-cldr.xml index 177bd7e..48942fe 100644 --- a/core/res/res/values-en-rIN/donottranslate-cldr.xml +++ b/core/res/res/values-en-rIN/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rNZ/donottranslate-cldr.xml b/core/res/res/values-en-rNZ/donottranslate-cldr.xml index 41a00a5..117dda8 100644 --- a/core/res/res/values-en-rNZ/donottranslate-cldr.xml +++ b/core/res/res/values-en-rNZ/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rUS/donottranslate-cldr.xml b/core/res/res/values-en-rUS/donottranslate-cldr.xml index 15fcd8b..0587c16 100644 --- a/core/res/res/values-en-rUS/donottranslate-cldr.xml +++ b/core/res/res/values-en-rUS/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-en-rZA/donottranslate-cldr.xml b/core/res/res/values-en-rZA/donottranslate-cldr.xml index 7a5bdbd..48ebc6e 100644 --- a/core/res/res/values-en-rZA/donottranslate-cldr.xml +++ b/core/res/res/values-en-rZA/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-es-rUS/donottranslate-cldr.xml b/core/res/res/values-es-rUS/donottranslate-cldr.xml index e2c3254..9224786 100644 --- a/core/res/res/values-es-rUS/donottranslate-cldr.xml +++ b/core/res/res/values-es-rUS/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">enero</string> - <string name="month_long_standalone_february">febrero</string> - <string name="month_long_standalone_march">marzo</string> - <string name="month_long_standalone_april">abril</string> - <string name="month_long_standalone_may">mayo</string> - <string name="month_long_standalone_june">junio</string> - <string name="month_long_standalone_july">julio</string> - <string name="month_long_standalone_august">agosto</string> - <string name="month_long_standalone_september">septiembre</string> - <string name="month_long_standalone_october">octubre</string> - <string name="month_long_standalone_november">noviembre</string> - <string name="month_long_standalone_december">diciembre</string> - - <string name="month_long_january">enero</string> - <string name="month_long_february">febrero</string> - <string name="month_long_march">marzo</string> - <string name="month_long_april">abril</string> - <string name="month_long_may">mayo</string> - <string name="month_long_june">junio</string> - <string name="month_long_july">julio</string> - <string name="month_long_august">agosto</string> - <string name="month_long_september">septiembre</string> - <string name="month_long_october">octubre</string> - <string name="month_long_november">noviembre</string> - <string name="month_long_december">diciembre</string> - - <string name="month_medium_january">ene.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">abr.</string> - <string name="month_medium_may">may.</string> - <string name="month_medium_june">jun.</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">ago.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dic.</string> - - <string name="month_shortest_january">E</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">domingo</string> - <string name="day_of_week_long_monday">lunes</string> - <string name="day_of_week_long_tuesday">martes</string> - <string name="day_of_week_long_wednesday">miércoles</string> - <string name="day_of_week_long_thursday">jueves</string> - <string name="day_of_week_long_friday">viernes</string> - <string name="day_of_week_long_saturday">sábado</string> - - <string name="day_of_week_medium_sunday">dom.</string> - <string name="day_of_week_medium_monday">lun.</string> - <string name="day_of_week_medium_tuesday">mar.</string> - <string name="day_of_week_medium_wednesday">mié.</string> - <string name="day_of_week_medium_thursday">jue.</string> - <string name="day_of_week_medium_friday">vie.</string> - <string name="day_of_week_medium_saturday">sáb.</string> - - <string name="day_of_week_short_sunday">dom.</string> - <string name="day_of_week_short_monday">lun.</string> - <string name="day_of_week_short_tuesday">mar.</string> - <string name="day_of_week_short_wednesday">mié.</string> - <string name="day_of_week_short_thursday">jue.</string> - <string name="day_of_week_short_friday">vie.</string> - <string name="day_of_week_short_saturday">sáb.</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">J</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">a. m.</string> - <string name="pm">p. m.</string> - <string name="yesterday">ayer</string> - <string name="today">hoy</string> - <string name="tomorrow">mañana</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-es/donottranslate-cldr.xml b/core/res/res/values-es/donottranslate-cldr.xml index faf171a..0a680b6 100644 --- a/core/res/res/values-es/donottranslate-cldr.xml +++ b/core/res/res/values-es/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">enero</string> - <string name="month_long_standalone_february">febrero</string> - <string name="month_long_standalone_march">marzo</string> - <string name="month_long_standalone_april">abril</string> - <string name="month_long_standalone_may">mayo</string> - <string name="month_long_standalone_june">junio</string> - <string name="month_long_standalone_july">julio</string> - <string name="month_long_standalone_august">agosto</string> - <string name="month_long_standalone_september">septiembre</string> - <string name="month_long_standalone_october">octubre</string> - <string name="month_long_standalone_november">noviembre</string> - <string name="month_long_standalone_december">diciembre</string> - - <string name="month_long_january">enero</string> - <string name="month_long_february">febrero</string> - <string name="month_long_march">marzo</string> - <string name="month_long_april">abril</string> - <string name="month_long_may">mayo</string> - <string name="month_long_june">junio</string> - <string name="month_long_july">julio</string> - <string name="month_long_august">agosto</string> - <string name="month_long_september">septiembre</string> - <string name="month_long_october">octubre</string> - <string name="month_long_november">noviembre</string> - <string name="month_long_december">diciembre</string> - - <string name="month_medium_january">ene.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">abr.</string> - <string name="month_medium_may">may.</string> - <string name="month_medium_june">jun.</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">ago.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dic.</string> - - <string name="month_shortest_january">E</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">domingo</string> - <string name="day_of_week_long_monday">lunes</string> - <string name="day_of_week_long_tuesday">martes</string> - <string name="day_of_week_long_wednesday">miércoles</string> - <string name="day_of_week_long_thursday">jueves</string> - <string name="day_of_week_long_friday">viernes</string> - <string name="day_of_week_long_saturday">sábado</string> - - <string name="day_of_week_medium_sunday">dom.</string> - <string name="day_of_week_medium_monday">lun.</string> - <string name="day_of_week_medium_tuesday">mar.</string> - <string name="day_of_week_medium_wednesday">mié.</string> - <string name="day_of_week_medium_thursday">jue.</string> - <string name="day_of_week_medium_friday">vie.</string> - <string name="day_of_week_medium_saturday">sáb.</string> - - <string name="day_of_week_short_sunday">dom.</string> - <string name="day_of_week_short_monday">lun.</string> - <string name="day_of_week_short_tuesday">mar.</string> - <string name="day_of_week_short_wednesday">mié.</string> - <string name="day_of_week_short_thursday">jue.</string> - <string name="day_of_week_short_friday">vie.</string> - <string name="day_of_week_short_saturday">sáb.</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">J</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">a.m.</string> - <string name="pm">p.m.</string> - <string name="yesterday">ayer</string> - <string name="today">hoy</string> - <string name="tomorrow">mañana</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-et/donottranslate-cldr.xml b/core/res/res/values-et/donottranslate-cldr.xml index d50d041..bf269dd 100644 --- a/core/res/res/values-et/donottranslate-cldr.xml +++ b/core/res/res/values-et/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">jaanuar</string> - <string name="month_long_standalone_february">veebruar</string> - <string name="month_long_standalone_march">märts</string> - <string name="month_long_standalone_april">aprill</string> - <string name="month_long_standalone_may">mai</string> - <string name="month_long_standalone_june">juuni</string> - <string name="month_long_standalone_july">juuli</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktoober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">detsember</string> - - <string name="month_long_january">jaanuar</string> - <string name="month_long_february">veebruar</string> - <string name="month_long_march">märts</string> - <string name="month_long_april">aprill</string> - <string name="month_long_may">mai</string> - <string name="month_long_june">juuni</string> - <string name="month_long_july">juuli</string> - <string name="month_long_august">august</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktoober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">detsember</string> - - <string name="month_medium_january">jaan</string> - <string name="month_medium_february">veebr</string> - <string name="month_medium_march">märts</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">juuni</string> - <string name="month_medium_july">juuli</string> - <string name="month_medium_august">aug</string> - <string name="month_medium_september">sept</string> - <string name="month_medium_october">okt</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dets</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">pühapäev</string> - <string name="day_of_week_long_monday">esmaspäev</string> - <string name="day_of_week_long_tuesday">teisipäev</string> - <string name="day_of_week_long_wednesday">kolmapäev</string> - <string name="day_of_week_long_thursday">neljapäev</string> - <string name="day_of_week_long_friday">reede</string> - <string name="day_of_week_long_saturday">laupäev</string> - - <string name="day_of_week_medium_sunday">P</string> - <string name="day_of_week_medium_monday">E</string> - <string name="day_of_week_medium_tuesday">T</string> - <string name="day_of_week_medium_wednesday">K</string> - <string name="day_of_week_medium_thursday">N</string> - <string name="day_of_week_medium_friday">R</string> - <string name="day_of_week_medium_saturday">L</string> - - <string name="day_of_week_short_sunday">P</string> - <string name="day_of_week_short_monday">E</string> - <string name="day_of_week_short_tuesday">T</string> - <string name="day_of_week_short_wednesday">K</string> - <string name="day_of_week_short_thursday">N</string> - <string name="day_of_week_short_friday">R</string> - <string name="day_of_week_short_saturday">L</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-fa/donottranslate-cldr.xml b/core/res/res/values-fa/donottranslate-cldr.xml index 11473fe..b05268e 100644 --- a/core/res/res/values-fa/donottranslate-cldr.xml +++ b/core/res/res/values-fa/donottranslate-cldr.xml @@ -1,82 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">ژانویه</string> - <string name="month_long_standalone_february">فوریه</string> - <string name="month_long_standalone_march">مارس</string> - <string name="month_long_standalone_april">آوریل</string> - <string name="month_long_standalone_may">مه</string> - <string name="month_long_standalone_june">ژوئن</string> - <string name="month_long_standalone_july">ژوئیه</string> - <string name="month_long_standalone_august">اوت</string> - <string name="month_long_standalone_september">سپتامبر</string> - <string name="month_long_standalone_october">اکتبر</string> - <string name="month_long_standalone_november">نوامبر</string> - <string name="month_long_standalone_december">دسامبر</string> - - <string name="month_long_january">ژانویهٔ</string> - <string name="month_long_february">فوریهٔ</string> - <string name="month_long_march">مارس</string> - <string name="month_long_april">آوریل</string> - <string name="month_long_may">مهٔ</string> - <string name="month_long_june">ژوئن</string> - <string name="month_long_july">ژوئیهٔ</string> - <string name="month_long_august">اوت</string> - <string name="month_long_september">سپتامبر</string> - <string name="month_long_october">اکتبر</string> - <string name="month_long_november">نوامبر</string> - <string name="month_long_december">دسامبر</string> - - <string name="month_medium_january">ژانویهٔ</string> - <string name="month_medium_february">فوریهٔ</string> - <string name="month_medium_march">مارس</string> - <string name="month_medium_april">آوریل</string> - <string name="month_medium_may">مهٔ</string> - <string name="month_medium_june">ژوئن</string> - <string name="month_medium_july">ژوئیهٔ</string> - <string name="month_medium_august">اوت</string> - <string name="month_medium_september">سپتامبر</string> - <string name="month_medium_october">اکتبر</string> - <string name="month_medium_november">نوامبر</string> - <string name="month_medium_december">دسامبر</string> - - <string name="month_shortest_january">ژ</string> - <string name="month_shortest_february">ف</string> - <string name="month_shortest_march">م</string> - <string name="month_shortest_april">آ</string> - <string name="month_shortest_may">م</string> - <string name="month_shortest_june">ژ</string> - <string name="month_shortest_july">ژ</string> - <string name="month_shortest_august">ا</string> - <string name="month_shortest_september">س</string> - <string name="month_shortest_october">ا</string> - <string name="month_shortest_november">ن</string> - <string name="month_shortest_december">د</string> - - <string name="day_of_week_long_sunday">یکشنبه</string> - <string name="day_of_week_long_monday">دوشنبه</string> - <string name="day_of_week_long_tuesday">سهشنبه</string> - <string name="day_of_week_long_wednesday">چهارشنبه</string> - <string name="day_of_week_long_thursday">پنجشنبه</string> - <string name="day_of_week_long_friday">جمعه</string> - <string name="day_of_week_long_saturday">شنبه</string> - - - - <string name="day_of_week_shortest_sunday">ی</string> - <string name="day_of_week_shortest_monday">د</string> - <string name="day_of_week_shortest_tuesday">س</string> - <string name="day_of_week_shortest_wednesday">چ</string> - <string name="day_of_week_shortest_thursday">پ</string> - <string name="day_of_week_shortest_friday">ج</string> - <string name="day_of_week_shortest_saturday">ش</string> - - <string name="am">قبل از ظهر</string> - <string name="pm">بعد از ظهر</string> - <string name="yesterday">دیروز</string> - <string name="today">امروز</string> - <string name="tomorrow">فردا</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-fi-rFI/donottranslate-cldr.xml b/core/res/res/values-fi-rFI/donottranslate-cldr.xml index e9e1a25..04f0a77 100644 --- a/core/res/res/values-fi-rFI/donottranslate-cldr.xml +++ b/core/res/res/values-fi-rFI/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">tammikuu</string> - <string name="month_long_standalone_february">helmikuu</string> - <string name="month_long_standalone_march">maaliskuu</string> - <string name="month_long_standalone_april">huhtikuu</string> - <string name="month_long_standalone_may">toukokuu</string> - <string name="month_long_standalone_june">kesäkuu</string> - <string name="month_long_standalone_july">heinäkuu</string> - <string name="month_long_standalone_august">elokuu</string> - <string name="month_long_standalone_september">syyskuu</string> - <string name="month_long_standalone_october">lokakuu</string> - <string name="month_long_standalone_november">marraskuu</string> - <string name="month_long_standalone_december">joulukuu</string> - - <string name="month_long_january">tammikuuta</string> - <string name="month_long_february">helmikuuta</string> - <string name="month_long_march">maaliskuuta</string> - <string name="month_long_april">huhtikuuta</string> - <string name="month_long_may">toukokuuta</string> - <string name="month_long_june">kesäkuuta</string> - <string name="month_long_july">heinäkuuta</string> - <string name="month_long_august">elokuuta</string> - <string name="month_long_september">syyskuuta</string> - <string name="month_long_october">lokakuuta</string> - <string name="month_long_november">marraskuuta</string> - <string name="month_long_december">joulukuuta</string> - - <string name="month_medium_january">tammikuuta</string> - <string name="month_medium_february">helmikuuta</string> - <string name="month_medium_march">maaliskuuta</string> - <string name="month_medium_april">huhtikuuta</string> - <string name="month_medium_may">toukokuuta</string> - <string name="month_medium_june">kesäkuuta</string> - <string name="month_medium_july">heinäkuuta</string> - <string name="month_medium_august">elokuuta</string> - <string name="month_medium_september">syyskuuta</string> - <string name="month_medium_october">lokakuuta</string> - <string name="month_medium_november">marraskuuta</string> - <string name="month_medium_december">joulukuuta</string> - - <string name="month_shortest_january">T</string> - <string name="month_shortest_february">H</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">H</string> - <string name="month_shortest_may">T</string> - <string name="month_shortest_june">K</string> - <string name="month_shortest_july">H</string> - <string name="month_shortest_august">E</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">L</string> - <string name="month_shortest_november">M</string> - <string name="month_shortest_december">J</string> - - <string name="day_of_week_long_sunday">sunnuntai</string> - <string name="day_of_week_long_monday">maanantai</string> - <string name="day_of_week_long_tuesday">tiistai</string> - <string name="day_of_week_long_wednesday">keskiviikko</string> - <string name="day_of_week_long_thursday">torstai</string> - <string name="day_of_week_long_friday">perjantai</string> - <string name="day_of_week_long_saturday">lauantai</string> - - <string name="day_of_week_medium_sunday">su</string> - <string name="day_of_week_medium_monday">ma</string> - <string name="day_of_week_medium_tuesday">ti</string> - <string name="day_of_week_medium_wednesday">ke</string> - <string name="day_of_week_medium_thursday">to</string> - <string name="day_of_week_medium_friday">pe</string> - <string name="day_of_week_medium_saturday">la</string> - - <string name="day_of_week_short_sunday">su</string> - <string name="day_of_week_short_monday">ma</string> - <string name="day_of_week_short_tuesday">ti</string> - <string name="day_of_week_short_wednesday">ke</string> - <string name="day_of_week_short_thursday">to</string> - <string name="day_of_week_short_friday">pe</string> - <string name="day_of_week_short_saturday">la</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">K</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">L</string> - - <string name="am">ap.</string> - <string name="pm">ip.</string> - <string name="yesterday">eilen</string> - <string name="today">tänään</string> - <string name="tomorrow">huomenna</string> - <string name="hour_minute_24">%-k.%M</string> <string name="hour_minute_ampm">%-l.%M %p</string> <string name="hour_minute_cap_ampm">%-l.%M %^p</string> diff --git a/core/res/res/values-fi/donottranslate-cldr.xml b/core/res/res/values-fi/donottranslate-cldr.xml index 71cccf3..543595f 100644 --- a/core/res/res/values-fi/donottranslate-cldr.xml +++ b/core/res/res/values-fi/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">tammikuu</string> - <string name="month_long_standalone_february">helmikuu</string> - <string name="month_long_standalone_march">maaliskuu</string> - <string name="month_long_standalone_april">huhtikuu</string> - <string name="month_long_standalone_may">toukokuu</string> - <string name="month_long_standalone_june">kesäkuu</string> - <string name="month_long_standalone_july">heinäkuu</string> - <string name="month_long_standalone_august">elokuu</string> - <string name="month_long_standalone_september">syyskuu</string> - <string name="month_long_standalone_october">lokakuu</string> - <string name="month_long_standalone_november">marraskuu</string> - <string name="month_long_standalone_december">joulukuu</string> - - <string name="month_long_january">tammikuuta</string> - <string name="month_long_february">helmikuuta</string> - <string name="month_long_march">maaliskuuta</string> - <string name="month_long_april">huhtikuuta</string> - <string name="month_long_may">toukokuuta</string> - <string name="month_long_june">kesäkuuta</string> - <string name="month_long_july">heinäkuuta</string> - <string name="month_long_august">elokuuta</string> - <string name="month_long_september">syyskuuta</string> - <string name="month_long_october">lokakuuta</string> - <string name="month_long_november">marraskuuta</string> - <string name="month_long_december">joulukuuta</string> - - <string name="month_medium_january">tammikuuta</string> - <string name="month_medium_february">helmikuuta</string> - <string name="month_medium_march">maaliskuuta</string> - <string name="month_medium_april">huhtikuuta</string> - <string name="month_medium_may">toukokuuta</string> - <string name="month_medium_june">kesäkuuta</string> - <string name="month_medium_july">heinäkuuta</string> - <string name="month_medium_august">elokuuta</string> - <string name="month_medium_september">syyskuuta</string> - <string name="month_medium_october">lokakuuta</string> - <string name="month_medium_november">marraskuuta</string> - <string name="month_medium_december">joulukuuta</string> - - <string name="month_shortest_january">T</string> - <string name="month_shortest_february">H</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">H</string> - <string name="month_shortest_may">T</string> - <string name="month_shortest_june">K</string> - <string name="month_shortest_july">H</string> - <string name="month_shortest_august">E</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">L</string> - <string name="month_shortest_november">M</string> - <string name="month_shortest_december">J</string> - - <string name="day_of_week_long_sunday">sunnuntaina</string> - <string name="day_of_week_long_monday">maanantaina</string> - <string name="day_of_week_long_tuesday">tiistaina</string> - <string name="day_of_week_long_wednesday">keskiviikkona</string> - <string name="day_of_week_long_thursday">torstaina</string> - <string name="day_of_week_long_friday">perjantaina</string> - <string name="day_of_week_long_saturday">lauantaina</string> - - <string name="day_of_week_medium_sunday">su</string> - <string name="day_of_week_medium_monday">ma</string> - <string name="day_of_week_medium_tuesday">ti</string> - <string name="day_of_week_medium_wednesday">ke</string> - <string name="day_of_week_medium_thursday">to</string> - <string name="day_of_week_medium_friday">pe</string> - <string name="day_of_week_medium_saturday">la</string> - - <string name="day_of_week_short_sunday">su</string> - <string name="day_of_week_short_monday">ma</string> - <string name="day_of_week_short_tuesday">ti</string> - <string name="day_of_week_short_wednesday">ke</string> - <string name="day_of_week_short_thursday">to</string> - <string name="day_of_week_short_friday">pe</string> - <string name="day_of_week_short_saturday">la</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">K</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">L</string> - - <string name="am">ap.</string> - <string name="pm">ip.</string> - <string name="yesterday">eilen</string> - <string name="today">tänään</string> - <string name="tomorrow">huomenna</string> - <string name="hour_minute_24">%-k.%M</string> <string name="hour_minute_ampm">%-l.%M %p</string> <string name="hour_minute_cap_ampm">%-l.%M %^p</string> diff --git a/core/res/res/values-fr/donottranslate-cldr.xml b/core/res/res/values-fr/donottranslate-cldr.xml index 840f728..ff10aec 100644 --- a/core/res/res/values-fr/donottranslate-cldr.xml +++ b/core/res/res/values-fr/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">janvier</string> - <string name="month_long_standalone_february">février</string> - <string name="month_long_standalone_march">mars</string> - <string name="month_long_standalone_april">avril</string> - <string name="month_long_standalone_may">mai</string> - <string name="month_long_standalone_june">juin</string> - <string name="month_long_standalone_july">juillet</string> - <string name="month_long_standalone_august">août</string> - <string name="month_long_standalone_september">septembre</string> - <string name="month_long_standalone_october">octobre</string> - <string name="month_long_standalone_november">novembre</string> - <string name="month_long_standalone_december">décembre</string> - - <string name="month_long_january">janvier</string> - <string name="month_long_february">février</string> - <string name="month_long_march">mars</string> - <string name="month_long_april">avril</string> - <string name="month_long_may">mai</string> - <string name="month_long_june">juin</string> - <string name="month_long_july">juillet</string> - <string name="month_long_august">août</string> - <string name="month_long_september">septembre</string> - <string name="month_long_october">octobre</string> - <string name="month_long_november">novembre</string> - <string name="month_long_december">décembre</string> - - <string name="month_medium_january">janv.</string> - <string name="month_medium_february">févr.</string> - <string name="month_medium_march">mars</string> - <string name="month_medium_april">avr.</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">juin</string> - <string name="month_medium_july">juil.</string> - <string name="month_medium_august">août</string> - <string name="month_medium_september">sept.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">déc.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">dimanche</string> - <string name="day_of_week_long_monday">lundi</string> - <string name="day_of_week_long_tuesday">mardi</string> - <string name="day_of_week_long_wednesday">mercredi</string> - <string name="day_of_week_long_thursday">jeudi</string> - <string name="day_of_week_long_friday">vendredi</string> - <string name="day_of_week_long_saturday">samedi</string> - - <string name="day_of_week_medium_sunday">dim.</string> - <string name="day_of_week_medium_monday">lun.</string> - <string name="day_of_week_medium_tuesday">mar.</string> - <string name="day_of_week_medium_wednesday">mer.</string> - <string name="day_of_week_medium_thursday">jeu.</string> - <string name="day_of_week_medium_friday">ven.</string> - <string name="day_of_week_medium_saturday">sam.</string> - - <string name="day_of_week_short_sunday">dim.</string> - <string name="day_of_week_short_monday">lun.</string> - <string name="day_of_week_short_tuesday">mar.</string> - <string name="day_of_week_short_wednesday">mer.</string> - <string name="day_of_week_short_thursday">jeu.</string> - <string name="day_of_week_short_friday">ven.</string> - <string name="day_of_week_short_saturday">sam.</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">J</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">matin</string> - <string name="pm">soir</string> - <string name="yesterday">hier</string> - <string name="today">aujourd’hui</string> - <string name="tomorrow">demain</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-hi-rIN/donottranslate-cldr.xml b/core/res/res/values-hi-rIN/donottranslate-cldr.xml index 6bfd3de..5371e15 100644 --- a/core/res/res/values-hi-rIN/donottranslate-cldr.xml +++ b/core/res/res/values-hi-rIN/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">जनवरी</string> - <string name="month_long_standalone_february">फरवरी</string> - <string name="month_long_standalone_march">मार्च</string> - <string name="month_long_standalone_april">अप्रैल</string> - <string name="month_long_standalone_may">मई</string> - <string name="month_long_standalone_june">जून</string> - <string name="month_long_standalone_july">जुलाई</string> - <string name="month_long_standalone_august">अगस्त</string> - <string name="month_long_standalone_september">सितम्बर</string> - <string name="month_long_standalone_october">अक्तूबर</string> - <string name="month_long_standalone_november">नवम्बर</string> - <string name="month_long_standalone_december">दिसम्बर</string> - - <string name="month_long_january">जनवरी</string> - <string name="month_long_february">फरवरी</string> - <string name="month_long_march">मार्च</string> - <string name="month_long_april">अप्रैल</string> - <string name="month_long_may">मई</string> - <string name="month_long_june">जून</string> - <string name="month_long_july">जुलाई</string> - <string name="month_long_august">अगस्त</string> - <string name="month_long_september">सितम्बर</string> - <string name="month_long_october">अक्तूबर</string> - <string name="month_long_november">नवम्बर</string> - <string name="month_long_december">दिसम्बर</string> - - <string name="month_medium_january">जनवरी</string> - <string name="month_medium_february">फरवरी</string> - <string name="month_medium_march">मार्च</string> - <string name="month_medium_april">अप्रैल</string> - <string name="month_medium_may">मई</string> - <string name="month_medium_june">जून</string> - <string name="month_medium_july">जुलाई</string> - <string name="month_medium_august">अगस्त</string> - <string name="month_medium_september">सितम्बर</string> - <string name="month_medium_october">अक्तूबर</string> - <string name="month_medium_november">नवम्बर</string> - <string name="month_medium_december">दिसम्बर</string> - - <string name="month_shortest_january">ज</string> - <string name="month_shortest_february">फ़</string> - <string name="month_shortest_march">मा</string> - <string name="month_shortest_april">अ</string> - <string name="month_shortest_may">म</string> - <string name="month_shortest_june">जू</string> - <string name="month_shortest_july">जु</string> - <string name="month_shortest_august">अ</string> - <string name="month_shortest_september">सि</string> - <string name="month_shortest_october">अ</string> - <string name="month_shortest_november">न</string> - <string name="month_shortest_december">दि</string> - - <string name="day_of_week_long_sunday">रविवार</string> - <string name="day_of_week_long_monday">सोमवार</string> - <string name="day_of_week_long_tuesday">मंगलवार</string> - <string name="day_of_week_long_wednesday">बुधवार</string> - <string name="day_of_week_long_thursday">गुरुवार</string> - <string name="day_of_week_long_friday">शुक्रवार</string> - <string name="day_of_week_long_saturday">शनिवार</string> - - <string name="day_of_week_medium_sunday">रवि</string> - <string name="day_of_week_medium_monday">सोम</string> - <string name="day_of_week_medium_tuesday">मंगल</string> - <string name="day_of_week_medium_wednesday">बुध</string> - <string name="day_of_week_medium_thursday">गुरु</string> - <string name="day_of_week_medium_friday">शुक्र</string> - <string name="day_of_week_medium_saturday">शनि</string> - - <string name="day_of_week_short_sunday">रवि</string> - <string name="day_of_week_short_monday">सोम</string> - <string name="day_of_week_short_tuesday">मंगल</string> - <string name="day_of_week_short_wednesday">बुध</string> - <string name="day_of_week_short_thursday">गुरु</string> - <string name="day_of_week_short_friday">शुक्र</string> - <string name="day_of_week_short_saturday">शनि</string> - - <string name="day_of_week_shortest_sunday">र</string> - <string name="day_of_week_shortest_monday">सो</string> - <string name="day_of_week_shortest_tuesday">मं</string> - <string name="day_of_week_shortest_wednesday">बु</string> - <string name="day_of_week_shortest_thursday">गु</string> - <string name="day_of_week_shortest_friday">शु</string> - <string name="day_of_week_shortest_saturday">श</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-hi/donottranslate-cldr.xml b/core/res/res/values-hi/donottranslate-cldr.xml index d9405d8..8043169 100644 --- a/core/res/res/values-hi/donottranslate-cldr.xml +++ b/core/res/res/values-hi/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">जनवरी</string> - <string name="month_long_standalone_february">फरवरी</string> - <string name="month_long_standalone_march">मार्च</string> - <string name="month_long_standalone_april">अप्रैल</string> - <string name="month_long_standalone_may">मई</string> - <string name="month_long_standalone_june">जून</string> - <string name="month_long_standalone_july">जुलाई</string> - <string name="month_long_standalone_august">अगस्त</string> - <string name="month_long_standalone_september">सितम्बर</string> - <string name="month_long_standalone_october">अक्तूबर</string> - <string name="month_long_standalone_november">नवम्बर</string> - <string name="month_long_standalone_december">दिसम्बर</string> - - <string name="month_long_january">जनवरी</string> - <string name="month_long_february">फरवरी</string> - <string name="month_long_march">मार्च</string> - <string name="month_long_april">अप्रैल</string> - <string name="month_long_may">मई</string> - <string name="month_long_june">जून</string> - <string name="month_long_july">जुलाई</string> - <string name="month_long_august">अगस्त</string> - <string name="month_long_september">सितम्बर</string> - <string name="month_long_october">अक्तूबर</string> - <string name="month_long_november">नवम्बर</string> - <string name="month_long_december">दिसम्बर</string> - - <string name="month_medium_january">जनवरी</string> - <string name="month_medium_february">फरवरी</string> - <string name="month_medium_march">मार्च</string> - <string name="month_medium_april">अप्रैल</string> - <string name="month_medium_may">मई</string> - <string name="month_medium_june">जून</string> - <string name="month_medium_july">जुलाई</string> - <string name="month_medium_august">अगस्त</string> - <string name="month_medium_september">सितम्बर</string> - <string name="month_medium_october">अक्तूबर</string> - <string name="month_medium_november">नवम्बर</string> - <string name="month_medium_december">दिसम्बर</string> - - <string name="month_shortest_january">ज</string> - <string name="month_shortest_february">फ़</string> - <string name="month_shortest_march">मा</string> - <string name="month_shortest_april">अ</string> - <string name="month_shortest_may">म</string> - <string name="month_shortest_june">जू</string> - <string name="month_shortest_july">जु</string> - <string name="month_shortest_august">अ</string> - <string name="month_shortest_september">सि</string> - <string name="month_shortest_october">अ</string> - <string name="month_shortest_november">न</string> - <string name="month_shortest_december">दि</string> - - <string name="day_of_week_long_sunday">रविवार</string> - <string name="day_of_week_long_monday">सोमवार</string> - <string name="day_of_week_long_tuesday">मंगलवार</string> - <string name="day_of_week_long_wednesday">बुधवार</string> - <string name="day_of_week_long_thursday">गुरुवार</string> - <string name="day_of_week_long_friday">शुक्रवार</string> - <string name="day_of_week_long_saturday">शनिवार</string> - - <string name="day_of_week_medium_sunday">रवि</string> - <string name="day_of_week_medium_monday">सोम</string> - <string name="day_of_week_medium_tuesday">मंगल</string> - <string name="day_of_week_medium_wednesday">बुध</string> - <string name="day_of_week_medium_thursday">गुरु</string> - <string name="day_of_week_medium_friday">शुक्र</string> - <string name="day_of_week_medium_saturday">शनि</string> - - <string name="day_of_week_short_sunday">रवि</string> - <string name="day_of_week_short_monday">सोम</string> - <string name="day_of_week_short_tuesday">मंगल</string> - <string name="day_of_week_short_wednesday">बुध</string> - <string name="day_of_week_short_thursday">गुरु</string> - <string name="day_of_week_short_friday">शुक्र</string> - <string name="day_of_week_short_saturday">शनि</string> - - <string name="day_of_week_shortest_sunday">र</string> - <string name="day_of_week_shortest_monday">सो</string> - <string name="day_of_week_shortest_tuesday">मं</string> - <string name="day_of_week_shortest_wednesday">बु</string> - <string name="day_of_week_shortest_thursday">गु</string> - <string name="day_of_week_shortest_friday">शु</string> - <string name="day_of_week_shortest_saturday">श</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-hr-rHR/donottranslate-cldr.xml b/core/res/res/values-hr-rHR/donottranslate-cldr.xml index a601d93..57e0572 100644 --- a/core/res/res/values-hr-rHR/donottranslate-cldr.xml +++ b/core/res/res/values-hr-rHR/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">siječanj</string> - <string name="month_long_standalone_february">veljača</string> - <string name="month_long_standalone_march">ožujak</string> - <string name="month_long_standalone_april">travanj</string> - <string name="month_long_standalone_may">svibanj</string> - <string name="month_long_standalone_june">lipanj</string> - <string name="month_long_standalone_july">srpanj</string> - <string name="month_long_standalone_august">kolovoz</string> - <string name="month_long_standalone_september">rujan</string> - <string name="month_long_standalone_october">listopad</string> - <string name="month_long_standalone_november">studeni</string> - <string name="month_long_standalone_december">prosinac</string> - - <string name="month_long_january">siječnja</string> - <string name="month_long_february">veljače</string> - <string name="month_long_march">ožujka</string> - <string name="month_long_april">travnja</string> - <string name="month_long_may">svibnja</string> - <string name="month_long_june">lipnja</string> - <string name="month_long_july">srpnja</string> - <string name="month_long_august">kolovoza</string> - <string name="month_long_september">rujna</string> - <string name="month_long_october">listopada</string> - <string name="month_long_november">studenoga</string> - <string name="month_long_december">prosinca</string> - - <string name="month_medium_january">01.</string> - <string name="month_medium_february">02.</string> - <string name="month_medium_march">03.</string> - <string name="month_medium_april">04.</string> - <string name="month_medium_may">05.</string> - <string name="month_medium_june">06.</string> - <string name="month_medium_july">07.</string> - <string name="month_medium_august">08.</string> - <string name="month_medium_september">09.</string> - <string name="month_medium_october">10.</string> - <string name="month_medium_november">11.</string> - <string name="month_medium_december">12.</string> - - <string name="month_shortest_january">1.</string> - <string name="month_shortest_february">2.</string> - <string name="month_shortest_march">3.</string> - <string name="month_shortest_april">4.</string> - <string name="month_shortest_may">5.</string> - <string name="month_shortest_june">6.</string> - <string name="month_shortest_july">7.</string> - <string name="month_shortest_august">8.</string> - <string name="month_shortest_september">9.</string> - <string name="month_shortest_october">10.</string> - <string name="month_shortest_november">11.</string> - <string name="month_shortest_december">12.</string> - - <string name="day_of_week_long_sunday">nedjelja</string> - <string name="day_of_week_long_monday">ponedjeljak</string> - <string name="day_of_week_long_tuesday">utorak</string> - <string name="day_of_week_long_wednesday">srijeda</string> - <string name="day_of_week_long_thursday">četvrtak</string> - <string name="day_of_week_long_friday">petak</string> - <string name="day_of_week_long_saturday">subota</string> - - <string name="day_of_week_medium_sunday">ned</string> - <string name="day_of_week_medium_monday">pon</string> - <string name="day_of_week_medium_tuesday">uto</string> - <string name="day_of_week_medium_wednesday">sri</string> - <string name="day_of_week_medium_thursday">čet</string> - <string name="day_of_week_medium_friday">pet</string> - <string name="day_of_week_medium_saturday">sub</string> - - <string name="day_of_week_short_sunday">ned</string> - <string name="day_of_week_short_monday">pon</string> - <string name="day_of_week_short_tuesday">uto</string> - <string name="day_of_week_short_wednesday">sri</string> - <string name="day_of_week_short_thursday">čet</string> - <string name="day_of_week_short_friday">pet</string> - <string name="day_of_week_short_saturday">sub</string> - - <string name="day_of_week_shortest_sunday">n</string> - <string name="day_of_week_shortest_monday">p</string> - <string name="day_of_week_shortest_tuesday">u</string> - <string name="day_of_week_shortest_wednesday">s</string> - <string name="day_of_week_shortest_thursday">č</string> - <string name="day_of_week_shortest_friday">p</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">jučer</string> - <string name="today">danas</string> - <string name="tomorrow">sutra</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-hr/donottranslate-cldr.xml b/core/res/res/values-hr/donottranslate-cldr.xml index 9b51862..9e4b225 100644 --- a/core/res/res/values-hr/donottranslate-cldr.xml +++ b/core/res/res/values-hr/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">siječanj</string> - <string name="month_long_standalone_february">veljača</string> - <string name="month_long_standalone_march">ožujak</string> - <string name="month_long_standalone_april">travanj</string> - <string name="month_long_standalone_may">svibanj</string> - <string name="month_long_standalone_june">lipanj</string> - <string name="month_long_standalone_july">srpanj</string> - <string name="month_long_standalone_august">kolovoz</string> - <string name="month_long_standalone_september">rujan</string> - <string name="month_long_standalone_october">listopad</string> - <string name="month_long_standalone_november">studeni</string> - <string name="month_long_standalone_december">prosinac</string> - - <string name="month_long_january">siječnja</string> - <string name="month_long_february">veljače</string> - <string name="month_long_march">ožujka</string> - <string name="month_long_april">travnja</string> - <string name="month_long_may">svibnja</string> - <string name="month_long_june">lipnja</string> - <string name="month_long_july">srpnja</string> - <string name="month_long_august">kolovoza</string> - <string name="month_long_september">rujna</string> - <string name="month_long_october">listopada</string> - <string name="month_long_november">studenoga</string> - <string name="month_long_december">prosinca</string> - - <string name="month_medium_january">01.</string> - <string name="month_medium_february">02.</string> - <string name="month_medium_march">03.</string> - <string name="month_medium_april">04.</string> - <string name="month_medium_may">05.</string> - <string name="month_medium_june">06.</string> - <string name="month_medium_july">07.</string> - <string name="month_medium_august">08.</string> - <string name="month_medium_september">09.</string> - <string name="month_medium_october">10.</string> - <string name="month_medium_november">11.</string> - <string name="month_medium_december">12.</string> - - <string name="month_shortest_january">1.</string> - <string name="month_shortest_february">2.</string> - <string name="month_shortest_march">3.</string> - <string name="month_shortest_april">4.</string> - <string name="month_shortest_may">5.</string> - <string name="month_shortest_june">6.</string> - <string name="month_shortest_july">7.</string> - <string name="month_shortest_august">8.</string> - <string name="month_shortest_september">9.</string> - <string name="month_shortest_october">10.</string> - <string name="month_shortest_november">11.</string> - <string name="month_shortest_december">12.</string> - - <string name="day_of_week_long_sunday">nedjelja</string> - <string name="day_of_week_long_monday">ponedjeljak</string> - <string name="day_of_week_long_tuesday">utorak</string> - <string name="day_of_week_long_wednesday">srijeda</string> - <string name="day_of_week_long_thursday">četvrtak</string> - <string name="day_of_week_long_friday">petak</string> - <string name="day_of_week_long_saturday">subota</string> - - <string name="day_of_week_medium_sunday">ned</string> - <string name="day_of_week_medium_monday">pon</string> - <string name="day_of_week_medium_tuesday">uto</string> - <string name="day_of_week_medium_wednesday">sri</string> - <string name="day_of_week_medium_thursday">čet</string> - <string name="day_of_week_medium_friday">pet</string> - <string name="day_of_week_medium_saturday">sub</string> - - <string name="day_of_week_short_sunday">ned</string> - <string name="day_of_week_short_monday">pon</string> - <string name="day_of_week_short_tuesday">uto</string> - <string name="day_of_week_short_wednesday">sri</string> - <string name="day_of_week_short_thursday">čet</string> - <string name="day_of_week_short_friday">pet</string> - <string name="day_of_week_short_saturday">sub</string> - - <string name="day_of_week_shortest_sunday">n</string> - <string name="day_of_week_shortest_monday">p</string> - <string name="day_of_week_shortest_tuesday">u</string> - <string name="day_of_week_shortest_wednesday">s</string> - <string name="day_of_week_shortest_thursday">č</string> - <string name="day_of_week_shortest_friday">p</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">jučer</string> - <string name="today">danas</string> - <string name="tomorrow">sutra</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-hu-rHU/donottranslate-cldr.xml b/core/res/res/values-hu-rHU/donottranslate-cldr.xml index afb7676..5f4b8aa 100644 --- a/core/res/res/values-hu-rHU/donottranslate-cldr.xml +++ b/core/res/res/values-hu-rHU/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">január</string> - <string name="month_long_standalone_february">február</string> - <string name="month_long_standalone_march">március</string> - <string name="month_long_standalone_april">április</string> - <string name="month_long_standalone_may">május</string> - <string name="month_long_standalone_june">június</string> - <string name="month_long_standalone_july">július</string> - <string name="month_long_standalone_august">augusztus</string> - <string name="month_long_standalone_september">szeptember</string> - <string name="month_long_standalone_october">október</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">január</string> - <string name="month_long_february">február</string> - <string name="month_long_march">március</string> - <string name="month_long_april">április</string> - <string name="month_long_may">május</string> - <string name="month_long_june">június</string> - <string name="month_long_july">július</string> - <string name="month_long_august">augusztus</string> - <string name="month_long_september">szeptember</string> - <string name="month_long_october">október</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">márc.</string> - <string name="month_medium_april">ápr.</string> - <string name="month_medium_may">máj.</string> - <string name="month_medium_june">jún.</string> - <string name="month_medium_july">júl.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">szept.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">Á</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">vasárnap</string> - <string name="day_of_week_long_monday">hétfő</string> - <string name="day_of_week_long_tuesday">kedd</string> - <string name="day_of_week_long_wednesday">szerda</string> - <string name="day_of_week_long_thursday">csütörtök</string> - <string name="day_of_week_long_friday">péntek</string> - <string name="day_of_week_long_saturday">szombat</string> - - <string name="day_of_week_medium_sunday">V</string> - <string name="day_of_week_medium_monday">H</string> - <string name="day_of_week_medium_tuesday">K</string> - <string name="day_of_week_medium_wednesday">Sze</string> - <string name="day_of_week_medium_thursday">Cs</string> - <string name="day_of_week_medium_friday">P</string> - <string name="day_of_week_medium_saturday">Szo</string> - - <string name="day_of_week_short_sunday">V</string> - <string name="day_of_week_short_monday">H</string> - <string name="day_of_week_short_tuesday">K</string> - <string name="day_of_week_short_wednesday">Sze</string> - <string name="day_of_week_short_thursday">Cs</string> - <string name="day_of_week_short_friday">P</string> - <string name="day_of_week_short_saturday">Szo</string> - - <string name="day_of_week_shortest_sunday">V</string> - <string name="day_of_week_shortest_monday">H</string> - <string name="day_of_week_shortest_tuesday">K</string> - <string name="day_of_week_shortest_wednesday">S</string> - <string name="day_of_week_shortest_thursday">C</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">de.</string> - <string name="pm">du.</string> - <string name="yesterday">tegnap</string> - <string name="today">ma</string> - <string name="tomorrow">holnap</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%p %-l:%M</string> <string name="hour_minute_cap_ampm">%^p %-l:%M</string> diff --git a/core/res/res/values-hu/donottranslate-cldr.xml b/core/res/res/values-hu/donottranslate-cldr.xml index 28b65bc..c925b82 100644 --- a/core/res/res/values-hu/donottranslate-cldr.xml +++ b/core/res/res/values-hu/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">január</string> - <string name="month_long_standalone_february">február</string> - <string name="month_long_standalone_march">március</string> - <string name="month_long_standalone_april">április</string> - <string name="month_long_standalone_may">május</string> - <string name="month_long_standalone_june">június</string> - <string name="month_long_standalone_july">július</string> - <string name="month_long_standalone_august">augusztus</string> - <string name="month_long_standalone_september">szeptember</string> - <string name="month_long_standalone_october">október</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">január</string> - <string name="month_long_february">február</string> - <string name="month_long_march">március</string> - <string name="month_long_april">április</string> - <string name="month_long_may">május</string> - <string name="month_long_june">június</string> - <string name="month_long_july">július</string> - <string name="month_long_august">augusztus</string> - <string name="month_long_september">szeptember</string> - <string name="month_long_october">október</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">márc.</string> - <string name="month_medium_april">ápr.</string> - <string name="month_medium_may">máj.</string> - <string name="month_medium_june">jún.</string> - <string name="month_medium_july">júl.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">szept.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">Á</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">vasárnap</string> - <string name="day_of_week_long_monday">hétfő</string> - <string name="day_of_week_long_tuesday">kedd</string> - <string name="day_of_week_long_wednesday">szerda</string> - <string name="day_of_week_long_thursday">csütörtök</string> - <string name="day_of_week_long_friday">péntek</string> - <string name="day_of_week_long_saturday">szombat</string> - - <string name="day_of_week_medium_sunday">V</string> - <string name="day_of_week_medium_monday">H</string> - <string name="day_of_week_medium_tuesday">K</string> - <string name="day_of_week_medium_wednesday">Sze</string> - <string name="day_of_week_medium_thursday">Cs</string> - <string name="day_of_week_medium_friday">P</string> - <string name="day_of_week_medium_saturday">Szo</string> - - <string name="day_of_week_short_sunday">V</string> - <string name="day_of_week_short_monday">H</string> - <string name="day_of_week_short_tuesday">K</string> - <string name="day_of_week_short_wednesday">Sze</string> - <string name="day_of_week_short_thursday">Cs</string> - <string name="day_of_week_short_friday">P</string> - <string name="day_of_week_short_saturday">Szo</string> - - <string name="day_of_week_shortest_sunday">V</string> - <string name="day_of_week_shortest_monday">H</string> - <string name="day_of_week_shortest_tuesday">K</string> - <string name="day_of_week_shortest_wednesday">S</string> - <string name="day_of_week_shortest_thursday">C</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">de.</string> - <string name="pm">du.</string> - <string name="yesterday">tegnap</string> - <string name="today">ma</string> - <string name="tomorrow">holnap</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-in-rID/donottranslate-cldr.xml b/core/res/res/values-in-rID/donottranslate-cldr.xml index b79fe00..8b13bcf 100644 --- a/core/res/res/values-in-rID/donottranslate-cldr.xml +++ b/core/res/res/values-in-rID/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januari</string> - <string name="month_long_standalone_february">Februari</string> - <string name="month_long_standalone_march">Maret</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">Mei</string> - <string name="month_long_standalone_june">Juni</string> - <string name="month_long_standalone_july">Juli</string> - <string name="month_long_standalone_august">Agustus</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">Oktober</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">Desember</string> - - <string name="month_long_january">Januari</string> - <string name="month_long_february">Februari</string> - <string name="month_long_march">Maret</string> - <string name="month_long_april">April</string> - <string name="month_long_may">Mei</string> - <string name="month_long_june">Juni</string> - <string name="month_long_july">Juli</string> - <string name="month_long_august">Agustus</string> - <string name="month_long_september">September</string> - <string name="month_long_october">Oktober</string> - <string name="month_long_november">November</string> - <string name="month_long_december">Desember</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mei</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Agu</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Des</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Minggu</string> - <string name="day_of_week_long_monday">Senin</string> - <string name="day_of_week_long_tuesday">Selasa</string> - <string name="day_of_week_long_wednesday">Rabu</string> - <string name="day_of_week_long_thursday">Kamis</string> - <string name="day_of_week_long_friday">Jumat</string> - <string name="day_of_week_long_saturday">Sabtu</string> - - <string name="day_of_week_medium_sunday">Min</string> - <string name="day_of_week_medium_monday">Sen</string> - <string name="day_of_week_medium_tuesday">Sel</string> - <string name="day_of_week_medium_wednesday">Rab</string> - <string name="day_of_week_medium_thursday">Kam</string> - <string name="day_of_week_medium_friday">Jum</string> - <string name="day_of_week_medium_saturday">Sab</string> - - <string name="day_of_week_short_sunday">Min</string> - <string name="day_of_week_short_monday">Sen</string> - <string name="day_of_week_short_tuesday">Sel</string> - <string name="day_of_week_short_wednesday">Rab</string> - <string name="day_of_week_short_thursday">Kam</string> - <string name="day_of_week_short_friday">Jum</string> - <string name="day_of_week_short_saturday">Sab</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-in/donottranslate-cldr.xml b/core/res/res/values-in/donottranslate-cldr.xml index 9a634cc..6e9bba4 100644 --- a/core/res/res/values-in/donottranslate-cldr.xml +++ b/core/res/res/values-in/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januari</string> - <string name="month_long_standalone_february">Februari</string> - <string name="month_long_standalone_march">Maret</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">Mei</string> - <string name="month_long_standalone_june">Juni</string> - <string name="month_long_standalone_july">Juli</string> - <string name="month_long_standalone_august">Agustus</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">Oktober</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">Desember</string> - - <string name="month_long_january">Januari</string> - <string name="month_long_february">Februari</string> - <string name="month_long_march">Maret</string> - <string name="month_long_april">April</string> - <string name="month_long_may">Mei</string> - <string name="month_long_june">Juni</string> - <string name="month_long_july">Juli</string> - <string name="month_long_august">Agustus</string> - <string name="month_long_september">September</string> - <string name="month_long_october">Oktober</string> - <string name="month_long_november">November</string> - <string name="month_long_december">Desember</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mei</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Agu</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Des</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Minggu</string> - <string name="day_of_week_long_monday">Senin</string> - <string name="day_of_week_long_tuesday">Selasa</string> - <string name="day_of_week_long_wednesday">Rabu</string> - <string name="day_of_week_long_thursday">Kamis</string> - <string name="day_of_week_long_friday">Jumat</string> - <string name="day_of_week_long_saturday">Sabtu</string> - - <string name="day_of_week_medium_sunday">Min</string> - <string name="day_of_week_medium_monday">Sen</string> - <string name="day_of_week_medium_tuesday">Sel</string> - <string name="day_of_week_medium_wednesday">Rab</string> - <string name="day_of_week_medium_thursday">Kam</string> - <string name="day_of_week_medium_friday">Jum</string> - <string name="day_of_week_medium_saturday">Sab</string> - - <string name="day_of_week_short_sunday">Min</string> - <string name="day_of_week_short_monday">Sen</string> - <string name="day_of_week_short_tuesday">Sel</string> - <string name="day_of_week_short_wednesday">Rab</string> - <string name="day_of_week_short_thursday">Kam</string> - <string name="day_of_week_short_friday">Jum</string> - <string name="day_of_week_short_saturday">Sab</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-it/donottranslate-cldr.xml b/core/res/res/values-it/donottranslate-cldr.xml index 8cee828..9ff27e8 100644 --- a/core/res/res/values-it/donottranslate-cldr.xml +++ b/core/res/res/values-it/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">gennaio</string> - <string name="month_long_standalone_february">febbraio</string> - <string name="month_long_standalone_march">marzo</string> - <string name="month_long_standalone_april">aprile</string> - <string name="month_long_standalone_may">maggio</string> - <string name="month_long_standalone_june">giugno</string> - <string name="month_long_standalone_july">luglio</string> - <string name="month_long_standalone_august">agosto</string> - <string name="month_long_standalone_september">settembre</string> - <string name="month_long_standalone_october">ottobre</string> - <string name="month_long_standalone_november">novembre</string> - <string name="month_long_standalone_december">dicembre</string> - - <string name="month_long_january">gennaio</string> - <string name="month_long_february">febbraio</string> - <string name="month_long_march">marzo</string> - <string name="month_long_april">aprile</string> - <string name="month_long_may">maggio</string> - <string name="month_long_june">giugno</string> - <string name="month_long_july">luglio</string> - <string name="month_long_august">agosto</string> - <string name="month_long_september">settembre</string> - <string name="month_long_october">ottobre</string> - <string name="month_long_november">novembre</string> - <string name="month_long_december">dicembre</string> - - <string name="month_medium_january">gen</string> - <string name="month_medium_february">feb</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">mag</string> - <string name="month_medium_june">giu</string> - <string name="month_medium_july">lug</string> - <string name="month_medium_august">ago</string> - <string name="month_medium_september">set</string> - <string name="month_medium_october">ott</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dic</string> - - <string name="month_shortest_january">G</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">G</string> - <string name="month_shortest_july">L</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">domenica</string> - <string name="day_of_week_long_monday">lunedì</string> - <string name="day_of_week_long_tuesday">martedì</string> - <string name="day_of_week_long_wednesday">mercoledì</string> - <string name="day_of_week_long_thursday">giovedì</string> - <string name="day_of_week_long_friday">venerdì</string> - <string name="day_of_week_long_saturday">sabato</string> - - <string name="day_of_week_medium_sunday">dom</string> - <string name="day_of_week_medium_monday">lun</string> - <string name="day_of_week_medium_tuesday">mar</string> - <string name="day_of_week_medium_wednesday">mer</string> - <string name="day_of_week_medium_thursday">gio</string> - <string name="day_of_week_medium_friday">ven</string> - <string name="day_of_week_medium_saturday">sab</string> - - <string name="day_of_week_short_sunday">dom</string> - <string name="day_of_week_short_monday">lun</string> - <string name="day_of_week_short_tuesday">mar</string> - <string name="day_of_week_short_wednesday">mer</string> - <string name="day_of_week_short_thursday">gio</string> - <string name="day_of_week_short_friday">ven</string> - <string name="day_of_week_short_saturday">sab</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">G</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">m.</string> - <string name="pm">p.</string> - <string name="yesterday">ieri</string> - <string name="today">oggi</string> - <string name="tomorrow">domani</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-iw/donottranslate-cldr.xml b/core/res/res/values-iw/donottranslate-cldr.xml index 02d1e9c..631c059 100644 --- a/core/res/res/values-iw/donottranslate-cldr.xml +++ b/core/res/res/values-iw/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">ינואר</string> - <string name="month_long_standalone_february">פברואר</string> - <string name="month_long_standalone_march">מרס</string> - <string name="month_long_standalone_april">אפריל</string> - <string name="month_long_standalone_may">מאי</string> - <string name="month_long_standalone_june">יוני</string> - <string name="month_long_standalone_july">יולי</string> - <string name="month_long_standalone_august">אוגוסט</string> - <string name="month_long_standalone_september">ספטמבר</string> - <string name="month_long_standalone_october">אוקטובר</string> - <string name="month_long_standalone_november">נובמבר</string> - <string name="month_long_standalone_december">דצמבר</string> - - <string name="month_long_january">ינואר</string> - <string name="month_long_february">פברואר</string> - <string name="month_long_march">מרס</string> - <string name="month_long_april">אפריל</string> - <string name="month_long_may">מאי</string> - <string name="month_long_june">יוני</string> - <string name="month_long_july">יולי</string> - <string name="month_long_august">אוגוסט</string> - <string name="month_long_september">ספטמבר</string> - <string name="month_long_october">אוקטובר</string> - <string name="month_long_november">נובמבר</string> - <string name="month_long_december">דצמבר</string> - - <string name="month_medium_january">ינו</string> - <string name="month_medium_february">פבר</string> - <string name="month_medium_march">מרס</string> - <string name="month_medium_april">אפר</string> - <string name="month_medium_may">מאי</string> - <string name="month_medium_june">יונ</string> - <string name="month_medium_july">יול</string> - <string name="month_medium_august">אוג</string> - <string name="month_medium_september">ספט</string> - <string name="month_medium_october">אוק</string> - <string name="month_medium_november">נוב</string> - <string name="month_medium_december">דצמ</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">יום ראשון</string> - <string name="day_of_week_long_monday">יום שני</string> - <string name="day_of_week_long_tuesday">יום שלישי</string> - <string name="day_of_week_long_wednesday">יום רביעי</string> - <string name="day_of_week_long_thursday">יום חמישי</string> - <string name="day_of_week_long_friday">יום שישי</string> - <string name="day_of_week_long_saturday">יום שבת</string> - - <string name="day_of_week_medium_sunday">יום א\'</string> - <string name="day_of_week_medium_monday">יום ב\'</string> - <string name="day_of_week_medium_tuesday">יום ג\'</string> - <string name="day_of_week_medium_wednesday">יום ד\'</string> - <string name="day_of_week_medium_thursday">יום ה\'</string> - <string name="day_of_week_medium_friday">יום ו\'</string> - <string name="day_of_week_medium_saturday">שבת</string> - - <string name="day_of_week_short_sunday">יום א\'</string> - <string name="day_of_week_short_monday">יום ב\'</string> - <string name="day_of_week_short_tuesday">יום ג\'</string> - <string name="day_of_week_short_wednesday">יום ד\'</string> - <string name="day_of_week_short_thursday">יום ה\'</string> - <string name="day_of_week_short_friday">יום ו\'</string> - <string name="day_of_week_short_saturday">שבת</string> - - <string name="day_of_week_shortest_sunday">א</string> - <string name="day_of_week_shortest_monday">ב</string> - <string name="day_of_week_shortest_tuesday">ג</string> - <string name="day_of_week_shortest_wednesday">ד</string> - <string name="day_of_week_shortest_thursday">ה</string> - <string name="day_of_week_shortest_friday">ו</string> - <string name="day_of_week_shortest_saturday">ש</string> - - <string name="am">לפנה"צ</string> - <string name="pm">אחה"צ</string> - <string name="yesterday">אתמול</string> - <string name="today">היום</string> - <string name="tomorrow">מחר</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-ja/donottranslate-cldr.xml b/core/res/res/values-ja/donottranslate-cldr.xml index 450adc3..1c1d55f 100644 --- a/core/res/res/values-ja/donottranslate-cldr.xml +++ b/core/res/res/values-ja/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">1月</string> - <string name="month_long_standalone_february">2月</string> - <string name="month_long_standalone_march">3月</string> - <string name="month_long_standalone_april">4月</string> - <string name="month_long_standalone_may">5月</string> - <string name="month_long_standalone_june">6月</string> - <string name="month_long_standalone_july">7月</string> - <string name="month_long_standalone_august">8月</string> - <string name="month_long_standalone_september">9月</string> - <string name="month_long_standalone_october">10月</string> - <string name="month_long_standalone_november">11月</string> - <string name="month_long_standalone_december">12月</string> - - <string name="month_long_january">1月</string> - <string name="month_long_february">2月</string> - <string name="month_long_march">3月</string> - <string name="month_long_april">4月</string> - <string name="month_long_may">5月</string> - <string name="month_long_june">6月</string> - <string name="month_long_july">7月</string> - <string name="month_long_august">8月</string> - <string name="month_long_september">9月</string> - <string name="month_long_october">10月</string> - <string name="month_long_november">11月</string> - <string name="month_long_december">12月</string> - - <string name="month_medium_january">1月</string> - <string name="month_medium_february">2月</string> - <string name="month_medium_march">3月</string> - <string name="month_medium_april">4月</string> - <string name="month_medium_may">5月</string> - <string name="month_medium_june">6月</string> - <string name="month_medium_july">7月</string> - <string name="month_medium_august">8月</string> - <string name="month_medium_september">9月</string> - <string name="month_medium_october">10月</string> - <string name="month_medium_november">11月</string> - <string name="month_medium_december">12月</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">日</string> - <string name="day_of_week_long_monday">月</string> - <string name="day_of_week_long_tuesday">火</string> - <string name="day_of_week_long_wednesday">水</string> - <string name="day_of_week_long_thursday">木</string> - <string name="day_of_week_long_friday">金</string> - <string name="day_of_week_long_saturday">土</string> - - <string name="day_of_week_medium_sunday">日</string> - <string name="day_of_week_medium_monday">月</string> - <string name="day_of_week_medium_tuesday">火</string> - <string name="day_of_week_medium_wednesday">水</string> - <string name="day_of_week_medium_thursday">木</string> - <string name="day_of_week_medium_friday">金</string> - <string name="day_of_week_medium_saturday">土</string> - - <string name="day_of_week_short_sunday">日</string> - <string name="day_of_week_short_monday">月</string> - <string name="day_of_week_short_tuesday">火</string> - <string name="day_of_week_short_wednesday">水</string> - <string name="day_of_week_short_thursday">木</string> - <string name="day_of_week_short_friday">金</string> - <string name="day_of_week_short_saturday">土</string> - - <string name="day_of_week_shortest_sunday">日</string> - <string name="day_of_week_shortest_monday">月</string> - <string name="day_of_week_shortest_tuesday">火</string> - <string name="day_of_week_shortest_wednesday">水</string> - <string name="day_of_week_shortest_thursday">木</string> - <string name="day_of_week_shortest_friday">金</string> - <string name="day_of_week_shortest_saturday">土</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">昨日</string> - <string name="today">今日</string> - <string name="tomorrow">明日</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values-ko/donottranslate-cldr.xml b/core/res/res/values-ko/donottranslate-cldr.xml index 5382871..59b975f 100644 --- a/core/res/res/values-ko/donottranslate-cldr.xml +++ b/core/res/res/values-ko/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">1월</string> - <string name="month_long_standalone_february">2월</string> - <string name="month_long_standalone_march">3월</string> - <string name="month_long_standalone_april">4월</string> - <string name="month_long_standalone_may">5월</string> - <string name="month_long_standalone_june">6월</string> - <string name="month_long_standalone_july">7월</string> - <string name="month_long_standalone_august">8월</string> - <string name="month_long_standalone_september">9월</string> - <string name="month_long_standalone_october">10월</string> - <string name="month_long_standalone_november">11월</string> - <string name="month_long_standalone_december">12월</string> - - <string name="month_long_january">1월</string> - <string name="month_long_february">2월</string> - <string name="month_long_march">3월</string> - <string name="month_long_april">4월</string> - <string name="month_long_may">5월</string> - <string name="month_long_june">6월</string> - <string name="month_long_july">7월</string> - <string name="month_long_august">8월</string> - <string name="month_long_september">9월</string> - <string name="month_long_october">10월</string> - <string name="month_long_november">11월</string> - <string name="month_long_december">12월</string> - - <string name="month_medium_january">1월</string> - <string name="month_medium_february">2월</string> - <string name="month_medium_march">3월</string> - <string name="month_medium_april">4월</string> - <string name="month_medium_may">5월</string> - <string name="month_medium_june">6월</string> - <string name="month_medium_july">7월</string> - <string name="month_medium_august">8월</string> - <string name="month_medium_september">9월</string> - <string name="month_medium_october">10월</string> - <string name="month_medium_november">11월</string> - <string name="month_medium_december">12월</string> - - <string name="month_shortest_january">1월</string> - <string name="month_shortest_february">2월</string> - <string name="month_shortest_march">3월</string> - <string name="month_shortest_april">4월</string> - <string name="month_shortest_may">5월</string> - <string name="month_shortest_june">6월</string> - <string name="month_shortest_july">7월</string> - <string name="month_shortest_august">8월</string> - <string name="month_shortest_september">9월</string> - <string name="month_shortest_october">10월</string> - <string name="month_shortest_november">11월</string> - <string name="month_shortest_december">12월</string> - - <string name="day_of_week_long_sunday">일요일</string> - <string name="day_of_week_long_monday">월요일</string> - <string name="day_of_week_long_tuesday">화요일</string> - <string name="day_of_week_long_wednesday">수요일</string> - <string name="day_of_week_long_thursday">목요일</string> - <string name="day_of_week_long_friday">금요일</string> - <string name="day_of_week_long_saturday">토요일</string> - - <string name="day_of_week_medium_sunday">일</string> - <string name="day_of_week_medium_monday">월</string> - <string name="day_of_week_medium_tuesday">화</string> - <string name="day_of_week_medium_wednesday">수</string> - <string name="day_of_week_medium_thursday">목</string> - <string name="day_of_week_medium_friday">금</string> - <string name="day_of_week_medium_saturday">토</string> - - <string name="day_of_week_short_sunday">일</string> - <string name="day_of_week_short_monday">월</string> - <string name="day_of_week_short_tuesday">화</string> - <string name="day_of_week_short_wednesday">수</string> - <string name="day_of_week_short_thursday">목</string> - <string name="day_of_week_short_friday">금</string> - <string name="day_of_week_short_saturday">토</string> - - <string name="day_of_week_shortest_sunday">일</string> - <string name="day_of_week_shortest_monday">월</string> - <string name="day_of_week_shortest_tuesday">화</string> - <string name="day_of_week_shortest_wednesday">수</string> - <string name="day_of_week_shortest_thursday">목</string> - <string name="day_of_week_shortest_friday">금</string> - <string name="day_of_week_shortest_saturday">토</string> - - <string name="am">오전</string> - <string name="pm">오후</string> - <string name="yesterday">어제</string> - <string name="today">오늘</string> - <string name="tomorrow">내일</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%p %-l:%M</string> <string name="hour_minute_cap_ampm">%p %-l:%M</string> diff --git a/core/res/res/values-lt-rLT/donottranslate-cldr.xml b/core/res/res/values-lt-rLT/donottranslate-cldr.xml index 0c1d0aa..6cf6098 100644 --- a/core/res/res/values-lt-rLT/donottranslate-cldr.xml +++ b/core/res/res/values-lt-rLT/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Sausis</string> - <string name="month_long_standalone_february">Vasaris</string> - <string name="month_long_standalone_march">Kovas</string> - <string name="month_long_standalone_april">Balandis</string> - <string name="month_long_standalone_may">Gegužė</string> - <string name="month_long_standalone_june">Birželis</string> - <string name="month_long_standalone_july">Liepa</string> - <string name="month_long_standalone_august">Rugpjūtis</string> - <string name="month_long_standalone_september">Rugsėjis</string> - <string name="month_long_standalone_october">Spalis</string> - <string name="month_long_standalone_november">Lapkritis</string> - <string name="month_long_standalone_december">Gruodis</string> - - <string name="month_long_january">sausio</string> - <string name="month_long_february">vasario</string> - <string name="month_long_march">kovo</string> - <string name="month_long_april">balandžio</string> - <string name="month_long_may">gegužės</string> - <string name="month_long_june">birželio</string> - <string name="month_long_july">liepos</string> - <string name="month_long_august">rugpjūčio</string> - <string name="month_long_september">rugsėjo</string> - <string name="month_long_october">spalio</string> - <string name="month_long_november">lapkričio</string> - <string name="month_long_december">gruodžio</string> - - <string name="month_medium_january">sau.</string> - <string name="month_medium_february">vas.</string> - <string name="month_medium_march">kov.</string> - <string name="month_medium_april">bal.</string> - <string name="month_medium_may">geg.</string> - <string name="month_medium_june">bir.</string> - <string name="month_medium_july">lie.</string> - <string name="month_medium_august">rgp.</string> - <string name="month_medium_september">rgs.</string> - <string name="month_medium_october">spl.</string> - <string name="month_medium_november">lap.</string> - <string name="month_medium_december">grd.</string> - - <string name="month_shortest_january">S</string> - <string name="month_shortest_february">V</string> - <string name="month_shortest_march">K</string> - <string name="month_shortest_april">B</string> - <string name="month_shortest_may">G</string> - <string name="month_shortest_june">B</string> - <string name="month_shortest_july">L</string> - <string name="month_shortest_august">R</string> - <string name="month_shortest_september">R</string> - <string name="month_shortest_october">S</string> - <string name="month_shortest_november">L</string> - <string name="month_shortest_december">G</string> - - <string name="day_of_week_long_sunday">sekmadienis</string> - <string name="day_of_week_long_monday">pirmadienis</string> - <string name="day_of_week_long_tuesday">antradienis</string> - <string name="day_of_week_long_wednesday">trečiadienis</string> - <string name="day_of_week_long_thursday">ketvirtadienis</string> - <string name="day_of_week_long_friday">penktadienis</string> - <string name="day_of_week_long_saturday">šeštadienis</string> - - <string name="day_of_week_medium_sunday">Sk</string> - <string name="day_of_week_medium_monday">Pr</string> - <string name="day_of_week_medium_tuesday">An</string> - <string name="day_of_week_medium_wednesday">Tr</string> - <string name="day_of_week_medium_thursday">Kt</string> - <string name="day_of_week_medium_friday">Pn</string> - <string name="day_of_week_medium_saturday">Št</string> - - <string name="day_of_week_short_sunday">Sk</string> - <string name="day_of_week_short_monday">Pr</string> - <string name="day_of_week_short_tuesday">An</string> - <string name="day_of_week_short_wednesday">Tr</string> - <string name="day_of_week_short_thursday">Kt</string> - <string name="day_of_week_short_friday">Pn</string> - <string name="day_of_week_short_saturday">Št</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">A</string> - <string name="day_of_week_shortest_wednesday">T</string> - <string name="day_of_week_shortest_thursday">K</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">Š</string> - - <string name="am">priešpiet</string> - <string name="pm">popiet</string> - <string name="yesterday">vakar</string> - <string name="today">šiandien</string> - <string name="tomorrow">rytoj</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-lt/donottranslate-cldr.xml b/core/res/res/values-lt/donottranslate-cldr.xml index 8a2c0f4..b1a94f3 100644 --- a/core/res/res/values-lt/donottranslate-cldr.xml +++ b/core/res/res/values-lt/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Sausis</string> - <string name="month_long_standalone_february">Vasaris</string> - <string name="month_long_standalone_march">Kovas</string> - <string name="month_long_standalone_april">Balandis</string> - <string name="month_long_standalone_may">Gegužė</string> - <string name="month_long_standalone_june">Birželis</string> - <string name="month_long_standalone_july">Liepa</string> - <string name="month_long_standalone_august">Rugpjūtis</string> - <string name="month_long_standalone_september">Rugsėjis</string> - <string name="month_long_standalone_october">Spalis</string> - <string name="month_long_standalone_november">Lapkritis</string> - <string name="month_long_standalone_december">Gruodis</string> - - <string name="month_long_january">sausio</string> - <string name="month_long_february">vasario</string> - <string name="month_long_march">kovo</string> - <string name="month_long_april">balandžio</string> - <string name="month_long_may">gegužės</string> - <string name="month_long_june">birželio</string> - <string name="month_long_july">liepos</string> - <string name="month_long_august">rugpjūčio</string> - <string name="month_long_september">rugsėjo</string> - <string name="month_long_october">spalio</string> - <string name="month_long_november">lapkričio</string> - <string name="month_long_december">gruodžio</string> - - <string name="month_medium_january">Sau</string> - <string name="month_medium_february">Vas</string> - <string name="month_medium_march">Kov</string> - <string name="month_medium_april">Bal</string> - <string name="month_medium_may">Geg</string> - <string name="month_medium_june">Bir</string> - <string name="month_medium_july">Lie</string> - <string name="month_medium_august">Rgp</string> - <string name="month_medium_september">Rgs</string> - <string name="month_medium_october">Spl</string> - <string name="month_medium_november">Lap</string> - <string name="month_medium_december">Grd</string> - - <string name="month_shortest_january">S</string> - <string name="month_shortest_february">V</string> - <string name="month_shortest_march">K</string> - <string name="month_shortest_april">B</string> - <string name="month_shortest_may">G</string> - <string name="month_shortest_june">B</string> - <string name="month_shortest_july">L</string> - <string name="month_shortest_august">R</string> - <string name="month_shortest_september">R</string> - <string name="month_shortest_october">S</string> - <string name="month_shortest_november">L</string> - <string name="month_shortest_december">G</string> - - <string name="day_of_week_long_sunday">sekmadienis</string> - <string name="day_of_week_long_monday">pirmadienis</string> - <string name="day_of_week_long_tuesday">antradienis</string> - <string name="day_of_week_long_wednesday">trečiadienis</string> - <string name="day_of_week_long_thursday">ketvirtadienis</string> - <string name="day_of_week_long_friday">penktadienis</string> - <string name="day_of_week_long_saturday">šeštadienis</string> - - <string name="day_of_week_medium_sunday">Sk</string> - <string name="day_of_week_medium_monday">Pr</string> - <string name="day_of_week_medium_tuesday">An</string> - <string name="day_of_week_medium_wednesday">Tr</string> - <string name="day_of_week_medium_thursday">Kt</string> - <string name="day_of_week_medium_friday">Pn</string> - <string name="day_of_week_medium_saturday">Št</string> - - <string name="day_of_week_short_sunday">Sk</string> - <string name="day_of_week_short_monday">Pr</string> - <string name="day_of_week_short_tuesday">An</string> - <string name="day_of_week_short_wednesday">Tr</string> - <string name="day_of_week_short_thursday">Kt</string> - <string name="day_of_week_short_friday">Pn</string> - <string name="day_of_week_short_saturday">Št</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">A</string> - <string name="day_of_week_shortest_wednesday">T</string> - <string name="day_of_week_shortest_thursday">K</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">Š</string> - - <string name="am">priešpiet</string> - <string name="pm">popiet</string> - <string name="yesterday">vakar</string> - <string name="today">šiandien</string> - <string name="tomorrow">rytoj</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-lv-rLV/donottranslate-cldr.xml b/core/res/res/values-lv-rLV/donottranslate-cldr.xml index 9dbc5e0..3922f6b 100644 --- a/core/res/res/values-lv-rLV/donottranslate-cldr.xml +++ b/core/res/res/values-lv-rLV/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">janvāris</string> - <string name="month_long_standalone_february">februāris</string> - <string name="month_long_standalone_march">marts</string> - <string name="month_long_standalone_april">aprīlis</string> - <string name="month_long_standalone_may">maijs</string> - <string name="month_long_standalone_june">jūnijs</string> - <string name="month_long_standalone_july">jūlijs</string> - <string name="month_long_standalone_august">augusts</string> - <string name="month_long_standalone_september">septembris</string> - <string name="month_long_standalone_october">oktobris</string> - <string name="month_long_standalone_november">novembris</string> - <string name="month_long_standalone_december">decembris</string> - - <string name="month_long_january">janvāris</string> - <string name="month_long_february">februāris</string> - <string name="month_long_march">marts</string> - <string name="month_long_april">aprīlis</string> - <string name="month_long_may">maijs</string> - <string name="month_long_june">jūnijs</string> - <string name="month_long_july">jūlijs</string> - <string name="month_long_august">augusts</string> - <string name="month_long_september">septembris</string> - <string name="month_long_october">oktobris</string> - <string name="month_long_november">novembris</string> - <string name="month_long_december">decembris</string> - - <string name="month_medium_january">janv.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">marts</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">maijs</string> - <string name="month_medium_june">jūn.</string> - <string name="month_medium_july">jūl.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sept.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">svētdiena</string> - <string name="day_of_week_long_monday">pirmdiena</string> - <string name="day_of_week_long_tuesday">otrdiena</string> - <string name="day_of_week_long_wednesday">trešdiena</string> - <string name="day_of_week_long_thursday">ceturtdiena</string> - <string name="day_of_week_long_friday">piektdiena</string> - <string name="day_of_week_long_saturday">sestdiena</string> - - <string name="day_of_week_medium_sunday">Sv</string> - <string name="day_of_week_medium_monday">Pr</string> - <string name="day_of_week_medium_tuesday">Ot</string> - <string name="day_of_week_medium_wednesday">Tr</string> - <string name="day_of_week_medium_thursday">Ce</string> - <string name="day_of_week_medium_friday">Pk</string> - <string name="day_of_week_medium_saturday">Se</string> - - <string name="day_of_week_short_sunday">Sv</string> - <string name="day_of_week_short_monday">Pr</string> - <string name="day_of_week_short_tuesday">Ot</string> - <string name="day_of_week_short_wednesday">Tr</string> - <string name="day_of_week_short_thursday">Ce</string> - <string name="day_of_week_short_friday">Pk</string> - <string name="day_of_week_short_saturday">Se</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">O</string> - <string name="day_of_week_shortest_wednesday">T</string> - <string name="day_of_week_shortest_thursday">C</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">vakar</string> - <string name="today">šodien</string> - <string name="tomorrow">rīt</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-lv/donottranslate-cldr.xml b/core/res/res/values-lv/donottranslate-cldr.xml index 10dcd35..ec768bc 100644 --- a/core/res/res/values-lv/donottranslate-cldr.xml +++ b/core/res/res/values-lv/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">janvāris</string> - <string name="month_long_standalone_february">februāris</string> - <string name="month_long_standalone_march">marts</string> - <string name="month_long_standalone_april">aprīlis</string> - <string name="month_long_standalone_may">maijs</string> - <string name="month_long_standalone_june">jūnijs</string> - <string name="month_long_standalone_july">jūlijs</string> - <string name="month_long_standalone_august">augusts</string> - <string name="month_long_standalone_september">septembris</string> - <string name="month_long_standalone_october">oktobris</string> - <string name="month_long_standalone_november">novembris</string> - <string name="month_long_standalone_december">decembris</string> - - <string name="month_long_january">janvāris</string> - <string name="month_long_february">februāris</string> - <string name="month_long_march">marts</string> - <string name="month_long_april">aprīlis</string> - <string name="month_long_may">maijs</string> - <string name="month_long_june">jūnijs</string> - <string name="month_long_july">jūlijs</string> - <string name="month_long_august">augusts</string> - <string name="month_long_september">septembris</string> - <string name="month_long_october">oktobris</string> - <string name="month_long_november">novembris</string> - <string name="month_long_december">decembris</string> - - <string name="month_medium_january">janv.</string> - <string name="month_medium_february">febr.</string> - <string name="month_medium_march">marts</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">maijs</string> - <string name="month_medium_june">jūn.</string> - <string name="month_medium_july">jūl.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sept.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">svētdiena</string> - <string name="day_of_week_long_monday">pirmdiena</string> - <string name="day_of_week_long_tuesday">otrdiena</string> - <string name="day_of_week_long_wednesday">trešdiena</string> - <string name="day_of_week_long_thursday">ceturtdiena</string> - <string name="day_of_week_long_friday">piektdiena</string> - <string name="day_of_week_long_saturday">sestdiena</string> - - <string name="day_of_week_medium_sunday">Sv</string> - <string name="day_of_week_medium_monday">Pr</string> - <string name="day_of_week_medium_tuesday">Ot</string> - <string name="day_of_week_medium_wednesday">Tr</string> - <string name="day_of_week_medium_thursday">Ce</string> - <string name="day_of_week_medium_friday">Pk</string> - <string name="day_of_week_medium_saturday">Se</string> - - <string name="day_of_week_short_sunday">Sv</string> - <string name="day_of_week_short_monday">Pr</string> - <string name="day_of_week_short_tuesday">Ot</string> - <string name="day_of_week_short_wednesday">Tr</string> - <string name="day_of_week_short_thursday">Ce</string> - <string name="day_of_week_short_friday">Pk</string> - <string name="day_of_week_short_saturday">Se</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">O</string> - <string name="day_of_week_shortest_wednesday">T</string> - <string name="day_of_week_shortest_thursday">C</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">vakar</string> - <string name="today">šodien</string> - <string name="tomorrow">rīt</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-ms/donottranslate-cldr.xml b/core/res/res/values-ms/donottranslate-cldr.xml index 09d461c..a5843ff 100644 --- a/core/res/res/values-ms/donottranslate-cldr.xml +++ b/core/res/res/values-ms/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januari</string> - <string name="month_long_standalone_february">Februari</string> - <string name="month_long_standalone_march">Mac</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">Mei</string> - <string name="month_long_standalone_june">Jun</string> - <string name="month_long_standalone_july">Julai</string> - <string name="month_long_standalone_august">Ogos</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">Oktober</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">Disember</string> - - <string name="month_long_january">Januari</string> - <string name="month_long_february">Februari</string> - <string name="month_long_march">Mac</string> - <string name="month_long_april">April</string> - <string name="month_long_may">Mei</string> - <string name="month_long_june">Jun</string> - <string name="month_long_july">Julai</string> - <string name="month_long_august">Ogos</string> - <string name="month_long_september">September</string> - <string name="month_long_october">Oktober</string> - <string name="month_long_november">November</string> - <string name="month_long_december">Disember</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mac</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mei</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Ogos</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dis</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Ahad</string> - <string name="day_of_week_long_monday">Isnin</string> - <string name="day_of_week_long_tuesday">Selasa</string> - <string name="day_of_week_long_wednesday">Rabu</string> - <string name="day_of_week_long_thursday">Khamis</string> - <string name="day_of_week_long_friday">Jumaat</string> - <string name="day_of_week_long_saturday">Sabtu</string> - - <string name="day_of_week_medium_sunday">Ahd</string> - <string name="day_of_week_medium_monday">Isn</string> - <string name="day_of_week_medium_tuesday">Sel</string> - <string name="day_of_week_medium_wednesday">Rab</string> - <string name="day_of_week_medium_thursday">Kha</string> - <string name="day_of_week_medium_friday">Jum</string> - <string name="day_of_week_medium_saturday">Sab</string> - - <string name="day_of_week_short_sunday">Ahd</string> - <string name="day_of_week_short_monday">Isn</string> - <string name="day_of_week_short_tuesday">Sel</string> - <string name="day_of_week_short_wednesday">Rab</string> - <string name="day_of_week_short_thursday">Kha</string> - <string name="day_of_week_short_friday">Jum</string> - <string name="day_of_week_short_saturday">Sab</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-nb/donottranslate-cldr.xml b/core/res/res/values-nb/donottranslate-cldr.xml index 637dd5e..8eb1ff6 100644 --- a/core/res/res/values-nb/donottranslate-cldr.xml +++ b/core/res/res/values-nb/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januar</string> - <string name="month_long_standalone_february">februar</string> - <string name="month_long_standalone_march">mars</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">mai</string> - <string name="month_long_standalone_june">juni</string> - <string name="month_long_standalone_july">juli</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">desember</string> - - <string name="month_long_january">januar</string> - <string name="month_long_february">februar</string> - <string name="month_long_march">mars</string> - <string name="month_long_april">april</string> - <string name="month_long_may">mai</string> - <string name="month_long_june">juni</string> - <string name="month_long_july">juli</string> - <string name="month_long_august">august</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">desember</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mars</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">juni</string> - <string name="month_medium_july">juli</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">des.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">søndag</string> - <string name="day_of_week_long_monday">mandag</string> - <string name="day_of_week_long_tuesday">tirsdag</string> - <string name="day_of_week_long_wednesday">onsdag</string> - <string name="day_of_week_long_thursday">torsdag</string> - <string name="day_of_week_long_friday">fredag</string> - <string name="day_of_week_long_saturday">lørdag</string> - - <string name="day_of_week_medium_sunday">søn.</string> - <string name="day_of_week_medium_monday">man.</string> - <string name="day_of_week_medium_tuesday">tir.</string> - <string name="day_of_week_medium_wednesday">ons.</string> - <string name="day_of_week_medium_thursday">tor.</string> - <string name="day_of_week_medium_friday">fre.</string> - <string name="day_of_week_medium_saturday">lør.</string> - - <string name="day_of_week_short_sunday">søn.</string> - <string name="day_of_week_short_monday">man.</string> - <string name="day_of_week_short_tuesday">tir.</string> - <string name="day_of_week_short_wednesday">ons.</string> - <string name="day_of_week_short_thursday">tor.</string> - <string name="day_of_week_short_friday">fre.</string> - <string name="day_of_week_short_saturday">lør.</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">O</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">L</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">i går</string> - <string name="today">i dag</string> - <string name="tomorrow">i morgen</string> - <string name="hour_minute_24">%H.%M</string> <string name="hour_minute_ampm">%-l.%M %p</string> <string name="hour_minute_cap_ampm">%-l.%M %^p</string> diff --git a/core/res/res/values-nl/donottranslate-cldr.xml b/core/res/res/values-nl/donottranslate-cldr.xml index ca3813f..1495a48 100644 --- a/core/res/res/values-nl/donottranslate-cldr.xml +++ b/core/res/res/values-nl/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januari</string> - <string name="month_long_standalone_february">februari</string> - <string name="month_long_standalone_march">maart</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">mei</string> - <string name="month_long_standalone_june">juni</string> - <string name="month_long_standalone_july">juli</string> - <string name="month_long_standalone_august">augustus</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januari</string> - <string name="month_long_february">februari</string> - <string name="month_long_march">maart</string> - <string name="month_long_april">april</string> - <string name="month_long_may">mei</string> - <string name="month_long_june">juni</string> - <string name="month_long_july">juli</string> - <string name="month_long_august">augustus</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mrt.</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">mei</string> - <string name="month_medium_june">jun.</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">zondag</string> - <string name="day_of_week_long_monday">maandag</string> - <string name="day_of_week_long_tuesday">dinsdag</string> - <string name="day_of_week_long_wednesday">woensdag</string> - <string name="day_of_week_long_thursday">donderdag</string> - <string name="day_of_week_long_friday">vrijdag</string> - <string name="day_of_week_long_saturday">zaterdag</string> - - <string name="day_of_week_medium_sunday">zo</string> - <string name="day_of_week_medium_monday">ma</string> - <string name="day_of_week_medium_tuesday">di</string> - <string name="day_of_week_medium_wednesday">wo</string> - <string name="day_of_week_medium_thursday">do</string> - <string name="day_of_week_medium_friday">vr</string> - <string name="day_of_week_medium_saturday">za</string> - - <string name="day_of_week_short_sunday">zo</string> - <string name="day_of_week_short_monday">ma</string> - <string name="day_of_week_short_tuesday">di</string> - <string name="day_of_week_short_wednesday">wo</string> - <string name="day_of_week_short_thursday">do</string> - <string name="day_of_week_short_friday">vr</string> - <string name="day_of_week_short_saturday">za</string> - - <string name="day_of_week_shortest_sunday">Z</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">D</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">D</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">Z</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Gisteren</string> - <string name="today">Vandaag</string> - <string name="tomorrow">Morgen</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-pl/donottranslate-cldr.xml b/core/res/res/values-pl/donottranslate-cldr.xml index 2950e60..53f0c36 100644 --- a/core/res/res/values-pl/donottranslate-cldr.xml +++ b/core/res/res/values-pl/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">styczeń</string> - <string name="month_long_standalone_february">luty</string> - <string name="month_long_standalone_march">marzec</string> - <string name="month_long_standalone_april">kwiecień</string> - <string name="month_long_standalone_may">maj</string> - <string name="month_long_standalone_june">czerwiec</string> - <string name="month_long_standalone_july">lipiec</string> - <string name="month_long_standalone_august">sierpień</string> - <string name="month_long_standalone_september">wrzesień</string> - <string name="month_long_standalone_october">październik</string> - <string name="month_long_standalone_november">listopad</string> - <string name="month_long_standalone_december">grudzień</string> - - <string name="month_long_january">stycznia</string> - <string name="month_long_february">lutego</string> - <string name="month_long_march">marca</string> - <string name="month_long_april">kwietnia</string> - <string name="month_long_may">maja</string> - <string name="month_long_june">czerwca</string> - <string name="month_long_july">lipca</string> - <string name="month_long_august">sierpnia</string> - <string name="month_long_september">września</string> - <string name="month_long_october">października</string> - <string name="month_long_november">listopada</string> - <string name="month_long_december">grudnia</string> - - <string name="month_medium_january">sty</string> - <string name="month_medium_february">lut</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">kwi</string> - <string name="month_medium_may">maj</string> - <string name="month_medium_june">cze</string> - <string name="month_medium_july">lip</string> - <string name="month_medium_august">sie</string> - <string name="month_medium_september">wrz</string> - <string name="month_medium_october">paź</string> - <string name="month_medium_november">lis</string> - <string name="month_medium_december">gru</string> - - <string name="month_shortest_january">s</string> - <string name="month_shortest_february">l</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">k</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">c</string> - <string name="month_shortest_july">l</string> - <string name="month_shortest_august">s</string> - <string name="month_shortest_september">w</string> - <string name="month_shortest_october">p</string> - <string name="month_shortest_november">l</string> - <string name="month_shortest_december">g</string> - - <string name="day_of_week_long_sunday">niedziela</string> - <string name="day_of_week_long_monday">poniedziałek</string> - <string name="day_of_week_long_tuesday">wtorek</string> - <string name="day_of_week_long_wednesday">środa</string> - <string name="day_of_week_long_thursday">czwartek</string> - <string name="day_of_week_long_friday">piątek</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">niedz.</string> - <string name="day_of_week_medium_monday">pon.</string> - <string name="day_of_week_medium_tuesday">wt.</string> - <string name="day_of_week_medium_wednesday">śr.</string> - <string name="day_of_week_medium_thursday">czw.</string> - <string name="day_of_week_medium_friday">pt.</string> - <string name="day_of_week_medium_saturday">sob.</string> - - <string name="day_of_week_short_sunday">niedz.</string> - <string name="day_of_week_short_monday">pon.</string> - <string name="day_of_week_short_tuesday">wt.</string> - <string name="day_of_week_short_wednesday">śr.</string> - <string name="day_of_week_short_thursday">czw.</string> - <string name="day_of_week_short_friday">pt.</string> - <string name="day_of_week_short_saturday">sob.</string> - - <string name="day_of_week_shortest_sunday">N</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">W</string> - <string name="day_of_week_shortest_wednesday">Ś</string> - <string name="day_of_week_shortest_thursday">C</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Wczoraj</string> - <string name="today">Dzisiaj</string> - <string name="tomorrow">Jutro</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-pt-rPT/donottranslate-cldr.xml b/core/res/res/values-pt-rPT/donottranslate-cldr.xml index 54417a4..26d8371 100644 --- a/core/res/res/values-pt-rPT/donottranslate-cldr.xml +++ b/core/res/res/values-pt-rPT/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Janeiro</string> - <string name="month_long_standalone_february">Fevereiro</string> - <string name="month_long_standalone_march">Março</string> - <string name="month_long_standalone_april">Abril</string> - <string name="month_long_standalone_may">Maio</string> - <string name="month_long_standalone_june">Junho</string> - <string name="month_long_standalone_july">Julho</string> - <string name="month_long_standalone_august">Agosto</string> - <string name="month_long_standalone_september">Setembro</string> - <string name="month_long_standalone_october">Outubro</string> - <string name="month_long_standalone_november">Novembro</string> - <string name="month_long_standalone_december">Dezembro</string> - - <string name="month_long_january">Janeiro</string> - <string name="month_long_february">Fevereiro</string> - <string name="month_long_march">Março</string> - <string name="month_long_april">Abril</string> - <string name="month_long_may">Maio</string> - <string name="month_long_june">Junho</string> - <string name="month_long_july">Julho</string> - <string name="month_long_august">Agosto</string> - <string name="month_long_september">Setembro</string> - <string name="month_long_october">Outubro</string> - <string name="month_long_november">Novembro</string> - <string name="month_long_december">Dezembro</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Fev</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Abr</string> - <string name="month_medium_may">Mai</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Ago</string> - <string name="month_medium_september">Set</string> - <string name="month_medium_october">Out</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dez</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">domingo</string> - <string name="day_of_week_long_monday">segunda-feira</string> - <string name="day_of_week_long_tuesday">terça-feira</string> - <string name="day_of_week_long_wednesday">quarta-feira</string> - <string name="day_of_week_long_thursday">quinta-feira</string> - <string name="day_of_week_long_friday">sexta-feira</string> - <string name="day_of_week_long_saturday">sábado</string> - - <string name="day_of_week_medium_sunday">dom</string> - <string name="day_of_week_medium_monday">seg</string> - <string name="day_of_week_medium_tuesday">ter</string> - <string name="day_of_week_medium_wednesday">qua</string> - <string name="day_of_week_medium_thursday">qui</string> - <string name="day_of_week_medium_friday">sex</string> - <string name="day_of_week_medium_saturday">sáb</string> - - <string name="day_of_week_short_sunday">dom</string> - <string name="day_of_week_short_monday">seg</string> - <string name="day_of_week_short_tuesday">ter</string> - <string name="day_of_week_short_wednesday">qua</string> - <string name="day_of_week_short_thursday">qui</string> - <string name="day_of_week_short_friday">sex</string> - <string name="day_of_week_short_saturday">sáb</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">S</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">Q</string> - <string name="day_of_week_shortest_thursday">Q</string> - <string name="day_of_week_shortest_friday">S</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">Antes do meio-dia</string> - <string name="pm">Depois do meio-dia</string> - <string name="yesterday">Ontem</string> - <string name="today">Hoje</string> - <string name="tomorrow">Amanhã</string> - <string name="hour_minute_24">%-kh%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-pt/donottranslate-cldr.xml b/core/res/res/values-pt/donottranslate-cldr.xml index d999c06..c3e6c29 100644 --- a/core/res/res/values-pt/donottranslate-cldr.xml +++ b/core/res/res/values-pt/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">janeiro</string> - <string name="month_long_standalone_february">fevereiro</string> - <string name="month_long_standalone_march">março</string> - <string name="month_long_standalone_april">abril</string> - <string name="month_long_standalone_may">maio</string> - <string name="month_long_standalone_june">junho</string> - <string name="month_long_standalone_july">julho</string> - <string name="month_long_standalone_august">agosto</string> - <string name="month_long_standalone_september">setembro</string> - <string name="month_long_standalone_october">outubro</string> - <string name="month_long_standalone_november">novembro</string> - <string name="month_long_standalone_december">dezembro</string> - - <string name="month_long_january">janeiro</string> - <string name="month_long_february">fevereiro</string> - <string name="month_long_march">março</string> - <string name="month_long_april">abril</string> - <string name="month_long_may">maio</string> - <string name="month_long_june">junho</string> - <string name="month_long_july">julho</string> - <string name="month_long_august">agosto</string> - <string name="month_long_september">setembro</string> - <string name="month_long_october">outubro</string> - <string name="month_long_november">novembro</string> - <string name="month_long_december">dezembro</string> - - <string name="month_medium_january">jan</string> - <string name="month_medium_february">fev</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">abr</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">jun</string> - <string name="month_medium_july">jul</string> - <string name="month_medium_august">ago</string> - <string name="month_medium_september">set</string> - <string name="month_medium_october">out</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dez</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">domingo</string> - <string name="day_of_week_long_monday">segunda-feira</string> - <string name="day_of_week_long_tuesday">terça-feira</string> - <string name="day_of_week_long_wednesday">quarta-feira</string> - <string name="day_of_week_long_thursday">quinta-feira</string> - <string name="day_of_week_long_friday">sexta-feira</string> - <string name="day_of_week_long_saturday">sábado</string> - - <string name="day_of_week_medium_sunday">dom</string> - <string name="day_of_week_medium_monday">seg</string> - <string name="day_of_week_medium_tuesday">ter</string> - <string name="day_of_week_medium_wednesday">qua</string> - <string name="day_of_week_medium_thursday">qui</string> - <string name="day_of_week_medium_friday">sex</string> - <string name="day_of_week_medium_saturday">sáb</string> - - <string name="day_of_week_short_sunday">dom</string> - <string name="day_of_week_short_monday">seg</string> - <string name="day_of_week_short_tuesday">ter</string> - <string name="day_of_week_short_wednesday">qua</string> - <string name="day_of_week_short_thursday">qui</string> - <string name="day_of_week_short_friday">sex</string> - <string name="day_of_week_short_saturday">sáb</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">S</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">Q</string> - <string name="day_of_week_shortest_thursday">Q</string> - <string name="day_of_week_shortest_friday">S</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Ontem</string> - <string name="today">Hoje</string> - <string name="tomorrow">Amanhã</string> - <string name="hour_minute_24">%-kh%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-rm/donottranslate-cldr.xml b/core/res/res/values-rm/donottranslate-cldr.xml index ccdb17c..e6f0df2 100644 --- a/core/res/res/values-rm/donottranslate-cldr.xml +++ b/core/res/res/values-rm/donottranslate-cldr.xml @@ -1,94 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">schaner</string> - <string name="month_long_standalone_february">favrer</string> - <string name="month_long_standalone_march">mars</string> - <string name="month_long_standalone_april">avrigl</string> - <string name="month_long_standalone_may">matg</string> - <string name="month_long_standalone_june">zercladur</string> - <string name="month_long_standalone_july">fanadur</string> - <string name="month_long_standalone_august">avust</string> - <string name="month_long_standalone_september">settember</string> - <string name="month_long_standalone_october">october</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">schaner</string> - <string name="month_long_february">favrer</string> - <string name="month_long_march">mars</string> - <string name="month_long_april">avrigl</string> - <string name="month_long_may">matg</string> - <string name="month_long_june">zercladur</string> - <string name="month_long_july">fanadur</string> - <string name="month_long_august">avust</string> - <string name="month_long_september">settember</string> - <string name="month_long_october">october</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">schan.</string> - <string name="month_medium_february">favr.</string> - <string name="month_medium_march">mars</string> - <string name="month_medium_april">avr.</string> - <string name="month_medium_may">matg</string> - <string name="month_medium_june">zercl.</string> - <string name="month_medium_july">fan.</string> - <string name="month_medium_august">avust</string> - <string name="month_medium_september">sett.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">S</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">Z</string> - <string name="month_shortest_july">F</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">dumengia</string> - <string name="day_of_week_long_monday">glindesdi</string> - <string name="day_of_week_long_tuesday">mardi</string> - <string name="day_of_week_long_wednesday">mesemna</string> - <string name="day_of_week_long_thursday">gievgia</string> - <string name="day_of_week_long_friday">venderdi</string> - <string name="day_of_week_long_saturday">sonda</string> - - <string name="day_of_week_medium_sunday">du</string> - <string name="day_of_week_medium_monday">gli</string> - <string name="day_of_week_medium_tuesday">ma</string> - <string name="day_of_week_medium_wednesday">me</string> - <string name="day_of_week_medium_thursday">gie</string> - <string name="day_of_week_medium_friday">ve</string> - <string name="day_of_week_medium_saturday">so</string> - - <string name="day_of_week_short_sunday">du</string> - <string name="day_of_week_short_monday">gli</string> - <string name="day_of_week_short_tuesday">ma</string> - <string name="day_of_week_short_wednesday">me</string> - <string name="day_of_week_short_thursday">gie</string> - <string name="day_of_week_short_friday">ve</string> - <string name="day_of_week_short_saturday">so</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">G</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">G</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="yesterday">ier</string> - <string name="today">oz</string> - <string name="tomorrow">damaun</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-ro-rRO/donottranslate-cldr.xml b/core/res/res/values-ro-rRO/donottranslate-cldr.xml index 732ae24..7056803 100644 --- a/core/res/res/values-ro-rRO/donottranslate-cldr.xml +++ b/core/res/res/values-ro-rRO/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">ianuarie</string> - <string name="month_long_standalone_february">februarie</string> - <string name="month_long_standalone_march">martie</string> - <string name="month_long_standalone_april">aprilie</string> - <string name="month_long_standalone_may">mai</string> - <string name="month_long_standalone_june">iunie</string> - <string name="month_long_standalone_july">iulie</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">septembrie</string> - <string name="month_long_standalone_october">octombrie</string> - <string name="month_long_standalone_november">noiembrie</string> - <string name="month_long_standalone_december">decembrie</string> - - <string name="month_long_january">ianuarie</string> - <string name="month_long_february">februarie</string> - <string name="month_long_march">martie</string> - <string name="month_long_april">aprilie</string> - <string name="month_long_may">mai</string> - <string name="month_long_june">iunie</string> - <string name="month_long_july">iulie</string> - <string name="month_long_august">august</string> - <string name="month_long_september">septembrie</string> - <string name="month_long_october">octombrie</string> - <string name="month_long_november">noiembrie</string> - <string name="month_long_december">decembrie</string> - - <string name="month_medium_january">ian.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">iun.</string> - <string name="month_medium_july">iul.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sept.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">I</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">I</string> - <string name="month_shortest_july">I</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">duminică</string> - <string name="day_of_week_long_monday">luni</string> - <string name="day_of_week_long_tuesday">marți</string> - <string name="day_of_week_long_wednesday">miercuri</string> - <string name="day_of_week_long_thursday">joi</string> - <string name="day_of_week_long_friday">vineri</string> - <string name="day_of_week_long_saturday">sâmbătă</string> - - <string name="day_of_week_medium_sunday">Du</string> - <string name="day_of_week_medium_monday">Lu</string> - <string name="day_of_week_medium_tuesday">Ma</string> - <string name="day_of_week_medium_wednesday">Mi</string> - <string name="day_of_week_medium_thursday">Jo</string> - <string name="day_of_week_medium_friday">Vi</string> - <string name="day_of_week_medium_saturday">Sâ</string> - - <string name="day_of_week_short_sunday">Du</string> - <string name="day_of_week_short_monday">Lu</string> - <string name="day_of_week_short_tuesday">Ma</string> - <string name="day_of_week_short_wednesday">Mi</string> - <string name="day_of_week_short_thursday">Jo</string> - <string name="day_of_week_short_friday">Vi</string> - <string name="day_of_week_short_saturday">Sâ</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">J</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">ieri</string> - <string name="today">azi</string> - <string name="tomorrow">mâine</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-ro/donottranslate-cldr.xml b/core/res/res/values-ro/donottranslate-cldr.xml index e9a70dc..935c6af 100644 --- a/core/res/res/values-ro/donottranslate-cldr.xml +++ b/core/res/res/values-ro/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">ianuarie</string> - <string name="month_long_standalone_february">februarie</string> - <string name="month_long_standalone_march">martie</string> - <string name="month_long_standalone_april">aprilie</string> - <string name="month_long_standalone_may">mai</string> - <string name="month_long_standalone_june">iunie</string> - <string name="month_long_standalone_july">iulie</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">septembrie</string> - <string name="month_long_standalone_october">octombrie</string> - <string name="month_long_standalone_november">noiembrie</string> - <string name="month_long_standalone_december">decembrie</string> - - <string name="month_long_january">ianuarie</string> - <string name="month_long_february">februarie</string> - <string name="month_long_march">martie</string> - <string name="month_long_april">aprilie</string> - <string name="month_long_may">mai</string> - <string name="month_long_june">iunie</string> - <string name="month_long_july">iulie</string> - <string name="month_long_august">august</string> - <string name="month_long_september">septembrie</string> - <string name="month_long_october">octombrie</string> - <string name="month_long_november">noiembrie</string> - <string name="month_long_december">decembrie</string> - - <string name="month_medium_january">ian.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">mai</string> - <string name="month_medium_june">iun.</string> - <string name="month_medium_july">iul.</string> - <string name="month_medium_august">aug.</string> - <string name="month_medium_september">sept.</string> - <string name="month_medium_october">oct.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">I</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">I</string> - <string name="month_shortest_july">I</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">duminică</string> - <string name="day_of_week_long_monday">luni</string> - <string name="day_of_week_long_tuesday">marți</string> - <string name="day_of_week_long_wednesday">miercuri</string> - <string name="day_of_week_long_thursday">joi</string> - <string name="day_of_week_long_friday">vineri</string> - <string name="day_of_week_long_saturday">sâmbătă</string> - - <string name="day_of_week_medium_sunday">Du</string> - <string name="day_of_week_medium_monday">Lu</string> - <string name="day_of_week_medium_tuesday">Ma</string> - <string name="day_of_week_medium_wednesday">Mi</string> - <string name="day_of_week_medium_thursday">Jo</string> - <string name="day_of_week_medium_friday">Vi</string> - <string name="day_of_week_medium_saturday">Sâ</string> - - <string name="day_of_week_short_sunday">Du</string> - <string name="day_of_week_short_monday">Lu</string> - <string name="day_of_week_short_tuesday">Ma</string> - <string name="day_of_week_short_wednesday">Mi</string> - <string name="day_of_week_short_thursday">Jo</string> - <string name="day_of_week_short_friday">Vi</string> - <string name="day_of_week_short_saturday">Sâ</string> - - <string name="day_of_week_shortest_sunday">D</string> - <string name="day_of_week_shortest_monday">L</string> - <string name="day_of_week_shortest_tuesday">M</string> - <string name="day_of_week_shortest_wednesday">M</string> - <string name="day_of_week_shortest_thursday">J</string> - <string name="day_of_week_shortest_friday">V</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">ieri</string> - <string name="today">azi</string> - <string name="tomorrow">mâine</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-ru/donottranslate-cldr.xml b/core/res/res/values-ru/donottranslate-cldr.xml index 2fbcd43..03c64ab 100644 --- a/core/res/res/values-ru/donottranslate-cldr.xml +++ b/core/res/res/values-ru/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">январь</string> - <string name="month_long_standalone_february">февраль</string> - <string name="month_long_standalone_march">март</string> - <string name="month_long_standalone_april">апрель</string> - <string name="month_long_standalone_may">май</string> - <string name="month_long_standalone_june">июнь</string> - <string name="month_long_standalone_july">июль</string> - <string name="month_long_standalone_august">август</string> - <string name="month_long_standalone_september">сентябрь</string> - <string name="month_long_standalone_october">октябрь</string> - <string name="month_long_standalone_november">ноябрь</string> - <string name="month_long_standalone_december">декабрь</string> - - <string name="month_long_january">января</string> - <string name="month_long_february">февраля</string> - <string name="month_long_march">марта</string> - <string name="month_long_april">апреля</string> - <string name="month_long_may">мая</string> - <string name="month_long_june">июня</string> - <string name="month_long_july">июля</string> - <string name="month_long_august">августа</string> - <string name="month_long_september">сентября</string> - <string name="month_long_october">октября</string> - <string name="month_long_november">ноября</string> - <string name="month_long_december">декабря</string> - - <string name="month_medium_january">янв</string> - <string name="month_medium_february">фев</string> - <string name="month_medium_march">мар</string> - <string name="month_medium_april">апр</string> - <string name="month_medium_may">май</string> - <string name="month_medium_june">июн</string> - <string name="month_medium_july">июл</string> - <string name="month_medium_august">авг</string> - <string name="month_medium_september">сен</string> - <string name="month_medium_october">окт</string> - <string name="month_medium_november">ноя</string> - <string name="month_medium_december">дек</string> - - <string name="month_shortest_january">Я</string> - <string name="month_shortest_february">Ф</string> - <string name="month_shortest_march">М</string> - <string name="month_shortest_april">А</string> - <string name="month_shortest_may">М</string> - <string name="month_shortest_june">И</string> - <string name="month_shortest_july">И</string> - <string name="month_shortest_august">А</string> - <string name="month_shortest_september">С</string> - <string name="month_shortest_october">О</string> - <string name="month_shortest_november">Н</string> - <string name="month_shortest_december">Д</string> - - <string name="day_of_week_long_sunday">воскресенье</string> - <string name="day_of_week_long_monday">понедельник</string> - <string name="day_of_week_long_tuesday">вторник</string> - <string name="day_of_week_long_wednesday">среда</string> - <string name="day_of_week_long_thursday">четверг</string> - <string name="day_of_week_long_friday">пятница</string> - <string name="day_of_week_long_saturday">суббота</string> - - <string name="day_of_week_medium_sunday">вс</string> - <string name="day_of_week_medium_monday">пн</string> - <string name="day_of_week_medium_tuesday">вт</string> - <string name="day_of_week_medium_wednesday">ср</string> - <string name="day_of_week_medium_thursday">чт</string> - <string name="day_of_week_medium_friday">пт</string> - <string name="day_of_week_medium_saturday">сб</string> - - <string name="day_of_week_short_sunday">вс</string> - <string name="day_of_week_short_monday">пн</string> - <string name="day_of_week_short_tuesday">вт</string> - <string name="day_of_week_short_wednesday">ср</string> - <string name="day_of_week_short_thursday">чт</string> - <string name="day_of_week_short_friday">пт</string> - <string name="day_of_week_short_saturday">сб</string> - - <string name="day_of_week_shortest_sunday">В</string> - <string name="day_of_week_shortest_monday">П</string> - <string name="day_of_week_shortest_tuesday">В</string> - <string name="day_of_week_shortest_wednesday">С</string> - <string name="day_of_week_shortest_thursday">Ч</string> - <string name="day_of_week_shortest_friday">П</string> - <string name="day_of_week_shortest_saturday">С</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Вчера</string> - <string name="today">Сегодня</string> - <string name="tomorrow">Завтра</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-sk-rSK/donottranslate-cldr.xml b/core/res/res/values-sk-rSK/donottranslate-cldr.xml index 2843ae3..651c58c 100644 --- a/core/res/res/values-sk-rSK/donottranslate-cldr.xml +++ b/core/res/res/values-sk-rSK/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">január</string> - <string name="month_long_standalone_february">február</string> - <string name="month_long_standalone_march">marec</string> - <string name="month_long_standalone_april">apríl</string> - <string name="month_long_standalone_may">máj</string> - <string name="month_long_standalone_june">jún</string> - <string name="month_long_standalone_july">júl</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">október</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januára</string> - <string name="month_long_february">februára</string> - <string name="month_long_march">marca</string> - <string name="month_long_april">apríla</string> - <string name="month_long_may">mája</string> - <string name="month_long_june">júna</string> - <string name="month_long_july">júla</string> - <string name="month_long_august">augusta</string> - <string name="month_long_september">septembra</string> - <string name="month_long_october">októbra</string> - <string name="month_long_november">novembra</string> - <string name="month_long_december">decembra</string> - - <string name="month_medium_january">jan</string> - <string name="month_medium_february">feb</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">máj</string> - <string name="month_medium_june">jún</string> - <string name="month_medium_july">júl</string> - <string name="month_medium_august">aug</string> - <string name="month_medium_september">sep</string> - <string name="month_medium_october">okt</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dec</string> - - <string name="month_shortest_january">j</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">nedeľa</string> - <string name="day_of_week_long_monday">pondelok</string> - <string name="day_of_week_long_tuesday">utorok</string> - <string name="day_of_week_long_wednesday">streda</string> - <string name="day_of_week_long_thursday">štvrtok</string> - <string name="day_of_week_long_friday">piatok</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">ne</string> - <string name="day_of_week_medium_monday">po</string> - <string name="day_of_week_medium_tuesday">ut</string> - <string name="day_of_week_medium_wednesday">st</string> - <string name="day_of_week_medium_thursday">št</string> - <string name="day_of_week_medium_friday">pi</string> - <string name="day_of_week_medium_saturday">so</string> - - <string name="day_of_week_short_sunday">ne</string> - <string name="day_of_week_short_monday">po</string> - <string name="day_of_week_short_tuesday">ut</string> - <string name="day_of_week_short_wednesday">st</string> - <string name="day_of_week_short_thursday">št</string> - <string name="day_of_week_short_friday">pi</string> - <string name="day_of_week_short_saturday">so</string> - - <string name="day_of_week_shortest_sunday">N</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">U</string> - <string name="day_of_week_shortest_wednesday">S</string> - <string name="day_of_week_shortest_thursday">Š</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">dopoludnia</string> - <string name="pm">popoludní</string> - <string name="yesterday">Včera</string> - <string name="today">Dnes</string> - <string name="tomorrow">Zajtra</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-sk/donottranslate-cldr.xml b/core/res/res/values-sk/donottranslate-cldr.xml index dcdaad1..48c644a 100644 --- a/core/res/res/values-sk/donottranslate-cldr.xml +++ b/core/res/res/values-sk/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">január</string> - <string name="month_long_standalone_february">február</string> - <string name="month_long_standalone_march">marec</string> - <string name="month_long_standalone_april">apríl</string> - <string name="month_long_standalone_may">máj</string> - <string name="month_long_standalone_june">jún</string> - <string name="month_long_standalone_july">júl</string> - <string name="month_long_standalone_august">august</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">október</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januára</string> - <string name="month_long_february">februára</string> - <string name="month_long_march">marca</string> - <string name="month_long_april">apríla</string> - <string name="month_long_may">mája</string> - <string name="month_long_june">júna</string> - <string name="month_long_july">júla</string> - <string name="month_long_august">augusta</string> - <string name="month_long_september">septembra</string> - <string name="month_long_october">októbra</string> - <string name="month_long_november">novembra</string> - <string name="month_long_december">decembra</string> - - <string name="month_medium_january">jan</string> - <string name="month_medium_february">feb</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">máj</string> - <string name="month_medium_june">jún</string> - <string name="month_medium_july">júl</string> - <string name="month_medium_august">aug</string> - <string name="month_medium_september">sep</string> - <string name="month_medium_october">okt</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dec</string> - - <string name="month_shortest_january">j</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">nedeľa</string> - <string name="day_of_week_long_monday">pondelok</string> - <string name="day_of_week_long_tuesday">utorok</string> - <string name="day_of_week_long_wednesday">streda</string> - <string name="day_of_week_long_thursday">štvrtok</string> - <string name="day_of_week_long_friday">piatok</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">ne</string> - <string name="day_of_week_medium_monday">po</string> - <string name="day_of_week_medium_tuesday">ut</string> - <string name="day_of_week_medium_wednesday">st</string> - <string name="day_of_week_medium_thursday">št</string> - <string name="day_of_week_medium_friday">pi</string> - <string name="day_of_week_medium_saturday">so</string> - - <string name="day_of_week_short_sunday">ne</string> - <string name="day_of_week_short_monday">po</string> - <string name="day_of_week_short_tuesday">ut</string> - <string name="day_of_week_short_wednesday">st</string> - <string name="day_of_week_short_thursday">št</string> - <string name="day_of_week_short_friday">pi</string> - <string name="day_of_week_short_saturday">so</string> - - <string name="day_of_week_shortest_sunday">N</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">U</string> - <string name="day_of_week_shortest_wednesday">S</string> - <string name="day_of_week_shortest_thursday">Š</string> - <string name="day_of_week_shortest_friday">P</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">dopoludnia</string> - <string name="pm">popoludní</string> - <string name="yesterday">Včera</string> - <string name="today">Dnes</string> - <string name="tomorrow">Zajtra</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-sl-rSI/donottranslate-cldr.xml b/core/res/res/values-sl-rSI/donottranslate-cldr.xml index cbabccd..84fffbd 100644 --- a/core/res/res/values-sl-rSI/donottranslate-cldr.xml +++ b/core/res/res/values-sl-rSI/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januar</string> - <string name="month_long_standalone_february">februar</string> - <string name="month_long_standalone_march">marec</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">maj</string> - <string name="month_long_standalone_june">junij</string> - <string name="month_long_standalone_july">julij</string> - <string name="month_long_standalone_august">avgust</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januar</string> - <string name="month_long_february">februar</string> - <string name="month_long_march">marec</string> - <string name="month_long_april">april</string> - <string name="month_long_may">maj</string> - <string name="month_long_june">junij</string> - <string name="month_long_july">julij</string> - <string name="month_long_august">avgust</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan.</string> - <string name="month_medium_february">feb.</string> - <string name="month_medium_march">mar.</string> - <string name="month_medium_april">apr.</string> - <string name="month_medium_may">maj.</string> - <string name="month_medium_june">jun.</string> - <string name="month_medium_july">jul.</string> - <string name="month_medium_august">avg.</string> - <string name="month_medium_september">sep.</string> - <string name="month_medium_october">okt.</string> - <string name="month_medium_november">nov.</string> - <string name="month_medium_december">dec.</string> - - <string name="month_shortest_january">j</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">nedelja</string> - <string name="day_of_week_long_monday">ponedeljek</string> - <string name="day_of_week_long_tuesday">torek</string> - <string name="day_of_week_long_wednesday">sreda</string> - <string name="day_of_week_long_thursday">četrtek</string> - <string name="day_of_week_long_friday">petek</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">ned.</string> - <string name="day_of_week_medium_monday">pon.</string> - <string name="day_of_week_medium_tuesday">tor.</string> - <string name="day_of_week_medium_wednesday">sre.</string> - <string name="day_of_week_medium_thursday">čet.</string> - <string name="day_of_week_medium_friday">pet.</string> - <string name="day_of_week_medium_saturday">sob.</string> - - <string name="day_of_week_short_sunday">ned.</string> - <string name="day_of_week_short_monday">pon.</string> - <string name="day_of_week_short_tuesday">tor.</string> - <string name="day_of_week_short_wednesday">sre.</string> - <string name="day_of_week_short_thursday">čet.</string> - <string name="day_of_week_short_friday">pet.</string> - <string name="day_of_week_short_saturday">sob.</string> - - <string name="day_of_week_shortest_sunday">n</string> - <string name="day_of_week_shortest_monday">p</string> - <string name="day_of_week_shortest_tuesday">t</string> - <string name="day_of_week_shortest_wednesday">s</string> - <string name="day_of_week_shortest_thursday">č</string> - <string name="day_of_week_shortest_friday">p</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">dop.</string> - <string name="pm">pop.</string> - <string name="yesterday">Včeraj</string> - <string name="today">Danes</string> - <string name="tomorrow">Jutri</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-sl/donottranslate-cldr.xml b/core/res/res/values-sl/donottranslate-cldr.xml index b804b3f..137ed3f 100644 --- a/core/res/res/values-sl/donottranslate-cldr.xml +++ b/core/res/res/values-sl/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januar</string> - <string name="month_long_standalone_february">februar</string> - <string name="month_long_standalone_march">marec</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">maj</string> - <string name="month_long_standalone_june">junij</string> - <string name="month_long_standalone_july">julij</string> - <string name="month_long_standalone_august">avgust</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januar</string> - <string name="month_long_february">februar</string> - <string name="month_long_march">marec</string> - <string name="month_long_april">april</string> - <string name="month_long_may">maj</string> - <string name="month_long_june">junij</string> - <string name="month_long_july">julij</string> - <string name="month_long_august">avgust</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan</string> - <string name="month_medium_february">feb</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">maj</string> - <string name="month_medium_june">jun</string> - <string name="month_medium_july">jul</string> - <string name="month_medium_august">avg</string> - <string name="month_medium_september">sep</string> - <string name="month_medium_october">okt</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dec</string> - - <string name="month_shortest_january">j</string> - <string name="month_shortest_february">f</string> - <string name="month_shortest_march">m</string> - <string name="month_shortest_april">a</string> - <string name="month_shortest_may">m</string> - <string name="month_shortest_june">j</string> - <string name="month_shortest_july">j</string> - <string name="month_shortest_august">a</string> - <string name="month_shortest_september">s</string> - <string name="month_shortest_october">o</string> - <string name="month_shortest_november">n</string> - <string name="month_shortest_december">d</string> - - <string name="day_of_week_long_sunday">nedelja</string> - <string name="day_of_week_long_monday">ponedeljek</string> - <string name="day_of_week_long_tuesday">torek</string> - <string name="day_of_week_long_wednesday">sreda</string> - <string name="day_of_week_long_thursday">četrtek</string> - <string name="day_of_week_long_friday">petek</string> - <string name="day_of_week_long_saturday">sobota</string> - - <string name="day_of_week_medium_sunday">ned</string> - <string name="day_of_week_medium_monday">pon</string> - <string name="day_of_week_medium_tuesday">tor</string> - <string name="day_of_week_medium_wednesday">sre</string> - <string name="day_of_week_medium_thursday">čet</string> - <string name="day_of_week_medium_friday">pet</string> - <string name="day_of_week_medium_saturday">sob</string> - - <string name="day_of_week_short_sunday">ned</string> - <string name="day_of_week_short_monday">pon</string> - <string name="day_of_week_short_tuesday">tor</string> - <string name="day_of_week_short_wednesday">sre</string> - <string name="day_of_week_short_thursday">čet</string> - <string name="day_of_week_short_friday">pet</string> - <string name="day_of_week_short_saturday">sob</string> - - <string name="day_of_week_shortest_sunday">n</string> - <string name="day_of_week_shortest_monday">p</string> - <string name="day_of_week_shortest_tuesday">t</string> - <string name="day_of_week_shortest_wednesday">s</string> - <string name="day_of_week_shortest_thursday">č</string> - <string name="day_of_week_shortest_friday">p</string> - <string name="day_of_week_shortest_saturday">s</string> - - <string name="am">dop.</string> - <string name="pm">pop.</string> - <string name="yesterday">Včeraj</string> - <string name="today">Danes</string> - <string name="tomorrow">Jutri</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-sr-rRS/donottranslate-cldr.xml b/core/res/res/values-sr-rRS/donottranslate-cldr.xml index 7168bcc..996c75e 100644 --- a/core/res/res/values-sr-rRS/donottranslate-cldr.xml +++ b/core/res/res/values-sr-rRS/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">јануар</string> - <string name="month_long_standalone_february">фебруар</string> - <string name="month_long_standalone_march">март</string> - <string name="month_long_standalone_april">април</string> - <string name="month_long_standalone_may">мај</string> - <string name="month_long_standalone_june">јун</string> - <string name="month_long_standalone_july">јул</string> - <string name="month_long_standalone_august">август</string> - <string name="month_long_standalone_september">септембар</string> - <string name="month_long_standalone_october">октобар</string> - <string name="month_long_standalone_november">новембар</string> - <string name="month_long_standalone_december">децембар</string> - - <string name="month_long_january">јануар</string> - <string name="month_long_february">фебруар</string> - <string name="month_long_march">март</string> - <string name="month_long_april">април</string> - <string name="month_long_may">мај</string> - <string name="month_long_june">јун</string> - <string name="month_long_july">јул</string> - <string name="month_long_august">август</string> - <string name="month_long_september">септембар</string> - <string name="month_long_october">октобар</string> - <string name="month_long_november">новембар</string> - <string name="month_long_december">децембар</string> - - <string name="month_medium_january">јан</string> - <string name="month_medium_february">феб</string> - <string name="month_medium_march">мар</string> - <string name="month_medium_april">апр</string> - <string name="month_medium_may">мај</string> - <string name="month_medium_june">јун</string> - <string name="month_medium_july">јул</string> - <string name="month_medium_august">авг</string> - <string name="month_medium_september">сеп</string> - <string name="month_medium_october">окт</string> - <string name="month_medium_november">нов</string> - <string name="month_medium_december">дец</string> - - <string name="month_shortest_january">ј</string> - <string name="month_shortest_february">ф</string> - <string name="month_shortest_march">м</string> - <string name="month_shortest_april">а</string> - <string name="month_shortest_may">м</string> - <string name="month_shortest_june">ј</string> - <string name="month_shortest_july">ј</string> - <string name="month_shortest_august">а</string> - <string name="month_shortest_september">с</string> - <string name="month_shortest_october">о</string> - <string name="month_shortest_november">н</string> - <string name="month_shortest_december">д</string> - - <string name="day_of_week_long_sunday">недеља</string> - <string name="day_of_week_long_monday">понедељак</string> - <string name="day_of_week_long_tuesday">уторак</string> - <string name="day_of_week_long_wednesday">среда</string> - <string name="day_of_week_long_thursday">четвртак</string> - <string name="day_of_week_long_friday">петак</string> - <string name="day_of_week_long_saturday">субота</string> - - <string name="day_of_week_medium_sunday">нед</string> - <string name="day_of_week_medium_monday">пон</string> - <string name="day_of_week_medium_tuesday">уто</string> - <string name="day_of_week_medium_wednesday">сре</string> - <string name="day_of_week_medium_thursday">чет</string> - <string name="day_of_week_medium_friday">пет</string> - <string name="day_of_week_medium_saturday">суб</string> - - <string name="day_of_week_short_sunday">нед</string> - <string name="day_of_week_short_monday">пон</string> - <string name="day_of_week_short_tuesday">уто</string> - <string name="day_of_week_short_wednesday">сре</string> - <string name="day_of_week_short_thursday">чет</string> - <string name="day_of_week_short_friday">пет</string> - <string name="day_of_week_short_saturday">суб</string> - - <string name="day_of_week_shortest_sunday">н</string> - <string name="day_of_week_shortest_monday">п</string> - <string name="day_of_week_shortest_tuesday">у</string> - <string name="day_of_week_shortest_wednesday">с</string> - <string name="day_of_week_shortest_thursday">ч</string> - <string name="day_of_week_shortest_friday">п</string> - <string name="day_of_week_shortest_saturday">с</string> - - <string name="am">пре подне</string> - <string name="pm">поподне</string> - <string name="yesterday">јуче</string> - <string name="today">данас</string> - <string name="tomorrow">сутра</string> - <string name="hour_minute_24">%H.%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-sr/donottranslate-cldr.xml b/core/res/res/values-sr/donottranslate-cldr.xml index 7426bdc..7fca1a2 100644 --- a/core/res/res/values-sr/donottranslate-cldr.xml +++ b/core/res/res/values-sr/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">јануар</string> - <string name="month_long_standalone_february">фебруар</string> - <string name="month_long_standalone_march">март</string> - <string name="month_long_standalone_april">април</string> - <string name="month_long_standalone_may">мај</string> - <string name="month_long_standalone_june">јун</string> - <string name="month_long_standalone_july">јул</string> - <string name="month_long_standalone_august">август</string> - <string name="month_long_standalone_september">септембар</string> - <string name="month_long_standalone_october">октобар</string> - <string name="month_long_standalone_november">новембар</string> - <string name="month_long_standalone_december">децембар</string> - - <string name="month_long_january">јануар</string> - <string name="month_long_february">фебруар</string> - <string name="month_long_march">март</string> - <string name="month_long_april">април</string> - <string name="month_long_may">мај</string> - <string name="month_long_june">јун</string> - <string name="month_long_july">јул</string> - <string name="month_long_august">август</string> - <string name="month_long_september">септембар</string> - <string name="month_long_october">октобар</string> - <string name="month_long_november">новембар</string> - <string name="month_long_december">децембар</string> - - <string name="month_medium_january">јан</string> - <string name="month_medium_february">феб</string> - <string name="month_medium_march">мар</string> - <string name="month_medium_april">апр</string> - <string name="month_medium_may">мај</string> - <string name="month_medium_june">јун</string> - <string name="month_medium_july">јул</string> - <string name="month_medium_august">авг</string> - <string name="month_medium_september">сеп</string> - <string name="month_medium_october">окт</string> - <string name="month_medium_november">нов</string> - <string name="month_medium_december">дец</string> - - <string name="month_shortest_january">ј</string> - <string name="month_shortest_february">ф</string> - <string name="month_shortest_march">м</string> - <string name="month_shortest_april">а</string> - <string name="month_shortest_may">м</string> - <string name="month_shortest_june">ј</string> - <string name="month_shortest_july">ј</string> - <string name="month_shortest_august">а</string> - <string name="month_shortest_september">с</string> - <string name="month_shortest_october">о</string> - <string name="month_shortest_november">н</string> - <string name="month_shortest_december">д</string> - - <string name="day_of_week_long_sunday">недеља</string> - <string name="day_of_week_long_monday">понедељак</string> - <string name="day_of_week_long_tuesday">уторак</string> - <string name="day_of_week_long_wednesday">среда</string> - <string name="day_of_week_long_thursday">четвртак</string> - <string name="day_of_week_long_friday">петак</string> - <string name="day_of_week_long_saturday">субота</string> - - <string name="day_of_week_medium_sunday">нед</string> - <string name="day_of_week_medium_monday">пон</string> - <string name="day_of_week_medium_tuesday">уто</string> - <string name="day_of_week_medium_wednesday">сре</string> - <string name="day_of_week_medium_thursday">чет</string> - <string name="day_of_week_medium_friday">пет</string> - <string name="day_of_week_medium_saturday">суб</string> - - <string name="day_of_week_short_sunday">нед</string> - <string name="day_of_week_short_monday">пон</string> - <string name="day_of_week_short_tuesday">уто</string> - <string name="day_of_week_short_wednesday">сре</string> - <string name="day_of_week_short_thursday">чет</string> - <string name="day_of_week_short_friday">пет</string> - <string name="day_of_week_short_saturday">суб</string> - - <string name="day_of_week_shortest_sunday">н</string> - <string name="day_of_week_shortest_monday">п</string> - <string name="day_of_week_shortest_tuesday">у</string> - <string name="day_of_week_shortest_wednesday">с</string> - <string name="day_of_week_shortest_thursday">ч</string> - <string name="day_of_week_shortest_friday">п</string> - <string name="day_of_week_shortest_saturday">с</string> - - <string name="am">пре подне</string> - <string name="pm">поподне</string> - <string name="yesterday">јуче</string> - <string name="today">данас</string> - <string name="tomorrow">сутра</string> - <string name="hour_minute_24">%H.%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-sv/donottranslate-cldr.xml b/core/res/res/values-sv/donottranslate-cldr.xml index 8b7833f..64c83f2 100644 --- a/core/res/res/values-sv/donottranslate-cldr.xml +++ b/core/res/res/values-sv/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">januari</string> - <string name="month_long_standalone_february">februari</string> - <string name="month_long_standalone_march">mars</string> - <string name="month_long_standalone_april">april</string> - <string name="month_long_standalone_may">maj</string> - <string name="month_long_standalone_june">juni</string> - <string name="month_long_standalone_july">juli</string> - <string name="month_long_standalone_august">augusti</string> - <string name="month_long_standalone_september">september</string> - <string name="month_long_standalone_october">oktober</string> - <string name="month_long_standalone_november">november</string> - <string name="month_long_standalone_december">december</string> - - <string name="month_long_january">januari</string> - <string name="month_long_february">februari</string> - <string name="month_long_march">mars</string> - <string name="month_long_april">april</string> - <string name="month_long_may">maj</string> - <string name="month_long_june">juni</string> - <string name="month_long_july">juli</string> - <string name="month_long_august">augusti</string> - <string name="month_long_september">september</string> - <string name="month_long_october">oktober</string> - <string name="month_long_november">november</string> - <string name="month_long_december">december</string> - - <string name="month_medium_january">jan</string> - <string name="month_medium_february">feb</string> - <string name="month_medium_march">mar</string> - <string name="month_medium_april">apr</string> - <string name="month_medium_may">maj</string> - <string name="month_medium_june">jun</string> - <string name="month_medium_july">jul</string> - <string name="month_medium_august">aug</string> - <string name="month_medium_september">sep</string> - <string name="month_medium_october">okt</string> - <string name="month_medium_november">nov</string> - <string name="month_medium_december">dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">söndag</string> - <string name="day_of_week_long_monday">måndag</string> - <string name="day_of_week_long_tuesday">tisdag</string> - <string name="day_of_week_long_wednesday">onsdag</string> - <string name="day_of_week_long_thursday">torsdag</string> - <string name="day_of_week_long_friday">fredag</string> - <string name="day_of_week_long_saturday">lördag</string> - - <string name="day_of_week_medium_sunday">sön</string> - <string name="day_of_week_medium_monday">mån</string> - <string name="day_of_week_medium_tuesday">tis</string> - <string name="day_of_week_medium_wednesday">ons</string> - <string name="day_of_week_medium_thursday">tors</string> - <string name="day_of_week_medium_friday">fre</string> - <string name="day_of_week_medium_saturday">lör</string> - - <string name="day_of_week_short_sunday">sön</string> - <string name="day_of_week_short_monday">mån</string> - <string name="day_of_week_short_tuesday">tis</string> - <string name="day_of_week_short_wednesday">ons</string> - <string name="day_of_week_short_thursday">tors</string> - <string name="day_of_week_short_friday">fre</string> - <string name="day_of_week_short_saturday">lör</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">O</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">L</string> - - <string name="am">f.m.</string> - <string name="pm">e.m.</string> - <string name="yesterday">igår</string> - <string name="today">idag</string> - <string name="tomorrow">imorgon</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-sw/donottranslate-cldr.xml b/core/res/res/values-sw/donottranslate-cldr.xml index 2bc07c1..a7a5150 100644 --- a/core/res/res/values-sw/donottranslate-cldr.xml +++ b/core/res/res/values-sw/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Januari</string> - <string name="month_long_standalone_february">Februari</string> - <string name="month_long_standalone_march">Machi</string> - <string name="month_long_standalone_april">Aprili</string> - <string name="month_long_standalone_may">Mei</string> - <string name="month_long_standalone_june">Juni</string> - <string name="month_long_standalone_july">Julai</string> - <string name="month_long_standalone_august">Agosti</string> - <string name="month_long_standalone_september">Septemba</string> - <string name="month_long_standalone_october">Oktoba</string> - <string name="month_long_standalone_november">Novemba</string> - <string name="month_long_standalone_december">Desemba</string> - - <string name="month_long_january">Januari</string> - <string name="month_long_february">Februari</string> - <string name="month_long_march">Machi</string> - <string name="month_long_april">Aprili</string> - <string name="month_long_may">Mei</string> - <string name="month_long_june">Juni</string> - <string name="month_long_july">Julai</string> - <string name="month_long_august">Agosti</string> - <string name="month_long_september">Septemba</string> - <string name="month_long_october">Oktoba</string> - <string name="month_long_november">Novemba</string> - <string name="month_long_december">Desemba</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mac</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mei</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Ago</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Des</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Jumapili</string> - <string name="day_of_week_long_monday">Jumatatu</string> - <string name="day_of_week_long_tuesday">Jumanne</string> - <string name="day_of_week_long_wednesday">Jumatano</string> - <string name="day_of_week_long_thursday">Alhamisi</string> - <string name="day_of_week_long_friday">Ijumaa</string> - <string name="day_of_week_long_saturday">Jumamosi</string> - - <string name="day_of_week_medium_sunday">Jpi</string> - <string name="day_of_week_medium_monday">Jtt</string> - <string name="day_of_week_medium_tuesday">Jnn</string> - <string name="day_of_week_medium_wednesday">Jtn</string> - <string name="day_of_week_medium_thursday">Alh</string> - <string name="day_of_week_medium_friday">Iju</string> - <string name="day_of_week_medium_saturday">Jmo</string> - - <string name="day_of_week_short_sunday">Jpi</string> - <string name="day_of_week_short_monday">Jtt</string> - <string name="day_of_week_short_tuesday">Jnn</string> - <string name="day_of_week_short_wednesday">Jtn</string> - <string name="day_of_week_short_thursday">Alh</string> - <string name="day_of_week_short_friday">Iju</string> - <string name="day_of_week_short_saturday">Jmo</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-th-rTH/donottranslate-cldr.xml b/core/res/res/values-th-rTH/donottranslate-cldr.xml index 7049c52..2517143 100644 --- a/core/res/res/values-th-rTH/donottranslate-cldr.xml +++ b/core/res/res/values-th-rTH/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">มกราคม</string> - <string name="month_long_standalone_february">กุมภาพันธ์</string> - <string name="month_long_standalone_march">มีนาคม</string> - <string name="month_long_standalone_april">เมษายน</string> - <string name="month_long_standalone_may">พฤษภาคม</string> - <string name="month_long_standalone_june">มิถุนายน</string> - <string name="month_long_standalone_july">กรกฎาคม</string> - <string name="month_long_standalone_august">สิงหาคม</string> - <string name="month_long_standalone_september">กันยายน</string> - <string name="month_long_standalone_october">ตุลาคม</string> - <string name="month_long_standalone_november">พฤศจิกายน</string> - <string name="month_long_standalone_december">ธันวาคม</string> - - <string name="month_long_january">มกราคม</string> - <string name="month_long_february">กุมภาพันธ์</string> - <string name="month_long_march">มีนาคม</string> - <string name="month_long_april">เมษายน</string> - <string name="month_long_may">พฤษภาคม</string> - <string name="month_long_june">มิถุนายน</string> - <string name="month_long_july">กรกฎาคม</string> - <string name="month_long_august">สิงหาคม</string> - <string name="month_long_september">กันยายน</string> - <string name="month_long_october">ตุลาคม</string> - <string name="month_long_november">พฤศจิกายน</string> - <string name="month_long_december">ธันวาคม</string> - - <string name="month_medium_january">ม.ค.</string> - <string name="month_medium_february">ก.พ.</string> - <string name="month_medium_march">มี.ค.</string> - <string name="month_medium_april">เม.ย.</string> - <string name="month_medium_may">พ.ค.</string> - <string name="month_medium_june">มิ.ย.</string> - <string name="month_medium_july">ก.ค.</string> - <string name="month_medium_august">ส.ค.</string> - <string name="month_medium_september">ก.ย.</string> - <string name="month_medium_october">ต.ค.</string> - <string name="month_medium_november">พ.ย.</string> - <string name="month_medium_december">ธ.ค.</string> - - <string name="month_shortest_january">ม.ค.</string> - <string name="month_shortest_february">ก.พ.</string> - <string name="month_shortest_march">มี.ค.</string> - <string name="month_shortest_april">เม.ย.</string> - <string name="month_shortest_may">พ.ค.</string> - <string name="month_shortest_june">มิ.ย.</string> - <string name="month_shortest_july">ก.ค.</string> - <string name="month_shortest_august">ส.ค.</string> - <string name="month_shortest_september">ก.ย.</string> - <string name="month_shortest_october">ต.ค.</string> - <string name="month_shortest_november">พ.ย.</string> - <string name="month_shortest_december">ธ.ค.</string> - - <string name="day_of_week_long_sunday">วันอาทิตย์</string> - <string name="day_of_week_long_monday">วันจันทร์</string> - <string name="day_of_week_long_tuesday">วันอังคาร</string> - <string name="day_of_week_long_wednesday">วันพุธ</string> - <string name="day_of_week_long_thursday">วันพฤหัสบดี</string> - <string name="day_of_week_long_friday">วันศุกร์</string> - <string name="day_of_week_long_saturday">วันเสาร์</string> - - <string name="day_of_week_medium_sunday">อา.</string> - <string name="day_of_week_medium_monday">จ.</string> - <string name="day_of_week_medium_tuesday">อ.</string> - <string name="day_of_week_medium_wednesday">พ.</string> - <string name="day_of_week_medium_thursday">พฤ.</string> - <string name="day_of_week_medium_friday">ศ.</string> - <string name="day_of_week_medium_saturday">ส.</string> - - <string name="day_of_week_short_sunday">อา.</string> - <string name="day_of_week_short_monday">จ.</string> - <string name="day_of_week_short_tuesday">อ.</string> - <string name="day_of_week_short_wednesday">พ.</string> - <string name="day_of_week_short_thursday">พฤ.</string> - <string name="day_of_week_short_friday">ศ.</string> - <string name="day_of_week_short_saturday">ส.</string> - - <string name="day_of_week_shortest_sunday">อ</string> - <string name="day_of_week_shortest_monday">จ</string> - <string name="day_of_week_shortest_tuesday">อ</string> - <string name="day_of_week_shortest_wednesday">พ</string> - <string name="day_of_week_shortest_thursday">พ</string> - <string name="day_of_week_shortest_friday">ศ</string> - <string name="day_of_week_shortest_saturday">ส</string> - - <string name="am">ก่อนเที่ยง</string> - <string name="pm">หลังเที่ยง</string> - <string name="yesterday">เมื่อวาน</string> - <string name="today">วันนี้</string> - <string name="tomorrow">พรุ่งนี้</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-th/donottranslate-cldr.xml b/core/res/res/values-th/donottranslate-cldr.xml index f3196d1..7ab4191 100644 --- a/core/res/res/values-th/donottranslate-cldr.xml +++ b/core/res/res/values-th/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">มกราคม</string> - <string name="month_long_standalone_february">กุมภาพันธ์</string> - <string name="month_long_standalone_march">มีนาคม</string> - <string name="month_long_standalone_april">เมษายน</string> - <string name="month_long_standalone_may">พฤษภาคม</string> - <string name="month_long_standalone_june">มิถุนายน</string> - <string name="month_long_standalone_july">กรกฎาคม</string> - <string name="month_long_standalone_august">สิงหาคม</string> - <string name="month_long_standalone_september">กันยายน</string> - <string name="month_long_standalone_october">ตุลาคม</string> - <string name="month_long_standalone_november">พฤศจิกายน</string> - <string name="month_long_standalone_december">ธันวาคม</string> - - <string name="month_long_january">มกราคม</string> - <string name="month_long_february">กุมภาพันธ์</string> - <string name="month_long_march">มีนาคม</string> - <string name="month_long_april">เมษายน</string> - <string name="month_long_may">พฤษภาคม</string> - <string name="month_long_june">มิถุนายน</string> - <string name="month_long_july">กรกฎาคม</string> - <string name="month_long_august">สิงหาคม</string> - <string name="month_long_september">กันยายน</string> - <string name="month_long_october">ตุลาคม</string> - <string name="month_long_november">พฤศจิกายน</string> - <string name="month_long_december">ธันวาคม</string> - - <string name="month_medium_january">ม.ค.</string> - <string name="month_medium_february">ก.พ.</string> - <string name="month_medium_march">มี.ค.</string> - <string name="month_medium_april">เม.ย.</string> - <string name="month_medium_may">พ.ค.</string> - <string name="month_medium_june">มิ.ย.</string> - <string name="month_medium_july">ก.ค.</string> - <string name="month_medium_august">ส.ค.</string> - <string name="month_medium_september">ก.ย.</string> - <string name="month_medium_october">ต.ค.</string> - <string name="month_medium_november">พ.ย.</string> - <string name="month_medium_december">ธ.ค.</string> - - <string name="month_shortest_january">ม.ค.</string> - <string name="month_shortest_february">ก.พ.</string> - <string name="month_shortest_march">มี.ค.</string> - <string name="month_shortest_april">เม.ย.</string> - <string name="month_shortest_may">พ.ค.</string> - <string name="month_shortest_june">มิ.ย.</string> - <string name="month_shortest_july">ก.ค.</string> - <string name="month_shortest_august">ส.ค.</string> - <string name="month_shortest_september">ก.ย.</string> - <string name="month_shortest_october">ต.ค.</string> - <string name="month_shortest_november">พ.ย.</string> - <string name="month_shortest_december">ธ.ค.</string> - - <string name="day_of_week_long_sunday">วันอาทิตย์</string> - <string name="day_of_week_long_monday">วันจันทร์</string> - <string name="day_of_week_long_tuesday">วันอังคาร</string> - <string name="day_of_week_long_wednesday">วันพุธ</string> - <string name="day_of_week_long_thursday">วันพฤหัสบดี</string> - <string name="day_of_week_long_friday">วันศุกร์</string> - <string name="day_of_week_long_saturday">วันเสาร์</string> - - <string name="day_of_week_medium_sunday">อา.</string> - <string name="day_of_week_medium_monday">จ.</string> - <string name="day_of_week_medium_tuesday">อ.</string> - <string name="day_of_week_medium_wednesday">พ.</string> - <string name="day_of_week_medium_thursday">พฤ.</string> - <string name="day_of_week_medium_friday">ศ.</string> - <string name="day_of_week_medium_saturday">ส.</string> - - <string name="day_of_week_short_sunday">อา.</string> - <string name="day_of_week_short_monday">จ.</string> - <string name="day_of_week_short_tuesday">อ.</string> - <string name="day_of_week_short_wednesday">พ.</string> - <string name="day_of_week_short_thursday">พฤ.</string> - <string name="day_of_week_short_friday">ศ.</string> - <string name="day_of_week_short_saturday">ส.</string> - - <string name="day_of_week_shortest_sunday">อ</string> - <string name="day_of_week_shortest_monday">จ</string> - <string name="day_of_week_shortest_tuesday">อ</string> - <string name="day_of_week_shortest_wednesday">พ</string> - <string name="day_of_week_shortest_thursday">พ</string> - <string name="day_of_week_shortest_friday">ศ</string> - <string name="day_of_week_shortest_saturday">ส</string> - - <string name="am">ก่อนเที่ยง</string> - <string name="pm">หลังเที่ยง</string> - <string name="yesterday">เมื่อวาน</string> - <string name="today">วันนี้</string> - <string name="tomorrow">พรุ่งนี้</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-tl/donottranslate-cldr.xml b/core/res/res/values-tl/donottranslate-cldr.xml index 6ff92e3..4545fb5 100644 --- a/core/res/res/values-tl/donottranslate-cldr.xml +++ b/core/res/res/values-tl/donottranslate-cldr.xml @@ -1,70 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">1</string> - <string name="month_long_standalone_february">2</string> - <string name="month_long_standalone_march">3</string> - <string name="month_long_standalone_april">4</string> - <string name="month_long_standalone_may">5</string> - <string name="month_long_standalone_june">6</string> - <string name="month_long_standalone_july">7</string> - <string name="month_long_standalone_august">8</string> - <string name="month_long_standalone_september">9</string> - <string name="month_long_standalone_october">10</string> - <string name="month_long_standalone_november">11</string> - <string name="month_long_standalone_december">12</string> - - <string name="month_long_january">1</string> - <string name="month_long_february">2</string> - <string name="month_long_march">3</string> - <string name="month_long_april">4</string> - <string name="month_long_may">5</string> - <string name="month_long_june">6</string> - <string name="month_long_july">7</string> - <string name="month_long_august">8</string> - <string name="month_long_september">9</string> - <string name="month_long_october">10</string> - <string name="month_long_november">11</string> - <string name="month_long_december">12</string> - - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">1</string> - <string name="day_of_week_long_monday">2</string> - <string name="day_of_week_long_tuesday">3</string> - <string name="day_of_week_long_wednesday">4</string> - <string name="day_of_week_long_thursday">5</string> - <string name="day_of_week_long_friday">6</string> - <string name="day_of_week_long_saturday">7</string> - - - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-tr/donottranslate-cldr.xml b/core/res/res/values-tr/donottranslate-cldr.xml index 92b0c72..1ab4ff7 100644 --- a/core/res/res/values-tr/donottranslate-cldr.xml +++ b/core/res/res/values-tr/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Ocak</string> - <string name="month_long_standalone_february">Şubat</string> - <string name="month_long_standalone_march">Mart</string> - <string name="month_long_standalone_april">Nisan</string> - <string name="month_long_standalone_may">Mayıs</string> - <string name="month_long_standalone_june">Haziran</string> - <string name="month_long_standalone_july">Temmuz</string> - <string name="month_long_standalone_august">Ağustos</string> - <string name="month_long_standalone_september">Eylül</string> - <string name="month_long_standalone_october">Ekim</string> - <string name="month_long_standalone_november">Kasım</string> - <string name="month_long_standalone_december">Aralık</string> - - <string name="month_long_january">Ocak</string> - <string name="month_long_february">Şubat</string> - <string name="month_long_march">Mart</string> - <string name="month_long_april">Nisan</string> - <string name="month_long_may">Mayıs</string> - <string name="month_long_june">Haziran</string> - <string name="month_long_july">Temmuz</string> - <string name="month_long_august">Ağustos</string> - <string name="month_long_september">Eylül</string> - <string name="month_long_october">Ekim</string> - <string name="month_long_november">Kasım</string> - <string name="month_long_december">Aralık</string> - - <string name="month_medium_january">Oca</string> - <string name="month_medium_february">Şub</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Nis</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Haz</string> - <string name="month_medium_july">Tem</string> - <string name="month_medium_august">Ağu</string> - <string name="month_medium_september">Eyl</string> - <string name="month_medium_october">Eki</string> - <string name="month_medium_november">Kas</string> - <string name="month_medium_december">Ara</string> - - <string name="month_shortest_january">O</string> - <string name="month_shortest_february">Ş</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">N</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">H</string> - <string name="month_shortest_july">T</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">E</string> - <string name="month_shortest_october">E</string> - <string name="month_shortest_november">K</string> - <string name="month_shortest_december">A</string> - - <string name="day_of_week_long_sunday">Pazar</string> - <string name="day_of_week_long_monday">Pazartesi</string> - <string name="day_of_week_long_tuesday">Salı</string> - <string name="day_of_week_long_wednesday">Çarşamba</string> - <string name="day_of_week_long_thursday">Perşembe</string> - <string name="day_of_week_long_friday">Cuma</string> - <string name="day_of_week_long_saturday">Cumartesi</string> - - <string name="day_of_week_medium_sunday">Paz</string> - <string name="day_of_week_medium_monday">Pzt</string> - <string name="day_of_week_medium_tuesday">Sal</string> - <string name="day_of_week_medium_wednesday">Çar</string> - <string name="day_of_week_medium_thursday">Per</string> - <string name="day_of_week_medium_friday">Cum</string> - <string name="day_of_week_medium_saturday">Cmt</string> - - <string name="day_of_week_short_sunday">Paz</string> - <string name="day_of_week_short_monday">Pzt</string> - <string name="day_of_week_short_tuesday">Sal</string> - <string name="day_of_week_short_wednesday">Çar</string> - <string name="day_of_week_short_thursday">Per</string> - <string name="day_of_week_short_friday">Cum</string> - <string name="day_of_week_short_saturday">Cmt</string> - - <string name="day_of_week_shortest_sunday">P</string> - <string name="day_of_week_shortest_monday">P</string> - <string name="day_of_week_shortest_tuesday">S</string> - <string name="day_of_week_shortest_wednesday">Ç</string> - <string name="day_of_week_shortest_thursday">P</string> - <string name="day_of_week_shortest_friday">C</string> - <string name="day_of_week_shortest_saturday">C</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Dün</string> - <string name="today">Bugün</string> - <string name="tomorrow">Yarın</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-uk-rUA/donottranslate-cldr.xml b/core/res/res/values-uk-rUA/donottranslate-cldr.xml index caf46a3..f7ca458 100644 --- a/core/res/res/values-uk-rUA/donottranslate-cldr.xml +++ b/core/res/res/values-uk-rUA/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">січень</string> - <string name="month_long_standalone_february">лютий</string> - <string name="month_long_standalone_march">березень</string> - <string name="month_long_standalone_april">квітень</string> - <string name="month_long_standalone_may">травень</string> - <string name="month_long_standalone_june">червень</string> - <string name="month_long_standalone_july">липень</string> - <string name="month_long_standalone_august">серпень</string> - <string name="month_long_standalone_september">вересень</string> - <string name="month_long_standalone_october">жовтень</string> - <string name="month_long_standalone_november">листопад</string> - <string name="month_long_standalone_december">грудень</string> - - <string name="month_long_january">січня</string> - <string name="month_long_february">лютого</string> - <string name="month_long_march">березня</string> - <string name="month_long_april">квітня</string> - <string name="month_long_may">травня</string> - <string name="month_long_june">червня</string> - <string name="month_long_july">липня</string> - <string name="month_long_august">серпня</string> - <string name="month_long_september">вересня</string> - <string name="month_long_october">жовтня</string> - <string name="month_long_november">листопада</string> - <string name="month_long_december">грудня</string> - - <string name="month_medium_january">січ.</string> - <string name="month_medium_february">лют.</string> - <string name="month_medium_march">бер.</string> - <string name="month_medium_april">квіт.</string> - <string name="month_medium_may">трав.</string> - <string name="month_medium_june">черв.</string> - <string name="month_medium_july">лип.</string> - <string name="month_medium_august">серп.</string> - <string name="month_medium_september">вер.</string> - <string name="month_medium_october">жовт.</string> - <string name="month_medium_november">лист.</string> - <string name="month_medium_december">груд.</string> - - <string name="month_shortest_january">С</string> - <string name="month_shortest_february">Л</string> - <string name="month_shortest_march">Б</string> - <string name="month_shortest_april">К</string> - <string name="month_shortest_may">Т</string> - <string name="month_shortest_june">Ч</string> - <string name="month_shortest_july">Л</string> - <string name="month_shortest_august">С</string> - <string name="month_shortest_september">В</string> - <string name="month_shortest_october">Ж</string> - <string name="month_shortest_november">Л</string> - <string name="month_shortest_december">Г</string> - - <string name="day_of_week_long_sunday">неділя</string> - <string name="day_of_week_long_monday">понеділок</string> - <string name="day_of_week_long_tuesday">вівторок</string> - <string name="day_of_week_long_wednesday">середа</string> - <string name="day_of_week_long_thursday">четвер</string> - <string name="day_of_week_long_friday">пʼятниця</string> - <string name="day_of_week_long_saturday">субота</string> - - <string name="day_of_week_medium_sunday">нд.</string> - <string name="day_of_week_medium_monday">пн.</string> - <string name="day_of_week_medium_tuesday">вт.</string> - <string name="day_of_week_medium_wednesday">ср.</string> - <string name="day_of_week_medium_thursday">чт.</string> - <string name="day_of_week_medium_friday">пт.</string> - <string name="day_of_week_medium_saturday">сб.</string> - - <string name="day_of_week_short_sunday">нд.</string> - <string name="day_of_week_short_monday">пн.</string> - <string name="day_of_week_short_tuesday">вт.</string> - <string name="day_of_week_short_wednesday">ср.</string> - <string name="day_of_week_short_thursday">чт.</string> - <string name="day_of_week_short_friday">пт.</string> - <string name="day_of_week_short_saturday">сб.</string> - - <string name="day_of_week_shortest_sunday">Н</string> - <string name="day_of_week_shortest_monday">П</string> - <string name="day_of_week_shortest_tuesday">В</string> - <string name="day_of_week_shortest_wednesday">С</string> - <string name="day_of_week_shortest_thursday">Ч</string> - <string name="day_of_week_shortest_friday">П</string> - <string name="day_of_week_shortest_saturday">С</string> - - <string name="am">дп</string> - <string name="pm">пп</string> - <string name="yesterday">Вчора</string> - <string name="today">Сьогодні</string> - <string name="tomorrow">Завтра</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-uk/donottranslate-cldr.xml b/core/res/res/values-uk/donottranslate-cldr.xml index 46211ac..51c2cb5 100644 --- a/core/res/res/values-uk/donottranslate-cldr.xml +++ b/core/res/res/values-uk/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">Січень</string> - <string name="month_long_standalone_february">Лютий</string> - <string name="month_long_standalone_march">Березень</string> - <string name="month_long_standalone_april">Квітень</string> - <string name="month_long_standalone_may">Травень</string> - <string name="month_long_standalone_june">Червень</string> - <string name="month_long_standalone_july">Липень</string> - <string name="month_long_standalone_august">Серпень</string> - <string name="month_long_standalone_september">Вересень</string> - <string name="month_long_standalone_october">Жовтень</string> - <string name="month_long_standalone_november">Листопад</string> - <string name="month_long_standalone_december">Грудень</string> - - <string name="month_long_january">січня</string> - <string name="month_long_february">лютого</string> - <string name="month_long_march">березня</string> - <string name="month_long_april">квітня</string> - <string name="month_long_may">травня</string> - <string name="month_long_june">червня</string> - <string name="month_long_july">липня</string> - <string name="month_long_august">серпня</string> - <string name="month_long_september">вересня</string> - <string name="month_long_october">жовтня</string> - <string name="month_long_november">листопада</string> - <string name="month_long_december">грудня</string> - - <string name="month_medium_january">січ.</string> - <string name="month_medium_february">лют.</string> - <string name="month_medium_march">бер.</string> - <string name="month_medium_april">квіт.</string> - <string name="month_medium_may">трав.</string> - <string name="month_medium_june">черв.</string> - <string name="month_medium_july">лип.</string> - <string name="month_medium_august">серп.</string> - <string name="month_medium_september">вер.</string> - <string name="month_medium_october">жовт.</string> - <string name="month_medium_november">лист.</string> - <string name="month_medium_december">груд.</string> - - <string name="month_shortest_january">С</string> - <string name="month_shortest_february">Л</string> - <string name="month_shortest_march">Б</string> - <string name="month_shortest_april">К</string> - <string name="month_shortest_may">Т</string> - <string name="month_shortest_june">Ч</string> - <string name="month_shortest_july">Л</string> - <string name="month_shortest_august">С</string> - <string name="month_shortest_september">В</string> - <string name="month_shortest_october">Ж</string> - <string name="month_shortest_november">Л</string> - <string name="month_shortest_december">Г</string> - - <string name="day_of_week_long_sunday">Неділя</string> - <string name="day_of_week_long_monday">Понеділок</string> - <string name="day_of_week_long_tuesday">Вівторок</string> - <string name="day_of_week_long_wednesday">Середа</string> - <string name="day_of_week_long_thursday">Четвер</string> - <string name="day_of_week_long_friday">Пʼятниця</string> - <string name="day_of_week_long_saturday">Субота</string> - - <string name="day_of_week_medium_sunday">Нд</string> - <string name="day_of_week_medium_monday">Пн</string> - <string name="day_of_week_medium_tuesday">Вт</string> - <string name="day_of_week_medium_wednesday">Ср</string> - <string name="day_of_week_medium_thursday">Чт</string> - <string name="day_of_week_medium_friday">Пт</string> - <string name="day_of_week_medium_saturday">Сб</string> - - <string name="day_of_week_short_sunday">Нд</string> - <string name="day_of_week_short_monday">Пн</string> - <string name="day_of_week_short_tuesday">Вт</string> - <string name="day_of_week_short_wednesday">Ср</string> - <string name="day_of_week_short_thursday">Чт</string> - <string name="day_of_week_short_friday">Пт</string> - <string name="day_of_week_short_saturday">Сб</string> - - <string name="day_of_week_shortest_sunday">Н</string> - <string name="day_of_week_shortest_monday">П</string> - <string name="day_of_week_shortest_tuesday">В</string> - <string name="day_of_week_shortest_wednesday">С</string> - <string name="day_of_week_shortest_thursday">Ч</string> - <string name="day_of_week_shortest_friday">П</string> - <string name="day_of_week_shortest_saturday">С</string> - - <string name="am">дп</string> - <string name="pm">пп</string> - <string name="yesterday">Вчора</string> - <string name="today">Сьогодні</string> - <string name="tomorrow">Завтра</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %p</string> diff --git a/core/res/res/values-vi-rVN/donottranslate-cldr.xml b/core/res/res/values-vi-rVN/donottranslate-cldr.xml index 5d049a1..a385015 100644 --- a/core/res/res/values-vi-rVN/donottranslate-cldr.xml +++ b/core/res/res/values-vi-rVN/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">tháng một</string> - <string name="month_long_standalone_february">tháng hai</string> - <string name="month_long_standalone_march">tháng ba</string> - <string name="month_long_standalone_april">tháng tư</string> - <string name="month_long_standalone_may">tháng năm</string> - <string name="month_long_standalone_june">tháng sáu</string> - <string name="month_long_standalone_july">tháng bảy</string> - <string name="month_long_standalone_august">tháng tám</string> - <string name="month_long_standalone_september">tháng chín</string> - <string name="month_long_standalone_october">tháng mười</string> - <string name="month_long_standalone_november">tháng mười một</string> - <string name="month_long_standalone_december">tháng mười hai</string> - - <string name="month_long_january">tháng một</string> - <string name="month_long_february">tháng hai</string> - <string name="month_long_march">tháng ba</string> - <string name="month_long_april">tháng tư</string> - <string name="month_long_may">tháng năm</string> - <string name="month_long_june">tháng sáu</string> - <string name="month_long_july">tháng bảy</string> - <string name="month_long_august">tháng tám</string> - <string name="month_long_september">tháng chín</string> - <string name="month_long_october">tháng mười</string> - <string name="month_long_november">tháng mười một</string> - <string name="month_long_december">tháng mười hai</string> - - <string name="month_medium_january">thg 1</string> - <string name="month_medium_february">thg 2</string> - <string name="month_medium_march">thg 3</string> - <string name="month_medium_april">thg 4</string> - <string name="month_medium_may">thg 5</string> - <string name="month_medium_june">thg 6</string> - <string name="month_medium_july">thg 7</string> - <string name="month_medium_august">thg 8</string> - <string name="month_medium_september">thg 9</string> - <string name="month_medium_october">thg 10</string> - <string name="month_medium_november">thg 11</string> - <string name="month_medium_december">thg 12</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Chủ nhật</string> - <string name="day_of_week_long_monday">Thứ hai</string> - <string name="day_of_week_long_tuesday">Thứ ba</string> - <string name="day_of_week_long_wednesday">Thứ tư</string> - <string name="day_of_week_long_thursday">Thứ năm</string> - <string name="day_of_week_long_friday">Thứ sáu</string> - <string name="day_of_week_long_saturday">Thứ bảy</string> - - <string name="day_of_week_medium_sunday">CN</string> - <string name="day_of_week_medium_monday">Th 2</string> - <string name="day_of_week_medium_tuesday">Th 3</string> - <string name="day_of_week_medium_wednesday">Th 4</string> - <string name="day_of_week_medium_thursday">Th 5</string> - <string name="day_of_week_medium_friday">Th 6</string> - <string name="day_of_week_medium_saturday">Th 7</string> - - <string name="day_of_week_short_sunday">CN</string> - <string name="day_of_week_short_monday">Th 2</string> - <string name="day_of_week_short_tuesday">Th 3</string> - <string name="day_of_week_short_wednesday">Th 4</string> - <string name="day_of_week_short_thursday">Th 5</string> - <string name="day_of_week_short_friday">Th 6</string> - <string name="day_of_week_short_saturday">Th 7</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">SA</string> - <string name="pm">CH</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-vi/donottranslate-cldr.xml b/core/res/res/values-vi/donottranslate-cldr.xml index 9a757cd..977e021 100644 --- a/core/res/res/values-vi/donottranslate-cldr.xml +++ b/core/res/res/values-vi/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">tháng một</string> - <string name="month_long_standalone_february">tháng hai</string> - <string name="month_long_standalone_march">tháng ba</string> - <string name="month_long_standalone_april">tháng tư</string> - <string name="month_long_standalone_may">tháng năm</string> - <string name="month_long_standalone_june">tháng sáu</string> - <string name="month_long_standalone_july">tháng bảy</string> - <string name="month_long_standalone_august">tháng tám</string> - <string name="month_long_standalone_september">tháng chín</string> - <string name="month_long_standalone_october">tháng mười</string> - <string name="month_long_standalone_november">tháng mười một</string> - <string name="month_long_standalone_december">tháng mười hai</string> - - <string name="month_long_january">tháng một</string> - <string name="month_long_february">tháng hai</string> - <string name="month_long_march">tháng ba</string> - <string name="month_long_april">tháng tư</string> - <string name="month_long_may">tháng năm</string> - <string name="month_long_june">tháng sáu</string> - <string name="month_long_july">tháng bảy</string> - <string name="month_long_august">tháng tám</string> - <string name="month_long_september">tháng chín</string> - <string name="month_long_october">tháng mười</string> - <string name="month_long_november">tháng mười một</string> - <string name="month_long_december">tháng mười hai</string> - - <string name="month_medium_january">thg 1</string> - <string name="month_medium_february">thg 2</string> - <string name="month_medium_march">thg 3</string> - <string name="month_medium_april">thg 4</string> - <string name="month_medium_may">thg 5</string> - <string name="month_medium_june">thg 6</string> - <string name="month_medium_july">thg 7</string> - <string name="month_medium_august">thg 8</string> - <string name="month_medium_september">thg 9</string> - <string name="month_medium_october">thg 10</string> - <string name="month_medium_november">thg 11</string> - <string name="month_medium_december">thg 12</string> - - <string name="month_shortest_january">1</string> - <string name="month_shortest_february">2</string> - <string name="month_shortest_march">3</string> - <string name="month_shortest_april">4</string> - <string name="month_shortest_may">5</string> - <string name="month_shortest_june">6</string> - <string name="month_shortest_july">7</string> - <string name="month_shortest_august">8</string> - <string name="month_shortest_september">9</string> - <string name="month_shortest_october">10</string> - <string name="month_shortest_november">11</string> - <string name="month_shortest_december">12</string> - - <string name="day_of_week_long_sunday">Chủ nhật</string> - <string name="day_of_week_long_monday">Thứ hai</string> - <string name="day_of_week_long_tuesday">Thứ ba</string> - <string name="day_of_week_long_wednesday">Thứ tư</string> - <string name="day_of_week_long_thursday">Thứ năm</string> - <string name="day_of_week_long_friday">Thứ sáu</string> - <string name="day_of_week_long_saturday">Thứ bảy</string> - - <string name="day_of_week_medium_sunday">CN</string> - <string name="day_of_week_medium_monday">Th 2</string> - <string name="day_of_week_medium_tuesday">Th 3</string> - <string name="day_of_week_medium_wednesday">Th 4</string> - <string name="day_of_week_medium_thursday">Th 5</string> - <string name="day_of_week_medium_friday">Th 6</string> - <string name="day_of_week_medium_saturday">Th 7</string> - - <string name="day_of_week_short_sunday">CN</string> - <string name="day_of_week_short_monday">Th 2</string> - <string name="day_of_week_short_tuesday">Th 3</string> - <string name="day_of_week_short_wednesday">Th 4</string> - <string name="day_of_week_short_thursday">Th 5</string> - <string name="day_of_week_short_friday">Th 6</string> - <string name="day_of_week_short_saturday">Th 7</string> - - <string name="day_of_week_shortest_sunday">1</string> - <string name="day_of_week_shortest_monday">2</string> - <string name="day_of_week_shortest_tuesday">3</string> - <string name="day_of_week_shortest_wednesday">4</string> - <string name="day_of_week_shortest_thursday">5</string> - <string name="day_of_week_shortest_friday">6</string> - <string name="day_of_week_shortest_saturday">7</string> - - <string name="am">SA</string> - <string name="pm">CH</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values-zh-rCN/donottranslate-cldr.xml b/core/res/res/values-zh-rCN/donottranslate-cldr.xml index 9e6ef1c..b34b8b3 100644 --- a/core/res/res/values-zh-rCN/donottranslate-cldr.xml +++ b/core/res/res/values-zh-rCN/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">1 月</string> - <string name="month_long_standalone_february">2 月</string> - <string name="month_long_standalone_march">3 月</string> - <string name="month_long_standalone_april">4 月</string> - <string name="month_long_standalone_may">5 月</string> - <string name="month_long_standalone_june">6 月</string> - <string name="month_long_standalone_july">7 月</string> - <string name="month_long_standalone_august">8 月</string> - <string name="month_long_standalone_september">9 月</string> - <string name="month_long_standalone_october">10 月</string> - <string name="month_long_standalone_november">11 月</string> - <string name="month_long_standalone_december">12 月</string> - - <string name="month_long_january">1 月</string> - <string name="month_long_february">2 月</string> - <string name="month_long_march">3 月</string> - <string name="month_long_april">4 月</string> - <string name="month_long_may">5 月</string> - <string name="month_long_june">6 月</string> - <string name="month_long_july">7 月</string> - <string name="month_long_august">8 月</string> - <string name="month_long_september">9 月</string> - <string name="month_long_october">10 月</string> - <string name="month_long_november">11 月</string> - <string name="month_long_december">12 月</string> - - <string name="month_medium_january">1 月</string> - <string name="month_medium_february">2 月</string> - <string name="month_medium_march">3 月</string> - <string name="month_medium_april">4 月</string> - <string name="month_medium_may">5 月</string> - <string name="month_medium_june">6 月</string> - <string name="month_medium_july">7 月</string> - <string name="month_medium_august">8 月</string> - <string name="month_medium_september">9 月</string> - <string name="month_medium_october">10 月</string> - <string name="month_medium_november">11 月</string> - <string name="month_medium_december">12 月</string> - - <string name="month_shortest_january">1 月</string> - <string name="month_shortest_february">2 月</string> - <string name="month_shortest_march">3 月</string> - <string name="month_shortest_april">4 月</string> - <string name="month_shortest_may">5 月</string> - <string name="month_shortest_june">6 月</string> - <string name="month_shortest_july">7 月</string> - <string name="month_shortest_august">8 月</string> - <string name="month_shortest_september">9 月</string> - <string name="month_shortest_october">10 月</string> - <string name="month_shortest_november">11 月</string> - <string name="month_shortest_december">12 月</string> - - <string name="day_of_week_long_sunday">星期日</string> - <string name="day_of_week_long_monday">星期一</string> - <string name="day_of_week_long_tuesday">星期二</string> - <string name="day_of_week_long_wednesday">星期三</string> - <string name="day_of_week_long_thursday">星期四</string> - <string name="day_of_week_long_friday">星期五</string> - <string name="day_of_week_long_saturday">星期六</string> - - <string name="day_of_week_medium_sunday">周日</string> - <string name="day_of_week_medium_monday">周一</string> - <string name="day_of_week_medium_tuesday">周二</string> - <string name="day_of_week_medium_wednesday">周三</string> - <string name="day_of_week_medium_thursday">周四</string> - <string name="day_of_week_medium_friday">周五</string> - <string name="day_of_week_medium_saturday">周六</string> - - <string name="day_of_week_short_sunday">周日</string> - <string name="day_of_week_short_monday">周一</string> - <string name="day_of_week_short_tuesday">周二</string> - <string name="day_of_week_short_wednesday">周三</string> - <string name="day_of_week_short_thursday">周四</string> - <string name="day_of_week_short_friday">周五</string> - <string name="day_of_week_short_saturday">周六</string> - - <string name="day_of_week_shortest_sunday">日</string> - <string name="day_of_week_shortest_monday">一</string> - <string name="day_of_week_shortest_tuesday">二</string> - <string name="day_of_week_shortest_wednesday">三</string> - <string name="day_of_week_shortest_thursday">四</string> - <string name="day_of_week_shortest_friday">五</string> - <string name="day_of_week_shortest_saturday">六</string> - - <string name="am">上午</string> - <string name="pm">下午</string> - <string name="yesterday">昨天</string> - <string name="today">今天</string> - <string name="tomorrow">明天</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%p %-l:%M</string> <string name="hour_minute_cap_ampm">%p %-l:%M</string> diff --git a/core/res/res/values-zh-rTW/donottranslate-cldr.xml b/core/res/res/values-zh-rTW/donottranslate-cldr.xml index 907d82e..869705e 100644 --- a/core/res/res/values-zh-rTW/donottranslate-cldr.xml +++ b/core/res/res/values-zh-rTW/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">1 月</string> - <string name="month_long_standalone_february">2 月</string> - <string name="month_long_standalone_march">3 月</string> - <string name="month_long_standalone_april">4 月</string> - <string name="month_long_standalone_may">5 月</string> - <string name="month_long_standalone_june">6 月</string> - <string name="month_long_standalone_july">7 月</string> - <string name="month_long_standalone_august">8 月</string> - <string name="month_long_standalone_september">9 月</string> - <string name="month_long_standalone_october">10 月</string> - <string name="month_long_standalone_november">11 月</string> - <string name="month_long_standalone_december">12 月</string> - - <string name="month_long_january">1 月</string> - <string name="month_long_february">2 月</string> - <string name="month_long_march">3 月</string> - <string name="month_long_april">4 月</string> - <string name="month_long_may">5 月</string> - <string name="month_long_june">6 月</string> - <string name="month_long_july">7 月</string> - <string name="month_long_august">8 月</string> - <string name="month_long_september">9 月</string> - <string name="month_long_october">10 月</string> - <string name="month_long_november">11 月</string> - <string name="month_long_december">12 月</string> - - <string name="month_medium_january">1 月</string> - <string name="month_medium_february">2 月</string> - <string name="month_medium_march">3 月</string> - <string name="month_medium_april">4 月</string> - <string name="month_medium_may">5 月</string> - <string name="month_medium_june">6 月</string> - <string name="month_medium_july">7 月</string> - <string name="month_medium_august">8 月</string> - <string name="month_medium_september">9 月</string> - <string name="month_medium_october">10 月</string> - <string name="month_medium_november">11 月</string> - <string name="month_medium_december">12 月</string> - - <string name="month_shortest_january">1 月</string> - <string name="month_shortest_february">2 月</string> - <string name="month_shortest_march">3 月</string> - <string name="month_shortest_april">4 月</string> - <string name="month_shortest_may">5 月</string> - <string name="month_shortest_june">6 月</string> - <string name="month_shortest_july">7 月</string> - <string name="month_shortest_august">8 月</string> - <string name="month_shortest_september">9 月</string> - <string name="month_shortest_october">10 月</string> - <string name="month_shortest_november">11 月</string> - <string name="month_shortest_december">12 月</string> - - <string name="day_of_week_long_sunday">星期日</string> - <string name="day_of_week_long_monday">星期一</string> - <string name="day_of_week_long_tuesday">星期二</string> - <string name="day_of_week_long_wednesday">星期三</string> - <string name="day_of_week_long_thursday">星期四</string> - <string name="day_of_week_long_friday">星期五</string> - <string name="day_of_week_long_saturday">星期六</string> - - <string name="day_of_week_medium_sunday">週日</string> - <string name="day_of_week_medium_monday">週一</string> - <string name="day_of_week_medium_tuesday">週二</string> - <string name="day_of_week_medium_wednesday">週三</string> - <string name="day_of_week_medium_thursday">週四</string> - <string name="day_of_week_medium_friday">週五</string> - <string name="day_of_week_medium_saturday">週六</string> - - <string name="day_of_week_short_sunday">週日</string> - <string name="day_of_week_short_monday">週一</string> - <string name="day_of_week_short_tuesday">週二</string> - <string name="day_of_week_short_wednesday">週三</string> - <string name="day_of_week_short_thursday">週四</string> - <string name="day_of_week_short_friday">週五</string> - <string name="day_of_week_short_saturday">週六</string> - - <string name="day_of_week_shortest_sunday">日</string> - <string name="day_of_week_shortest_monday">一</string> - <string name="day_of_week_shortest_tuesday">二</string> - <string name="day_of_week_shortest_wednesday">三</string> - <string name="day_of_week_shortest_thursday">四</string> - <string name="day_of_week_shortest_friday">五</string> - <string name="day_of_week_shortest_saturday">六</string> - - <string name="am">上午</string> - <string name="pm">下午</string> - <string name="yesterday">昨天</string> - <string name="today">今天</string> - <string name="tomorrow">明天</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%p %-l:%M</string> <string name="hour_minute_cap_ampm">%p %-l:%M</string> diff --git a/core/res/res/values-zu/donottranslate-cldr.xml b/core/res/res/values-zu/donottranslate-cldr.xml index df578ed..97b179b 100644 --- a/core/res/res/values-zu/donottranslate-cldr.xml +++ b/core/res/res/values-zu/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">uJanuwari</string> - <string name="month_long_standalone_february">uFebruwari</string> - <string name="month_long_standalone_march">uMashi</string> - <string name="month_long_standalone_april">u-Apreli</string> - <string name="month_long_standalone_may">uMeyi</string> - <string name="month_long_standalone_june">uJuni</string> - <string name="month_long_standalone_july">uJulayi</string> - <string name="month_long_standalone_august">uAgasti</string> - <string name="month_long_standalone_september">uSepthemba</string> - <string name="month_long_standalone_october">u-Okthoba</string> - <string name="month_long_standalone_november">uNovemba</string> - <string name="month_long_standalone_december">uDisemba</string> - - <string name="month_long_january">Januwari</string> - <string name="month_long_february">Februwari</string> - <string name="month_long_march">Mashi</string> - <string name="month_long_april">Apreli</string> - <string name="month_long_may">Meyi</string> - <string name="month_long_june">Juni</string> - <string name="month_long_july">Julayi</string> - <string name="month_long_august">Agasti</string> - <string name="month_long_september">Septhemba</string> - <string name="month_long_october">Okthoba</string> - <string name="month_long_november">Novemba</string> - <string name="month_long_december">Disemba</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mas</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">Mey</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aga</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Okt</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dis</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sonto</string> - <string name="day_of_week_long_monday">Msombuluko</string> - <string name="day_of_week_long_tuesday">Lwesibili</string> - <string name="day_of_week_long_wednesday">Lwesithathu</string> - <string name="day_of_week_long_thursday">uLwesine</string> - <string name="day_of_week_long_friday">Lwesihlanu</string> - <string name="day_of_week_long_saturday">Mgqibelo</string> - - <string name="day_of_week_medium_sunday">Son</string> - <string name="day_of_week_medium_monday">Mso</string> - <string name="day_of_week_medium_tuesday">Bil</string> - <string name="day_of_week_medium_wednesday">Tha</string> - <string name="day_of_week_medium_thursday">Sin</string> - <string name="day_of_week_medium_friday">Hla</string> - <string name="day_of_week_medium_saturday">Mgq</string> - - <string name="day_of_week_short_sunday">Son</string> - <string name="day_of_week_short_monday">Mso</string> - <string name="day_of_week_short_tuesday">Bil</string> - <string name="day_of_week_short_wednesday">Tha</string> - <string name="day_of_week_short_thursday">Sin</string> - <string name="day_of_week_short_friday">Hla</string> - <string name="day_of_week_short_saturday">Mgq</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">B</string> - <string name="day_of_week_shortest_wednesday">T</string> - <string name="day_of_week_shortest_thursday">S</string> - <string name="day_of_week_shortest_friday">H</string> - <string name="day_of_week_shortest_saturday">M</string> - - <string name="am">AM</string> - <string name="pm">PM</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%-k:%M</string> <string name="hour_minute_ampm">%-l:%M %p</string> <string name="hour_minute_cap_ampm">%-l:%M %^p</string> diff --git a/core/res/res/values/donottranslate-cldr.xml b/core/res/res/values/donottranslate-cldr.xml index 15fcd8b..0587c16 100644 --- a/core/res/res/values/donottranslate-cldr.xml +++ b/core/res/res/values/donottranslate-cldr.xml @@ -1,96 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="month_long_standalone_january">January</string> - <string name="month_long_standalone_february">February</string> - <string name="month_long_standalone_march">March</string> - <string name="month_long_standalone_april">April</string> - <string name="month_long_standalone_may">May</string> - <string name="month_long_standalone_june">June</string> - <string name="month_long_standalone_july">July</string> - <string name="month_long_standalone_august">August</string> - <string name="month_long_standalone_september">September</string> - <string name="month_long_standalone_october">October</string> - <string name="month_long_standalone_november">November</string> - <string name="month_long_standalone_december">December</string> - - <string name="month_long_january">January</string> - <string name="month_long_february">February</string> - <string name="month_long_march">March</string> - <string name="month_long_april">April</string> - <string name="month_long_may">May</string> - <string name="month_long_june">June</string> - <string name="month_long_july">July</string> - <string name="month_long_august">August</string> - <string name="month_long_september">September</string> - <string name="month_long_october">October</string> - <string name="month_long_november">November</string> - <string name="month_long_december">December</string> - - <string name="month_medium_january">Jan</string> - <string name="month_medium_february">Feb</string> - <string name="month_medium_march">Mar</string> - <string name="month_medium_april">Apr</string> - <string name="month_medium_may">May</string> - <string name="month_medium_june">Jun</string> - <string name="month_medium_july">Jul</string> - <string name="month_medium_august">Aug</string> - <string name="month_medium_september">Sep</string> - <string name="month_medium_october">Oct</string> - <string name="month_medium_november">Nov</string> - <string name="month_medium_december">Dec</string> - - <string name="month_shortest_january">J</string> - <string name="month_shortest_february">F</string> - <string name="month_shortest_march">M</string> - <string name="month_shortest_april">A</string> - <string name="month_shortest_may">M</string> - <string name="month_shortest_june">J</string> - <string name="month_shortest_july">J</string> - <string name="month_shortest_august">A</string> - <string name="month_shortest_september">S</string> - <string name="month_shortest_october">O</string> - <string name="month_shortest_november">N</string> - <string name="month_shortest_december">D</string> - - <string name="day_of_week_long_sunday">Sunday</string> - <string name="day_of_week_long_monday">Monday</string> - <string name="day_of_week_long_tuesday">Tuesday</string> - <string name="day_of_week_long_wednesday">Wednesday</string> - <string name="day_of_week_long_thursday">Thursday</string> - <string name="day_of_week_long_friday">Friday</string> - <string name="day_of_week_long_saturday">Saturday</string> - - <string name="day_of_week_medium_sunday">Sun</string> - <string name="day_of_week_medium_monday">Mon</string> - <string name="day_of_week_medium_tuesday">Tue</string> - <string name="day_of_week_medium_wednesday">Wed</string> - <string name="day_of_week_medium_thursday">Thu</string> - <string name="day_of_week_medium_friday">Fri</string> - <string name="day_of_week_medium_saturday">Sat</string> - - <string name="day_of_week_short_sunday">Su</string> - <string name="day_of_week_short_monday">Mo</string> - <string name="day_of_week_short_tuesday">Tu</string> - <string name="day_of_week_short_wednesday">We</string> - <string name="day_of_week_short_thursday">Th</string> - <string name="day_of_week_short_friday">Fr</string> - <string name="day_of_week_short_saturday">Sa</string> - - <string name="day_of_week_shortest_sunday">S</string> - <string name="day_of_week_shortest_monday">M</string> - <string name="day_of_week_shortest_tuesday">T</string> - <string name="day_of_week_shortest_wednesday">W</string> - <string name="day_of_week_shortest_thursday">T</string> - <string name="day_of_week_shortest_friday">F</string> - <string name="day_of_week_shortest_saturday">S</string> - - <string name="am">am</string> - <string name="pm">pm</string> - <string name="yesterday">Yesterday</string> - <string name="today">Today</string> - <string name="tomorrow">Tomorrow</string> - <string name="hour_minute_24">%H:%M</string> <string name="hour_minute_ampm">%-l:%M%p</string> <string name="hour_minute_cap_ampm">%-l:%M%^p</string> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 505f3a4..adeced7 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -353,7 +353,6 @@ <java-symbol type="string" name="activitychooserview_choose_application" /> <java-symbol type="string" name="alternate_eri_file" /> <java-symbol type="string" name="alwaysUse" /> - <java-symbol type="string" name="am" /> <java-symbol type="string" name="autofill_address_line_1_label_re" /> <java-symbol type="string" name="autofill_address_line_1_re" /> <java-symbol type="string" name="autofill_address_line_2_re" /> @@ -443,34 +442,6 @@ <java-symbol type="string" name="date_time" /> <java-symbol type="string" name="date_time_set" /> <java-symbol type="string" name="date_time_done" /> - <java-symbol type="string" name="day_of_week_long_friday" /> - <java-symbol type="string" name="day_of_week_long_monday" /> - <java-symbol type="string" name="day_of_week_long_saturday" /> - <java-symbol type="string" name="day_of_week_long_sunday" /> - <java-symbol type="string" name="day_of_week_long_thursday" /> - <java-symbol type="string" name="day_of_week_long_tuesday" /> - <java-symbol type="string" name="day_of_week_long_wednesday" /> - <java-symbol type="string" name="day_of_week_medium_friday" /> - <java-symbol type="string" name="day_of_week_medium_monday" /> - <java-symbol type="string" name="day_of_week_medium_saturday" /> - <java-symbol type="string" name="day_of_week_medium_sunday" /> - <java-symbol type="string" name="day_of_week_medium_thursday" /> - <java-symbol type="string" name="day_of_week_medium_tuesday" /> - <java-symbol type="string" name="day_of_week_medium_wednesday" /> - <java-symbol type="string" name="day_of_week_short_friday" /> - <java-symbol type="string" name="day_of_week_short_monday" /> - <java-symbol type="string" name="day_of_week_short_saturday" /> - <java-symbol type="string" name="day_of_week_short_sunday" /> - <java-symbol type="string" name="day_of_week_short_thursday" /> - <java-symbol type="string" name="day_of_week_short_tuesday" /> - <java-symbol type="string" name="day_of_week_short_wednesday" /> - <java-symbol type="string" name="day_of_week_shortest_friday" /> - <java-symbol type="string" name="day_of_week_shortest_monday" /> - <java-symbol type="string" name="day_of_week_shortest_saturday" /> - <java-symbol type="string" name="day_of_week_shortest_sunday" /> - <java-symbol type="string" name="day_of_week_shortest_thursday" /> - <java-symbol type="string" name="day_of_week_shortest_tuesday" /> - <java-symbol type="string" name="day_of_week_shortest_wednesday" /> <java-symbol type="string" name="db_default_journal_mode" /> <java-symbol type="string" name="db_default_sync_mode" /> <java-symbol type="string" name="db_wal_sync_mode" /> @@ -589,54 +560,6 @@ <java-symbol type="string" name="month" /> <java-symbol type="string" name="month_day" /> <java-symbol type="string" name="month_day_year" /> - <java-symbol type="string" name="month_long_april" /> - <java-symbol type="string" name="month_long_august" /> - <java-symbol type="string" name="month_long_december" /> - <java-symbol type="string" name="month_long_february" /> - <java-symbol type="string" name="month_long_january" /> - <java-symbol type="string" name="month_long_july" /> - <java-symbol type="string" name="month_long_june" /> - <java-symbol type="string" name="month_long_march" /> - <java-symbol type="string" name="month_long_may" /> - <java-symbol type="string" name="month_long_november" /> - <java-symbol type="string" name="month_long_october" /> - <java-symbol type="string" name="month_long_september" /> - <java-symbol type="string" name="month_long_standalone_april" /> - <java-symbol type="string" name="month_long_standalone_august" /> - <java-symbol type="string" name="month_long_standalone_december" /> - <java-symbol type="string" name="month_long_standalone_february" /> - <java-symbol type="string" name="month_long_standalone_january" /> - <java-symbol type="string" name="month_long_standalone_july" /> - <java-symbol type="string" name="month_long_standalone_june" /> - <java-symbol type="string" name="month_long_standalone_march" /> - <java-symbol type="string" name="month_long_standalone_may" /> - <java-symbol type="string" name="month_long_standalone_november" /> - <java-symbol type="string" name="month_long_standalone_october" /> - <java-symbol type="string" name="month_long_standalone_september" /> - <java-symbol type="string" name="month_medium_april" /> - <java-symbol type="string" name="month_medium_august" /> - <java-symbol type="string" name="month_medium_december" /> - <java-symbol type="string" name="month_medium_february" /> - <java-symbol type="string" name="month_medium_january" /> - <java-symbol type="string" name="month_medium_july" /> - <java-symbol type="string" name="month_medium_june" /> - <java-symbol type="string" name="month_medium_march" /> - <java-symbol type="string" name="month_medium_may" /> - <java-symbol type="string" name="month_medium_november" /> - <java-symbol type="string" name="month_medium_october" /> - <java-symbol type="string" name="month_medium_september" /> - <java-symbol type="string" name="month_shortest_april" /> - <java-symbol type="string" name="month_shortest_august" /> - <java-symbol type="string" name="month_shortest_december" /> - <java-symbol type="string" name="month_shortest_february" /> - <java-symbol type="string" name="month_shortest_january" /> - <java-symbol type="string" name="month_shortest_july" /> - <java-symbol type="string" name="month_shortest_june" /> - <java-symbol type="string" name="month_shortest_march" /> - <java-symbol type="string" name="month_shortest_may" /> - <java-symbol type="string" name="month_shortest_november" /> - <java-symbol type="string" name="month_shortest_october" /> - <java-symbol type="string" name="month_shortest_september" /> <java-symbol type="string" name="month_year" /> <java-symbol type="string" name="more_item_label" /> <java-symbol type="string" name="needPuk" /> @@ -692,7 +615,6 @@ <java-symbol type="string" name="phoneTypeWork" /> <java-symbol type="string" name="phoneTypeWorkMobile" /> <java-symbol type="string" name="phoneTypeWorkPager" /> - <java-symbol type="string" name="pm" /> <java-symbol type="string" name="policydesc_disableCamera" /> <java-symbol type="string" name="policydesc_encryptedStorage" /> <java-symbol type="string" name="policydesc_expirePassword" /> @@ -845,8 +767,6 @@ <java-symbol type="string" name="time_picker_separator" /> <java-symbol type="string" name="time_wday" /> <java-symbol type="string" name="time_wday_date" /> - <java-symbol type="string" name="today" /> - <java-symbol type="string" name="tomorrow" /> <java-symbol type="string" name="twelve_hour_time_format" /> <java-symbol type="string" name="twenty_four_hour_time_format" /> <java-symbol type="string" name="upload_file" /> @@ -879,7 +799,6 @@ <java-symbol type="string" name="wifi_tether_configure_ssid_default" /> <java-symbol type="string" name="wifi_watchdog_network_disabled" /> <java-symbol type="string" name="wifi_watchdog_network_disabled_detailed" /> - <java-symbol type="string" name="yesterday" /> <java-symbol type="string" name="imei" /> <java-symbol type="string" name="meid" /> <java-symbol type="string" name="granularity_label_character" /> diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml index dcd1bab..41f8536 100644 --- a/core/tests/coretests/AndroidManifest.xml +++ b/core/tests/coretests/AndroidManifest.xml @@ -69,6 +69,10 @@ <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" /> <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.ALL_SERVICES" /> + <uses-permission android:name="android.permission.MANAGE_USERS" /> + <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> + <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> + <uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> diff --git a/core/tests/coretests/src/android/content/pm/VerificationParamsTest.java b/core/tests/coretests/src/android/content/pm/VerificationParamsTest.java index b814e2d..105bcba 100644 --- a/core/tests/coretests/src/android/content/pm/VerificationParamsTest.java +++ b/core/tests/coretests/src/android/content/pm/VerificationParamsTest.java @@ -34,6 +34,7 @@ public class VerificationParamsTest extends AndroidTestCase { private final static String ORIGINATING_URI_STRING = "http://originating.uri/path"; private final static String REFERRER_STRING = "http://referrer.uri/path"; private final static byte[] DIGEST_BYTES = "fake digest".getBytes(); + private final static int INSTALLER_UID = 42; private final static Uri VERIFICATION_URI = Uri.parse(VERIFICATION_URI_STRING); private final static Uri ORIGINATING_URI = Uri.parse(ORIGINATING_URI_STRING); @@ -115,6 +116,18 @@ public class VerificationParamsTest extends AndroidTestCase { assertFalse(params1.equals(params2)); } + public void testEquals_InstallerUid_Failure() throws Exception { + VerificationParams params1 = new VerificationParams(VERIFICATION_URI, ORIGINATING_URI, + REFERRER, MANIFEST_DIGEST); + + VerificationParams params2 = new VerificationParams( + Uri.parse(VERIFICATION_URI_STRING), Uri.parse(ORIGINATING_URI_STRING), + Uri.parse(REFERRER_STRING), new ManifestDigest(DIGEST_BYTES)); + params2.setInstallerUid(INSTALLER_UID); + + assertFalse(params1.equals(params2)); + } + public void testHashCode_Success() throws Exception { VerificationParams params1 = new VerificationParams(VERIFICATION_URI, ORIGINATING_URI, REFERRER, MANIFEST_DIGEST); @@ -168,4 +181,16 @@ public class VerificationParamsTest extends AndroidTestCase { assertFalse(params1.hashCode() == params2.hashCode()); } + + public void testHashCode_InstallerUid_Failure() throws Exception { + VerificationParams params1 = new VerificationParams(VERIFICATION_URI, ORIGINATING_URI, + REFERRER, MANIFEST_DIGEST); + + VerificationParams params2 = new VerificationParams( + Uri.parse(VERIFICATION_URI_STRING), Uri.parse(ORIGINATING_URI_STRING), + Uri.parse(REFERRER_STRING), new ManifestDigest("a different digest".getBytes())); + params2.setInstallerUid(INSTALLER_UID); + + assertFalse(params1.hashCode() == params2.hashCode()); + } } diff --git a/core/tests/coretests/src/android/provider/SettingsProviderTest.java b/core/tests/coretests/src/android/provider/SettingsProviderTest.java index 3e96dc4..6edd2dc 100644 --- a/core/tests/coretests/src/android/provider/SettingsProviderTest.java +++ b/core/tests/coretests/src/android/provider/SettingsProviderTest.java @@ -19,11 +19,15 @@ package android.provider; import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.pm.UserInfo; import android.database.Cursor; import android.net.Uri; +import android.os.UserHandle; +import android.os.UserManager; import android.provider.Settings; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.MediumTest; @@ -197,6 +201,53 @@ public class SettingsProviderTest extends AndroidTestCase { Settings.Secure.getString(r, Settings.Secure.LOCATION_PROVIDERS_ALLOWED)); } + private boolean findUser(UserManager um, int userHandle) { + for (UserInfo user : um.getUsers()) { + if (user.id == userHandle) { + return true; + } + } + return false; + } + + @MediumTest + public void testPerUserSettings() { + UserManager um = (UserManager) getContext().getSystemService(Context.USER_SERVICE); + ContentResolver r = getContext().getContentResolver(); + + // Make sure there's an owner + assertTrue(findUser(um, UserHandle.USER_OWNER)); + + // create a new user to use for testing + UserInfo user = um.createUser("TestUser1", UserInfo.FLAG_GUEST); + assertTrue(user != null); + + try { + // Write some settings for that user as well as the current user + final String TEST_KEY = "test_setting"; + final int SELF_VALUE = 40; + final int OTHER_VALUE = 27; + + Settings.System.putInt(r, TEST_KEY, SELF_VALUE); + Settings.System.putIntForUser(r, TEST_KEY, OTHER_VALUE, user.id); + + // Verify that they read back as intended + int myValue = Settings.System.getInt(r, TEST_KEY, 0); + int otherValue = Settings.System.getIntForUser(r, TEST_KEY, 0, user.id); + assertTrue("Running as user " + UserHandle.myUserId() + + " and reading/writing as user " + user.id + + ", expected to read " + SELF_VALUE + " but got " + myValue, + myValue == SELF_VALUE); + assertTrue("Running as user " + UserHandle.myUserId() + + " and reading/writing as user " + user.id + + ", expected to read " + OTHER_VALUE + " but got " + otherValue, + otherValue == OTHER_VALUE); + } finally { + // Tidy up + um.removeUser(user.id); + } + } + @SmallTest public void testSettings() { assertCanBeHandled(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)); diff --git a/keystore/java/android/security/AndroidKeyPairGeneratorSpec.java b/keystore/java/android/security/AndroidKeyPairGeneratorSpec.java index 311359c..79a7630 100644 --- a/keystore/java/android/security/AndroidKeyPairGeneratorSpec.java +++ b/keystore/java/android/security/AndroidKeyPairGeneratorSpec.java @@ -32,6 +32,7 @@ import javax.security.auth.x500.X500Principal; * generator that works with * <a href="{@docRoot}guide/topics/security/keystore.html">Android KeyStore * facility</a>. + * @hide */ public class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec { private final String mKeystoreAlias; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 4ddebac..8a847e1 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -1803,17 +1803,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)" + " VALUES(?,?);"); - loadBooleanSetting(stmt, Settings.Secure.PACKAGE_VERIFIER_ENABLE, - R.bool.def_package_verifier_enable); - loadStringSetting(stmt, Settings.Secure.LOCATION_PROVIDERS_ALLOWED, R.string.def_location_providers_allowed); - loadBooleanSetting(stmt, Settings.Secure.WIFI_ON, - R.bool.def_wifi_on); - loadBooleanSetting(stmt, Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, - R.bool.def_networks_available_notification_on); - String wifiWatchList = SystemProperties.get("ro.com.android.wifi-watchlist"); if (!TextUtils.isEmpty(wifiWatchList)) { loadSetting(stmt, Settings.Secure.WIFI_WATCHDOG_WATCH_LIST, wifiWatchList); @@ -1943,6 +1935,15 @@ public class DatabaseHelper extends SQLiteOpenHelper { R.integer.def_wifi_sleep_policy); // --- Previously in 'secure' + loadBooleanSetting(stmt, Settings.Global.PACKAGE_VERIFIER_ENABLE, + R.bool.def_package_verifier_enable); + + loadBooleanSetting(stmt, Settings.Global.WIFI_ON, + R.bool.def_wifi_on); + + loadBooleanSetting(stmt, Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, + R.bool.def_networks_available_notification_on); + loadBooleanSetting(stmt, Settings.Global.BLUETOOTH_ON, R.bool.def_bluetooth_on); diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index e1a5b52..7cc5dec 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -87,6 +87,9 @@ public class SettingsProvider extends ContentProvider { private static final SparseArray<AtomicInteger> sKnownMutationsInFlight = new SparseArray<AtomicInteger>(); + // Each defined user has their own settings + protected final SparseArray<DatabaseHelper> mOpenHelpers = new SparseArray<DatabaseHelper>(); + // Over this size we don't reject loading or saving settings but // we do consider them broken/malicious and don't keep them in // memory at least: @@ -98,9 +101,6 @@ public class SettingsProvider extends ContentProvider { // want to cache the existence of a key, but not store its value. private static final Bundle TOO_LARGE_TO_CACHE_MARKER = Bundle.forPair("_dummy", null); - // Each defined user has their own settings - protected final SparseArray<DatabaseHelper> mOpenHelpers = new SparseArray<DatabaseHelper>(); - //protected DatabaseHelper mOpenHelper; private UserManager mUserManager; private BackupManager mBackupManager; @@ -411,32 +411,29 @@ public class SettingsProvider extends ContentProvider { mBackupManager = new BackupManager(getContext()); mUserManager = (UserManager) getContext().getSystemService(Context.USER_SERVICE); - synchronized (this) { - establishDbTrackingLocked(UserHandle.USER_OWNER); - - IntentFilter userFilter = new IntentFilter(); - userFilter.addAction(Intent.ACTION_USER_REMOVED); - getContext().registerReceiver(new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - if (intent.getAction().equals(Intent.ACTION_USER_REMOVED)) { - final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, - UserHandle.USER_OWNER); - if (userHandle != UserHandle.USER_OWNER) { - onUserRemoved(userHandle); - } + establishDbTracking(UserHandle.USER_OWNER); + + IntentFilter userFilter = new IntentFilter(); + userFilter.addAction(Intent.ACTION_USER_REMOVED); + getContext().registerReceiver(new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals(Intent.ACTION_USER_REMOVED)) { + final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, + UserHandle.USER_OWNER); + if (userHandle != UserHandle.USER_OWNER) { + onUserRemoved(userHandle); } } - }, userFilter); - } + } + }, userFilter); return true; } void onUserRemoved(int userHandle) { - // the db file itself will be deleted automatically, but we need to tear down - // our caches and other internal bookkeeping. Creation/deletion of a user's - // settings db infrastructure is synchronized on 'this' synchronized (this) { + // the db file itself will be deleted automatically, but we need to tear down + // our caches and other internal bookkeeping. FileObserver observer = sObserverInstances.get(userHandle); if (observer != null) { observer.stopWatching(); @@ -455,25 +452,43 @@ public class SettingsProvider extends ContentProvider { } } - private void establishDbTrackingLocked(int userHandle) { + private void establishDbTracking(int userHandle) { if (LOCAL_LOGV) { Slog.i(TAG, "Installing settings db helper and caches for user " + userHandle); } - DatabaseHelper dbhelper = new DatabaseHelper(getContext(), userHandle); - mOpenHelpers.append(userHandle, dbhelper); + DatabaseHelper dbhelper; - // Watch for external modifications to the database files, - // keeping our caches in sync. - sSystemCaches.append(userHandle, new SettingsCache(TABLE_SYSTEM)); - sSecureCaches.append(userHandle, new SettingsCache(TABLE_SECURE)); - sKnownMutationsInFlight.append(userHandle, new AtomicInteger(0)); + synchronized (this) { + dbhelper = mOpenHelpers.get(userHandle); + if (dbhelper == null) { + dbhelper = new DatabaseHelper(getContext(), userHandle); + mOpenHelpers.append(userHandle, dbhelper); + + sSystemCaches.append(userHandle, new SettingsCache(TABLE_SYSTEM)); + sSecureCaches.append(userHandle, new SettingsCache(TABLE_SECURE)); + sKnownMutationsInFlight.append(userHandle, new AtomicInteger(0)); + } + } + + // Initialization of the db *outside* the locks. It's possible that racing + // threads might wind up here, the second having read the cache entries + // written by the first, but that's benign: the SQLite helper implementation + // manages concurrency itself, and it's important that we not run the db + // initialization with any of our own locks held, so we're fine. SQLiteDatabase db = dbhelper.getWritableDatabase(); - // Now we can start observing it for changes - SettingsFileObserver observer = new SettingsFileObserver(userHandle, db.getPath()); - sObserverInstances.append(userHandle, observer); - observer.startWatching(); + // Watch for external modifications to the database files, + // keeping our caches in sync. We synchronize the observer set + // separately, and of course it has to run after the db file + // itself was set up by the DatabaseHelper. + synchronized (sObserverInstances) { + if (sObserverInstances.get(userHandle) == null) { + SettingsFileObserver observer = new SettingsFileObserver(userHandle, db.getPath()); + sObserverInstances.append(userHandle, observer); + observer.startWatching(); + } + } ensureAndroidIdIsSet(userHandle); @@ -571,19 +586,17 @@ public class SettingsProvider extends ContentProvider { // Lazy-initialize the settings caches for non-primary users private SettingsCache getOrConstructCache(int callingUser, SparseArray<SettingsCache> which) { - synchronized (this) { - getOrEstablishDatabaseLocked(callingUser); // ignore return value; we don't need it - return which.get(callingUser); - } + getOrEstablishDatabase(callingUser); // ignore return value; we don't need it + return which.get(callingUser); } // Lazy initialize the database helper and caches for this user, if necessary - private DatabaseHelper getOrEstablishDatabaseLocked(int callingUser) { + private DatabaseHelper getOrEstablishDatabase(int callingUser) { long oldId = Binder.clearCallingIdentity(); try { DatabaseHelper dbHelper = mOpenHelpers.get(callingUser); if (null == dbHelper) { - establishDbTrackingLocked(callingUser); + establishDbTracking(callingUser); dbHelper = mOpenHelpers.get(callingUser); } return dbHelper; @@ -646,25 +659,21 @@ public class SettingsProvider extends ContentProvider { // Get methods if (Settings.CALL_METHOD_GET_SYSTEM.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call(system:" + request + ") for " + callingUser); - synchronized (this) { - dbHelper = getOrEstablishDatabaseLocked(callingUser); - cache = sSystemCaches.get(callingUser); - } + dbHelper = getOrEstablishDatabase(callingUser); + cache = sSystemCaches.get(callingUser); return lookupValue(dbHelper, TABLE_SYSTEM, cache, request); } if (Settings.CALL_METHOD_GET_SECURE.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call(secure:" + request + ") for " + callingUser); - synchronized (this) { - dbHelper = getOrEstablishDatabaseLocked(callingUser); - cache = sSecureCaches.get(callingUser); - } + dbHelper = getOrEstablishDatabase(callingUser); + cache = sSecureCaches.get(callingUser); return lookupValue(dbHelper, TABLE_SECURE, cache, request); } if (Settings.CALL_METHOD_GET_GLOBAL.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call(global:" + request + ") for " + callingUser); // fast path: owner db & cache are immutable after onCreate() so we need not // guard on the attempt to look them up - return lookupValue(getOrEstablishDatabaseLocked(UserHandle.USER_OWNER), TABLE_GLOBAL, + return lookupValue(getOrEstablishDatabase(UserHandle.USER_OWNER), TABLE_GLOBAL, sGlobalCache, request); } @@ -678,13 +687,13 @@ public class SettingsProvider extends ContentProvider { values.put(Settings.NameValueTable.VALUE, newValue); if (Settings.CALL_METHOD_PUT_SYSTEM.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call_put(system:" + request + "=" + newValue + ") for " + callingUser); - insert(Settings.System.CONTENT_URI, values); + insertForUser(Settings.System.CONTENT_URI, values, callingUser); } else if (Settings.CALL_METHOD_PUT_SECURE.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call_put(secure:" + request + "=" + newValue + ") for " + callingUser); - insert(Settings.Secure.CONTENT_URI, values); + insertForUser(Settings.Secure.CONTENT_URI, values, callingUser); } else if (Settings.CALL_METHOD_PUT_GLOBAL.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call_put(global:" + request + "=" + newValue + ") for " + callingUser); - insert(Settings.Global.CONTENT_URI, values); + insertForUser(Settings.Global.CONTENT_URI, values, callingUser); } else { Slog.w(TAG, "call() with invalid method: " + method); } @@ -747,10 +756,8 @@ public class SettingsProvider extends ContentProvider { if (LOCAL_LOGV) Slog.v(TAG, "query(" + url + ") for user " + forUser); SqlArguments args = new SqlArguments(url, where, whereArgs); DatabaseHelper dbH; - synchronized (this) { - dbH = getOrEstablishDatabaseLocked( - TABLE_GLOBAL.equals(args.table) ? UserHandle.USER_OWNER : forUser); - } + dbH = getOrEstablishDatabase( + TABLE_GLOBAL.equals(args.table) ? UserHandle.USER_OWNER : forUser); SQLiteDatabase db = dbH.getReadableDatabase(); // The favorites table was moved from this provider to a provider inside Home @@ -805,11 +812,8 @@ public class SettingsProvider extends ContentProvider { final AtomicInteger mutationCount = sKnownMutationsInFlight.get(callingUser); mutationCount.incrementAndGet(); - DatabaseHelper dbH; - synchronized (this) { - dbH = getOrEstablishDatabaseLocked( - TABLE_GLOBAL.equals(args.table) ? UserHandle.USER_OWNER : callingUser); - } + DatabaseHelper dbH = getOrEstablishDatabase( + TABLE_GLOBAL.equals(args.table) ? UserHandle.USER_OWNER : callingUser); SQLiteDatabase db = dbH.getWritableDatabase(); db.beginTransaction(); try { @@ -945,10 +949,7 @@ public class SettingsProvider extends ContentProvider { final AtomicInteger mutationCount = sKnownMutationsInFlight.get(desiredUserHandle); mutationCount.incrementAndGet(); - DatabaseHelper dbH; - synchronized (this) { - dbH = getOrEstablishDatabaseLocked(desiredUserHandle); - } + DatabaseHelper dbH = getOrEstablishDatabase(desiredUserHandle); SQLiteDatabase db = dbH.getWritableDatabase(); final long rowId = db.insert(args.table, null, initialValues); mutationCount.decrementAndGet(); @@ -956,7 +957,8 @@ public class SettingsProvider extends ContentProvider { SettingsCache.populate(cache, initialValues); // before we notify - if (LOCAL_LOGV) Log.v(TAG, args.table + " <- " + initialValues); + if (LOCAL_LOGV) Log.v(TAG, args.table + " <- " + initialValues + + " for user " + desiredUserHandle); // Note that we use the original url here, not the potentially-rewritten table name url = getUriFor(url, initialValues, rowId); sendNotify(url, desiredUserHandle); @@ -979,10 +981,7 @@ public class SettingsProvider extends ContentProvider { final AtomicInteger mutationCount = sKnownMutationsInFlight.get(callingUser); mutationCount.incrementAndGet(); - DatabaseHelper dbH; - synchronized (this) { - dbH = getOrEstablishDatabaseLocked(callingUser); - } + DatabaseHelper dbH = getOrEstablishDatabase(callingUser); SQLiteDatabase db = dbH.getWritableDatabase(); int count = db.delete(args.table, args.where, args.args); mutationCount.decrementAndGet(); @@ -1014,10 +1013,7 @@ public class SettingsProvider extends ContentProvider { final AtomicInteger mutationCount = sKnownMutationsInFlight.get(callingUser); mutationCount.incrementAndGet(); - DatabaseHelper dbH; - synchronized (this) { - dbH = getOrEstablishDatabaseLocked(callingUser); - } + DatabaseHelper dbH = getOrEstablishDatabase(callingUser); SQLiteDatabase db = dbH.getWritableDatabase(); int count = db.update(args.table, initialValues, args.where, args.args); mutationCount.decrementAndGet(); diff --git a/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml b/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml new file mode 100644 index 0000000..4dbf6a0 --- /dev/null +++ b/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012 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. +--> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/TextAppearance.QuickSettings.TileView" + android:id="@+id/rotation_lock_textview" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:gravity="center" + android:text="@string/quick_settings_rotation_unlocked_label" + />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_rssi.xml b/packages/SystemUI/res/layout/quick_settings_tile_rssi.xml index 3cbefa5..febd8a8 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_rssi.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_rssi.xml @@ -13,13 +13,38 @@ See the License for the specific language governing permissions and limitations under the License. --> -<TextView +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - style="@style/TextAppearance.QuickSettings.TileView" - android:id="@+id/rssi_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:gravity="center" - android:text="@string/quick_settings_rssi_label" - />
\ No newline at end of file + android:orientation="vertical"> + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center"> + <ImageView + android:id="@+id/rssi_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:paddingBottom="10dp" + /> + <ImageView + android:id="@+id/rssi_overlay_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:paddingBottom="10dp" + /> + </FrameLayout> + <TextView + style="@style/TextAppearance.QuickSettings.TileView" + android:id="@+id/rssi_textview" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:gravity="center" + android:text="@string/quick_settings_rssi_label" + /> +</LinearLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/values-sw600dp/config.xml b/packages/SystemUI/res/values-sw600dp/config.xml index c52b6ca..209ad11 100644 --- a/packages/SystemUI/res/values-sw600dp/config.xml +++ b/packages/SystemUI/res/values-sw600dp/config.xml @@ -25,4 +25,7 @@ <!-- The number of columns that the top level tiles span in the QuickSettings --> <integer name="quick_settings_user_time_settings_tile_span">1</integer> + + <!-- Whether rotation lock shows up in quick settings or not --> + <bool name="quick_settings_show_rotation_lock">true</bool> </resources> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 734e68c..1edc3fc 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -87,5 +87,8 @@ <!-- The number of columns that the top level tiles span in the QuickSettings --> <integer name="quick_settings_user_time_settings_tile_span">1</integer> + + <!-- Whether rotation lock shows up in quick settings or not --> + <bool name="quick_settings_show_rotation_lock">false</bool> </resources> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index fd1c472..b65b013 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -411,6 +411,10 @@ <string name="quick_settings_bluetooth_label">Bluetooth</string> <!-- QuickSettings: Brightness [CHAR LIMIT=NONE] --> <string name="quick_settings_brightness_label">Brightness</string> + <!-- QuickSettings: Rotation Unlocked [CHAR LIMIT=NONE] --> + <string name="quick_settings_rotation_unlocked_label">Auto Rotate</string> + <!-- QuickSettings: Rotation Locked [CHAR LIMIT=NONE] --> + <string name="quick_settings_rotation_locked_label">Rotation Locked</string> <!-- QuickSettings: IME [CHAR LIMIT=NONE] --> <string name="quick_settings_ime_label">Input Method</string> <!-- QuickSettings: Location [CHAR LIMIT=NONE] --> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java index 91f29a2..1c244d4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -356,6 +356,14 @@ public class PanelView extends FrameLayout { return mExpandedFraction; } + public boolean isFullyExpanded() { + return mExpandedHeight == getFullHeight(); + } + + public boolean isFullyCollapsed() { + return mExpandedHeight == 0; + } + public void setBar(PanelBar panelBar) { mBar = panelBar; } @@ -371,13 +379,13 @@ public class PanelView extends FrameLayout { public void collapse() { // TODO: abort animation or ongoing touch - if (mExpandedHeight > 0) { + if (!isFullyCollapsed()) { fling(-mSelfCollapseVelocityPx, /*always=*/ true); } } public void expand() { - if (mExpandedHeight < getFullHeight()) { + if (!isFullyExpanded()) { fling (mSelfExpandVelocityPx, /*always=*/ true); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java index 38fd790..3a10155 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java @@ -29,6 +29,7 @@ import android.content.Loader; import android.content.res.Resources; import android.database.Cursor; import android.graphics.drawable.Drawable; +import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.LevelListDrawable; import android.hardware.display.DisplayManager; import android.hardware.display.WifiDisplay; @@ -48,7 +49,9 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import com.android.internal.view.RotationPolicy; import com.android.systemui.R; +import com.android.systemui.statusbar.phone.QuickSettingsModel.RSSIState; import com.android.systemui.statusbar.phone.QuickSettingsModel.State; import com.android.systemui.statusbar.phone.QuickSettingsModel.UserState; import com.android.systemui.statusbar.policy.BatteryController; @@ -89,6 +92,14 @@ class QuickSettings { private final ArrayList<QuickSettingsTileView> mDynamicSpannedTiles = new ArrayList<QuickSettingsTileView>(); + private final RotationPolicy.RotationPolicyListener mRotationPolicyListener = + new RotationPolicy.RotationPolicyListener() { + @Override + public void onChange() { + mModel.onRotationLockChanged(); + } + }; + public QuickSettings(Context context, QuickSettingsContainerView container) { mDisplayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); mContext = context; @@ -125,6 +136,7 @@ class QuickSettings { bluetoothController.addStateChangedCallback(mModel); batteryController.addStateChangedCallback(mModel); locationController.addStateChangedCallback(mModel); + RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener); } private void queryForUserInformation() { @@ -285,14 +297,45 @@ class QuickSettings { mModel.addRSSITile(rssiTile, new QuickSettingsModel.RefreshCallback() { @Override public void refreshView(QuickSettingsTileView view, State state) { + RSSIState rssiState = (RSSIState) state; + ImageView iv = (ImageView) view.findViewById(R.id.rssi_image); + ImageView iov = (ImageView) view.findViewById(R.id.rssi_overlay_image); TextView tv = (TextView) view.findViewById(R.id.rssi_textview); - tv.setCompoundDrawablesRelativeWithIntrinsicBounds(0, state.iconId, 0, 0); + iv.setImageResource(rssiState.signalIconId); + if (rssiState.dataTypeIconId > 0) { + iov.setImageResource(rssiState.dataTypeIconId); + } else { + iov.setImageDrawable(null); + } tv.setText(state.label); } }); parent.addView(rssiTile); } + // Rotation Lock + if (mContext.getResources().getBoolean(R.bool.quick_settings_show_rotation_lock)) { + QuickSettingsTileView rotationLockTile = (QuickSettingsTileView) + inflater.inflate(R.layout.quick_settings_tile, parent, false); + rotationLockTile.setContent(R.layout.quick_settings_tile_rotation_lock, inflater); + rotationLockTile.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + boolean locked = RotationPolicy.isRotationLocked(mContext); + RotationPolicy.setRotationLock(mContext, !locked); + } + }); + mModel.addRotationLockTile(rotationLockTile, new QuickSettingsModel.RefreshCallback() { + @Override + public void refreshView(QuickSettingsTileView view, State state) { + TextView tv = (TextView) view.findViewById(R.id.rotation_lock_textview); + tv.setCompoundDrawablesRelativeWithIntrinsicBounds(0, state.iconId, 0, 0); + tv.setText(state.label); + } + }); + parent.addView(rotationLockTile); + } + // Battery QuickSettingsTileView batteryTile = (QuickSettingsTileView) inflater.inflate(R.layout.quick_settings_tile, parent, false); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java index a6117be..f239110 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java @@ -36,6 +36,7 @@ import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; +import com.android.internal.view.RotationPolicy; import com.android.systemui.R; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import com.android.systemui.statusbar.policy.LocationController.LocationGpsStateChangeCallback; @@ -59,6 +60,10 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, int batteryLevel; boolean pluggedIn; } + static class RSSIState extends State { + int signalIconId; + int dataTypeIconId; + } static class UserState extends State { Drawable avatar; } @@ -123,7 +128,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, private QuickSettingsTileView mRSSITile; private RefreshCallback mRSSICallback; - private State mRSSIState = new State(); + private RSSIState mRSSIState = new RSSIState(); private QuickSettingsTileView mBluetoothTile; private RefreshCallback mBluetoothCallback; @@ -141,6 +146,10 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, private RefreshCallback mImeCallback; private State mImeState = new State(); + private QuickSettingsTileView mRotationLockTile; + private RefreshCallback mRotationLockCallback; + private State mRotationLockState = new State(); + public QuickSettingsModel(Context context) { mContext = context; mHandler = new Handler(); @@ -253,13 +262,16 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, // NetworkSignalChanged callback @Override public void onMobileDataSignalChanged(boolean enabled, int mobileSignalIconId, - String enabledDesc) { + int dataTypeIconId, String enabledDesc) { if (deviceSupportsTelephony()) { // TODO: If view is in awaiting state, disable Resources r = mContext.getResources(); - mRSSIState.iconId = enabled && (mobileSignalIconId > 0) + mRSSIState.signalIconId = enabled && (mobileSignalIconId > 0) ? mobileSignalIconId : R.drawable.ic_qs_signal_no_signal; + mRSSIState.dataTypeIconId = enabled && (dataTypeIconId > 0) + ? dataTypeIconId + : 0; mRSSIState.label = enabled ? enabledDesc : r.getString(R.string.quick_settings_rssi_emergency_only); @@ -372,4 +384,26 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, return null; } + // Rotation lock + void addRotationLockTile(QuickSettingsTileView view, RefreshCallback cb) { + mRotationLockTile = view; + mRotationLockCallback = cb; + onRotationLockChanged(); + } + void onRotationLockChanged() { + boolean locked = RotationPolicy.isRotationLocked(mContext); + mRotationLockState.enabled = locked; + mRotationLockState.iconId = locked + ? R.drawable.ic_qs_rotation_locked + : R.drawable.ic_qs_auto_rotate; + mRotationLockState.label = locked + ? mContext.getString(R.string.quick_settings_rotation_locked_label) + : mContext.getString(R.string.quick_settings_rotation_unlocked_label); + + // may be called before addRotationLockTile due to RotationPolicyListener in QuickSettings + if (mRotationLockTile != null && mRotationLockCallback != null) { + mRotationLockCallback.refreshView(mRotationLockTile, mRotationLockState); + } + } + }
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java index 2d4c9ee..e0b7fe6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -21,6 +21,7 @@ import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; +import android.view.View; import android.widget.FrameLayout; import android.widget.ScrollView; import android.widget.TextSwitcher; @@ -36,6 +37,7 @@ public class StatusBarWindowView extends FrameLayout private ExpandHelper mExpandHelper; private NotificationRowLayout latestItems; + private NotificationPanelView mNotificationPanel; PhoneStatusBar mService; @@ -49,6 +51,7 @@ public class StatusBarWindowView extends FrameLayout super.onAttachedToWindow(); latestItems = (NotificationRowLayout) findViewById(R.id.latestItems); ScrollView scroller = (ScrollView) findViewById(R.id.scroll); + mNotificationPanel = (NotificationPanelView) findViewById(R.id.notification_panel); int minHeight = getResources().getDimensionPixelSize(R.dimen.notification_row_min_height); int maxHeight = getResources().getDimensionPixelSize(R.dimen.notification_row_max_height); mExpandHelper = new ExpandHelper(mContext, latestItems, minHeight, maxHeight); @@ -71,8 +74,13 @@ public class StatusBarWindowView extends FrameLayout @Override public boolean onInterceptTouchEvent(MotionEvent ev) { - boolean intercept = mExpandHelper.onInterceptTouchEvent(ev) || - super.onInterceptTouchEvent(ev); + boolean intercept = false; + if (mNotificationPanel.isFullyExpanded()) { + intercept = mExpandHelper.onInterceptTouchEvent(ev); + } + if (!intercept) { + super.onInterceptTouchEvent(ev); + } if (intercept) { MotionEvent cancellation = MotionEvent.obtain(ev); cancellation.setAction(MotionEvent.ACTION_CANCEL); @@ -84,8 +92,13 @@ public class StatusBarWindowView extends FrameLayout @Override public boolean onTouchEvent(MotionEvent ev) { - boolean handled = mExpandHelper.onTouchEvent(ev) || - super.onTouchEvent(ev); + boolean handled = false; + if (mNotificationPanel.isFullyExpanded()) { + handled = mExpandHelper.onTouchEvent(ev); + } + if (!handled) { + handled = super.onTouchEvent(ev); + } return handled; } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index 0bdc59b..556ae59 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -16,11 +16,6 @@ package com.android.systemui.statusbar.policy; -import java.io.FileDescriptor; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.List; - import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -37,9 +32,7 @@ import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.os.RemoteException; -import android.os.SystemProperties; import android.provider.Settings; -import android.provider.Telephony; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; @@ -50,15 +43,18 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.internal.app.IBatteryStats; -import com.android.internal.telephony.IccCard; import com.android.internal.telephony.IccCardConstants; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.cdma.EriInfo; -import com.android.server.am.BatteryStatsService; import com.android.internal.util.AsyncChannel; - +import com.android.server.am.BatteryStatsService; import com.android.systemui.R; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; + public class NetworkController extends BroadcastReceiver { // debug static final String TAG = "StatusBar.NetworkController"; @@ -85,6 +81,7 @@ public class NetworkController extends BroadcastReceiver { int mDataDirectionIconId; // data + data direction on phones int mDataSignalIconId; int mDataTypeIconId; + int mQSDataTypeIconId; int mAirplaneIconId; boolean mDataActive; int mMobileActivityIconId; // overlay arrows for data direction @@ -178,7 +175,8 @@ public class NetworkController extends BroadcastReceiver { public interface NetworkSignalChangedCallback { void onWifiSignalChanged(boolean enabled, int wifiSignalIconId, String description); - void onMobileDataSignalChanged(boolean enabled, int mobileSignalIconId, String description); + void onMobileDataSignalChanged(boolean enabled, int mobileSignalIconId, int dataTypeIconId, + String description); void onAirplaneModeChanged(boolean enabled); } @@ -352,15 +350,16 @@ public class NetworkController extends BroadcastReceiver { cb.onWifiSignalChanged(wifiEnabled, mQSWifiIconId, wifiDesc); if (isEmergencyOnly()) { - cb.onMobileDataSignalChanged(false, mQSPhoneSignalIconId, null); + cb.onMobileDataSignalChanged(false, mQSPhoneSignalIconId, mQSDataTypeIconId, null); } else { if (mIsWimaxEnabled && mWimaxConnected) { - // wimax is special - cb.onMobileDataSignalChanged(true, mQSPhoneSignalIconId, mNetworkName); + // Wimax is special + cb.onMobileDataSignalChanged(true, mQSPhoneSignalIconId, mQSDataTypeIconId, + mNetworkName); } else { - // normal mobile data + // Normal mobile data cb.onMobileDataSignalChanged(mHasMobileDataFeature, mQSPhoneSignalIconId, - mNetworkName); + mQSDataTypeIconId, mNetworkName); } } cb.onAirplaneModeChanged(mAirplaneMode); @@ -570,6 +569,7 @@ public class NetworkController extends BroadcastReceiver { // wimax is a special 4g network not handled by telephony mDataIconList = TelephonyIcons.DATA_4G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_4g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_4g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_4g); } else { @@ -578,6 +578,7 @@ public class NetworkController extends BroadcastReceiver { if (!mShowAtLeastThreeGees) { mDataIconList = TelephonyIcons.DATA_G[mInetCondition]; mDataTypeIconId = 0; + mQSDataTypeIconId = 0; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_gprs); break; @@ -588,6 +589,7 @@ public class NetworkController extends BroadcastReceiver { if (!mShowAtLeastThreeGees) { mDataIconList = TelephonyIcons.DATA_E[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_e; + mQSDataTypeIconId = R.drawable.ic_qs_signal_e; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_edge); break; @@ -597,6 +599,7 @@ public class NetworkController extends BroadcastReceiver { case TelephonyManager.NETWORK_TYPE_UMTS: mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_3g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_3g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_3g); break; @@ -607,11 +610,13 @@ public class NetworkController extends BroadcastReceiver { if (mHspaDataDistinguishable) { mDataIconList = TelephonyIcons.DATA_H[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_h; + mQSDataTypeIconId = R.drawable.ic_qs_signal_h; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_3_5g); } else { mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_3g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_3g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_3g); } @@ -621,6 +626,7 @@ public class NetworkController extends BroadcastReceiver { // display 1xRTT for IS95A/B mDataIconList = TelephonyIcons.DATA_1X[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_1x; + mQSDataTypeIconId = R.drawable.ic_qs_signal_1x; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_cdma); break; @@ -631,6 +637,7 @@ public class NetworkController extends BroadcastReceiver { if (!mShowAtLeastThreeGees) { mDataIconList = TelephonyIcons.DATA_1X[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_1x; + mQSDataTypeIconId = R.drawable.ic_qs_signal_1x; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_cdma); break; @@ -643,12 +650,14 @@ public class NetworkController extends BroadcastReceiver { case TelephonyManager.NETWORK_TYPE_EHRPD: mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_3g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_3g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_3g); break; case TelephonyManager.NETWORK_TYPE_LTE: mDataIconList = TelephonyIcons.DATA_4G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_4g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_4g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_4g); break; @@ -656,11 +665,13 @@ public class NetworkController extends BroadcastReceiver { if (!mShowAtLeastThreeGees) { mDataIconList = TelephonyIcons.DATA_G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_gprs); } else { mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_3g; + mQSDataTypeIconId = R.drawable.ic_qs_signal_3g; mContentDescriptionDataType = mContext.getString( R.string.accessibility_data_connection_3g); } @@ -671,9 +682,11 @@ public class NetworkController extends BroadcastReceiver { if (isCdma()) { if (isCdmaEri()) { mDataTypeIconId = R.drawable.stat_sys_data_connected_roam; + mQSDataTypeIconId = R.drawable.ic_qs_signal_r; } } else if (mPhone.isNetworkRoaming()) { mDataTypeIconId = R.drawable.stat_sys_data_connected_roam; + mQSDataTypeIconId = R.drawable.ic_qs_signal_r; } } @@ -1095,7 +1108,7 @@ public class NetworkController extends BroadcastReceiver { mContentDescriptionPhoneSignal = mContext.getString( R.string.accessibility_airplane_mode); mAirplaneIconId = R.drawable.stat_sys_signal_flightmode; - mPhoneSignalIconId = mDataSignalIconId = mDataTypeIconId = 0; + mPhoneSignalIconId = mDataSignalIconId = mDataTypeIconId = mQSDataTypeIconId = 0; mQSPhoneSignalIconId = 0; // combined values from connected wifi take precedence over airplane mode @@ -1125,12 +1138,15 @@ public class NetworkController extends BroadcastReceiver { ? mContentDescriptionDataType : mContentDescriptionWifi; mDataTypeIconId = 0; + mQSDataTypeIconId = 0; if (isCdma()) { if (isCdmaEri()) { mDataTypeIconId = R.drawable.stat_sys_data_connected_roam; + mQSDataTypeIconId = R.drawable.ic_qs_signal_r; } } else if (mPhone.isNetworkRoaming()) { mDataTypeIconId = R.drawable.stat_sys_data_connected_roam; + mQSDataTypeIconId = R.drawable.ic_qs_signal_r; } } @@ -1155,6 +1171,7 @@ public class NetworkController extends BroadcastReceiver { + " mDataDirectionIconId=0x" + Integer.toHexString(mDataDirectionIconId) + " mDataSignalIconId=0x" + Integer.toHexString(mDataSignalIconId) + " mDataTypeIconId=0x" + Integer.toHexString(mDataTypeIconId) + + " mQSDataTypeIconId=0x" + Integer.toHexString(mQSDataTypeIconId) + " mWifiIconId=0x" + Integer.toHexString(mWifiIconId) + " mQSWifiIconId=0x" + Integer.toHexString(mQSWifiIconId) + " mBluetoothTetherIconId=0x" + Integer.toHexString(mBluetoothTetherIconId)); @@ -1386,6 +1403,10 @@ public class NetworkController extends BroadcastReceiver { pw.print(Integer.toHexString(mDataTypeIconId)); pw.print("/"); pw.println(getResourceName(mDataTypeIconId)); + pw.print(" mQSDataTypeIconId="); + pw.print(Integer.toHexString(mQSDataTypeIconId)); + pw.print("/"); + pw.println(getResourceName(mQSDataTypeIconId)); pw.println(" - wifi ------"); pw.print(" mWifiEnabled="); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java b/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java index 5a0a228..a4159d0 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java @@ -153,7 +153,8 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback { // This must show before bind to guarantee that Face Unlock has a place to display show(SERVICE_STARTUP_VIEW_TIMEOUT); if (!mBoundToService) { - Log.d(TAG, "Binding to Face Unlock service"); + Log.d(TAG, "Binding to Face Unlock service for user=" + + mLockPatternUtils.getCurrentUser()); mContext.bindService(new Intent(IFaceLockInterface.class.getName()), mConnection, Context.BIND_AUTO_CREATE, diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java index 1405260..95f8500 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java @@ -28,11 +28,11 @@ import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.content.Intent; import android.content.IntentSender; -import android.content.SharedPreferences; import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Rect; +import android.os.Looper; import android.os.UserManager; import android.util.AttributeSet; import android.util.Log; @@ -41,8 +41,6 @@ import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; import android.view.WindowManager; import android.view.animation.AnimationUtils; import android.widget.RemoteViews.OnClickHandler; @@ -61,6 +59,7 @@ public class KeyguardHostView extends KeyguardViewBase { // Use this to debug all of keyguard public static boolean DEBUG; + // also referenced in SecuritySettings.java static final int APPWIDGET_HOST_ID = 0x4B455947; private static final String KEYGUARD_WIDGET_PREFS = "keyguard_widget_prefs"; @@ -94,8 +93,9 @@ public class KeyguardHostView extends KeyguardViewBase { public KeyguardHostView(Context context, AttributeSet attrs) { super(context, attrs); mLockPatternUtils = new LockPatternUtils(context); - mAppWidgetHost = new AppWidgetHost(mContext, APPWIDGET_HOST_ID, mOnClickHandler); - mSecurityModel = new KeyguardSecurityModel(mContext); + mAppWidgetHost = new AppWidgetHost( + context, APPWIDGET_HOST_ID, mOnClickHandler, Looper.myLooper()); + mSecurityModel = new KeyguardSecurityModel(context); // The following enables the MENU key to work for testing automation mEnableMenuKey = shouldEnableMenuKey(); @@ -212,7 +212,7 @@ public class KeyguardHostView extends KeyguardViewBase { mAppWidgetHost.stopListening(); } - AppWidgetHost getAppWidgetHost() { + private AppWidgetHost getAppWidgetHost() { return mAppWidgetHost; } @@ -674,15 +674,11 @@ public class KeyguardHostView extends KeyguardViewBase { return; } inflateAndAddUserSelectorWidgetIfNecessary(); - SharedPreferences prefs = mContext.getSharedPreferences( - KEYGUARD_WIDGET_PREFS, Context.MODE_PRIVATE); - for (String key : prefs.getAll().keySet()) { - int appId = prefs.getInt(key, -1); - if (appId != -1) { - Log.w(TAG, "populate: adding " + key); - addWidget(appId); - } else { - Log.w(TAG, "populate: can't find " + key); + + final int[] widgets = mLockPatternUtils.getUserDefinedWidgets(); + for (int i = 0; i < widgets.length; i++) { + if (widgets[i] != -1) { + addWidget(widgets[i]); } } } diff --git a/services/java/com/android/server/AppWidgetServiceImpl.java b/services/java/com/android/server/AppWidgetServiceImpl.java index 95d7623..499c15e 100644 --- a/services/java/com/android/server/AppWidgetServiceImpl.java +++ b/services/java/com/android/server/AppWidgetServiceImpl.java @@ -42,6 +42,7 @@ import android.os.Binder; import android.os.Bundle; import android.os.Environment; import android.os.IBinder; +import android.os.Process; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; @@ -409,7 +410,7 @@ class AppWidgetServiceImpl { } public int allocateAppWidgetId(String packageName, int hostId) { - int callingUid = enforceCallingUid(packageName); + int callingUid = enforceSystemOrCallingUid(packageName); synchronized (mAppWidgetIds) { ensureStateLoadedLocked(); int appWidgetId = mNextAppWidgetId++; @@ -1358,10 +1359,10 @@ class AppWidgetServiceImpl { com.android.internal.R.styleable.AppWidgetProviderInfo_resizeMode, AppWidgetProviderInfo.RESIZE_NONE); info.widgetCategory = sa.getInt( - com.android.internal.R.styleable.AppWidgetProviderInfo_resizeMode, + com.android.internal.R.styleable.AppWidgetProviderInfo_widgetCategory, AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN); info.widgetFeatures = sa.getInt( - com.android.internal.R.styleable.AppWidgetProviderInfo_resizeMode, + com.android.internal.R.styleable.AppWidgetProviderInfo_widgetFeatures, AppWidgetProviderInfo.WIDGET_FEATURES_NONE); sa.recycle(); @@ -1391,6 +1392,15 @@ class AppWidgetServiceImpl { return pkgInfo.applicationInfo.uid; } + int enforceSystemOrCallingUid(String packageName) throws IllegalArgumentException { + int callingUid = Binder.getCallingUid(); + int uid = Process.myUid(); + if (UserHandle.getAppId(uid) == Process.SYSTEM_UID || uid == 0) { + return callingUid; + } + return enforceCallingUid(packageName); + } + int enforceCallingUid(String packageName) throws IllegalArgumentException { int callingUid = Binder.getCallingUid(); int packageUid; diff --git a/services/java/com/android/server/ClipboardService.java b/services/java/com/android/server/ClipboardService.java index 0bf7aad..74ec6e2 100644 --- a/services/java/com/android/server/ClipboardService.java +++ b/services/java/com/android/server/ClipboardService.java @@ -17,6 +17,7 @@ package com.android.server; import android.app.ActivityManagerNative; +import android.app.AppGlobals; import android.app.IActivityManager; import android.content.BroadcastReceiver; import android.content.ClipData; @@ -26,6 +27,7 @@ import android.content.IOnPrimaryClipChangedListener; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.IPackageManager; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -120,7 +122,6 @@ public class ClipboardService extends IClipboard.Stub { private PerUserClipboard getClipboard(int userId) { synchronized (mClipboards) { - Slog.i(TAG, "Got clipboard for user=" + userId); PerUserClipboard puc = mClipboards.get(userId); if (puc == null) { puc = new PerUserClipboard(userId); @@ -255,15 +256,22 @@ public class ClipboardService extends IClipboard.Stub { } private final void addActiveOwnerLocked(int uid, String pkg) { - PackageInfo pi; + final IPackageManager pm = AppGlobals.getPackageManager(); + final int targetUserHandle = UserHandle.getCallingUserId(); + final long oldIdentity = Binder.clearCallingIdentity(); try { - pi = mPm.getPackageInfo(pkg, 0); + PackageInfo pi = pm.getPackageInfo(pkg, 0, targetUserHandle); + if (pi == null) { + throw new IllegalArgumentException("Unknown package " + pkg); + } if (!UserHandle.isSameApp(pi.applicationInfo.uid, uid)) { throw new SecurityException("Calling uid " + uid + " does not own package " + pkg); } - } catch (NameNotFoundException e) { - throw new IllegalArgumentException("Unknown package " + pkg, e); + } catch (RemoteException e) { + // Can't happen; the package manager is in the same process + } finally { + Binder.restoreCallingIdentity(oldIdentity); } PerUserClipboard clipboard = getClipboard(); if (clipboard.primaryClip != null && !clipboard.activePermissionOwners.contains(pkg)) { diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 3a338a9..5c7a3ed 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -96,6 +96,7 @@ import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnProfile; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; +import com.android.internal.util.IndentingPrintWriter; import com.android.server.am.BatteryStatsService; import com.android.server.connectivity.Tethering; import com.android.server.connectivity.Vpn; @@ -2593,7 +2594,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { } @Override - protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) { + final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); if (mContext.checkCallingOrSelfPermission( android.Manifest.permission.DUMP) != PackageManager.PERMISSION_GRANTED) { @@ -2602,20 +2604,28 @@ public class ConnectivityService extends IConnectivityManager.Stub { Binder.getCallingUid()); return; } + + // TODO: add locking to get atomic snapshot pw.println(); - for (NetworkStateTracker nst : mNetTrackers) { + for (int i = 0; i < mNetTrackers.length; i++) { + final NetworkStateTracker nst = mNetTrackers[i]; if (nst != null) { + pw.println("NetworkStateTracker for " + getNetworkTypeName(i) + ":"); + pw.increaseIndent(); if (nst.getNetworkInfo().isConnected()) { pw.println("Active network: " + nst.getNetworkInfo(). getTypeName()); } pw.println(nst.getNetworkInfo()); + pw.println(nst.getLinkProperties()); pw.println(nst); pw.println(); + pw.decreaseIndent(); } } pw.println("Network Requester Pids:"); + pw.increaseIndent(); for (int net : mPriorityList) { String pidString = net + ": "; for (Object pid : mNetRequestersPids[net]) { @@ -2624,12 +2634,15 @@ public class ConnectivityService extends IConnectivityManager.Stub { pw.println(pidString); } pw.println(); + pw.decreaseIndent(); pw.println("FeatureUsers:"); + pw.increaseIndent(); for (Object requester : mFeatureUsers) { pw.println(requester.toString()); } pw.println(); + pw.decreaseIndent(); synchronized (this) { pw.println("NetworkTranstionWakeLock is currently " + @@ -2643,9 +2656,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (mInetLog != null) { pw.println(); pw.println("Inet condition reports:"); + pw.increaseIndent(); for(int i = 0; i < mInetLog.size(); i++) { pw.println(mInetLog.get(i)); } + pw.decreaseIndent(); } } diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index 7ed4f8a..5c3af79 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -133,8 +133,8 @@ public class WifiService extends IWifiManager.Stub { private static final int POLL_TRAFFIC_STATS_INTERVAL_MSECS = 1000; /** - * See {@link Settings.Secure#WIFI_IDLE_MS}. This is the default value if a - * Settings.Secure value is not present. This timeout value is chosen as + * See {@link Settings.Global#WIFI_IDLE_MS}. This is the default value if a + * Settings.Global value is not present. This timeout value is chosen as * the approximate point at which the battery drain caused by Wi-Fi * being enabled but not active exceeds the battery drain caused by * re-establishing a connection to the mobile data network. @@ -431,8 +431,8 @@ public class WifiService extends IWifiManager.Stub { mWifiStateMachineHandler = new WifiStateMachineHandler(wifiThread.getLooper()); // Setting is in seconds - NOTIFICATION_REPEAT_DELAY_MS = Settings.Secure.getInt(context.getContentResolver(), - Settings.Secure.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY, 900) * 1000l; + NOTIFICATION_REPEAT_DELAY_MS = Settings.Global.getInt(context.getContentResolver(), + Settings.Global.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY, 900) * 1000l; mNotificationEnabledSettingObserver = new NotificationEnabledSettingObserver(new Handler()); mNotificationEnabledSettingObserver.register(); } @@ -502,9 +502,9 @@ public class WifiService extends IWifiManager.Stub { final ContentResolver cr = mContext.getContentResolver(); int wifiSavedState = 0; try { - wifiSavedState = Settings.Secure.getInt(cr, Settings.Secure.WIFI_SAVED_STATE); + wifiSavedState = Settings.Global.getInt(cr, Settings.Global.WIFI_SAVED_STATE); if(wifiSavedState == 1) - Settings.Secure.putInt(cr, Settings.Secure.WIFI_SAVED_STATE, 0); + Settings.Global.putInt(cr, Settings.Global.WIFI_SAVED_STATE, 0); } catch (Settings.SettingNotFoundException e) { ; } @@ -514,9 +514,9 @@ public class WifiService extends IWifiManager.Stub { private int getPersistedWifiState() { final ContentResolver cr = mContext.getContentResolver(); try { - return Settings.Secure.getInt(cr, Settings.Secure.WIFI_ON); + return Settings.Global.getInt(cr, Settings.Global.WIFI_ON); } catch (Settings.SettingNotFoundException e) { - Settings.Secure.putInt(cr, Settings.Secure.WIFI_ON, WIFI_DISABLED); + Settings.Global.putInt(cr, Settings.Global.WIFI_ON, WIFI_DISABLED); return WIFI_DISABLED; } } @@ -564,7 +564,7 @@ public class WifiService extends IWifiManager.Stub { private void persistWifiState(int state) { final ContentResolver cr = mContext.getContentResolver(); mPersistWifiState.set(state); - Settings.Secure.putInt(cr, Settings.Secure.WIFI_ON, state); + Settings.Global.putInt(cr, Settings.Global.WIFI_ON, state); } /** @@ -996,11 +996,11 @@ public class WifiService extends IWifiManager.Stub { String action = intent.getAction(); long idleMillis = - Settings.Secure.getLong(mContext.getContentResolver(), - Settings.Secure.WIFI_IDLE_MS, DEFAULT_IDLE_MS); + Settings.Global.getLong(mContext.getContentResolver(), + Settings.Global.WIFI_IDLE_MS, DEFAULT_IDLE_MS); int stayAwakeConditions = - Settings.System.getInt(mContext.getContentResolver(), - Settings.System.STAY_ON_WHILE_PLUGGED_IN, 0); + Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0); if (action.equals(Intent.ACTION_SCREEN_ON)) { if (DBG) { Slog.d(TAG, "ACTION_SCREEN_ON"); @@ -1779,8 +1779,8 @@ public class WifiService extends IWifiManager.Stub { public void register() { ContentResolver cr = mContext.getContentResolver(); - cr.registerContentObserver(Settings.Secure.getUriFor( - Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON), true, this); + cr.registerContentObserver(Settings.Global.getUriFor( + Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON), true, this); mNotificationEnabled = getValue(); } @@ -1793,8 +1793,8 @@ public class WifiService extends IWifiManager.Stub { } private boolean getValue() { - return Settings.Secure.getInt(mContext.getContentResolver(), - Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1) == 1; + return Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1) == 1; } } diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java index 99ec1d2..e7f3599 100644 --- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -173,10 +173,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { private Service mQueryBridge; - private boolean mTouchExplorationGestureEnded; - - private boolean mTouchExplorationGestureStarted; - private AlertDialog mEnableTouchExplorationDialog; /** @@ -400,18 +396,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { } public boolean sendAccessibilityEvent(AccessibilityEvent event) { - final int eventType = event.getEventType(); - - // The event for gesture start should be strictly before the - // first hover enter event for the gesture. - if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER - && mTouchExplorationGestureStarted) { - mTouchExplorationGestureStarted = false; - AccessibilityEvent gestureStartEvent = AccessibilityEvent.obtain( - AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START); - sendAccessibilityEvent(gestureStartEvent); - } - synchronized (mLock) { if (mSecurityPolicy.canDispatchAccessibilityEvent(event)) { mSecurityPolicy.updateActiveWindowAndEventSourceLocked(event); @@ -421,22 +405,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (mHasInputFilter && mInputFilter != null) { mMainHandler.obtainMessage(MSG_SEND_ACCESSIBILITY_EVENT_TO_INPUT_FILTER, AccessibilityEvent.obtain(event)).sendToTarget(); - } event.recycle(); mHandledFeedbackTypes = 0; } - - // The event for gesture end should be strictly after the - // last hover exit event for the gesture. - if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT - && mTouchExplorationGestureEnded) { - mTouchExplorationGestureEnded = false; - AccessibilityEvent gestureEndEvent = AccessibilityEvent.obtain( - AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END); - sendAccessibilityEvent(gestureEndEvent); - } - return (OWN_PROCESS_ID != Binder.getCallingPid()); } @@ -628,14 +600,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { return mQueryBridge; } - public void touchExplorationGestureEnded() { - mTouchExplorationGestureEnded = true; - } - - public void touchExplorationGestureStarted() { - mTouchExplorationGestureStarted = true; - } - private boolean notifyGestureLocked(int gestureId, boolean isDefault) { // TODO: Now we are giving the gestures to the last enabled // service that can handle them which is the last one diff --git a/services/java/com/android/server/accessibility/TouchExplorer.java b/services/java/com/android/server/accessibility/TouchExplorer.java index 9e4f33e..cb6b31a 100644 --- a/services/java/com/android/server/accessibility/TouchExplorer.java +++ b/services/java/com/android/server/accessibility/TouchExplorer.java @@ -25,6 +25,7 @@ import android.gesture.GestureStore; import android.gesture.GestureStroke; import android.gesture.Prediction; import android.graphics.Rect; +import android.os.Build; import android.os.Handler; import android.os.SystemClock; import android.util.Slog; @@ -35,6 +36,7 @@ import android.view.VelocityTracker; import android.view.ViewConfiguration; import android.view.WindowManagerPolicy; import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityManager; import com.android.internal.R; @@ -168,6 +170,9 @@ class TouchExplorer implements EventStreamTransformation { // Temporary rectangle to avoid instantiation. private final Rect mTempRect = new Rect(); + // Context in which this explorer operates. + private final Context mContext; + // The X of the previous event. private float mPreviousX; @@ -198,6 +203,12 @@ class TouchExplorer implements EventStreamTransformation { // The id of the last touch explored window. private int mLastTouchedWindowId; + // Whether touch exploration gesture has ended. + private boolean mTouchExplorationGestureEnded; + + // Whether touch interaction has ended. + private boolean mTouchInteractionEnded; + /** * Creates a new instance. * @@ -205,11 +216,12 @@ class TouchExplorer implements EventStreamTransformation { * @param context A context handle for accessing resources. */ public TouchExplorer(Context context, AccessibilityManagerService service) { + mContext = context; mAms = service; mReceivedPointerTracker = new ReceivedPointerTracker(context); mInjectedPointerTracker = new InjectedPointerTracker(); mTapTimeout = ViewConfiguration.getTapTimeout(); - mDetermineUserIntentTimeout = (int) (mTapTimeout * 1.5f); + mDetermineUserIntentTimeout = ViewConfiguration.getDoubleTapTimeout(); mDoubleTapTimeout = ViewConfiguration.getDoubleTapTimeout(); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mDoubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop(); @@ -317,9 +329,26 @@ class TouchExplorer implements EventStreamTransformation { } public void onAccessibilityEvent(AccessibilityEvent event) { + final int eventType = event.getEventType(); + + // The event for gesture end should be strictly after the + // last hover exit event. + if (mTouchExplorationGestureEnded + && eventType == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) { + mTouchExplorationGestureEnded = false; + sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END); + } + + // The event for touch interaction end should be strictly after the + // last hover exit and the touch exploration gesture end events. + if (mTouchInteractionEnded + && eventType == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) { + mTouchInteractionEnded = false; + sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); + } + // If a new window opens or the accessibility focus moves we no longer // want to click/long press on the last touch explored location. - final int eventType = event.getEventType(); switch (eventType) { case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: case AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED: { @@ -358,6 +387,15 @@ class TouchExplorer implements EventStreamTransformation { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: + // The delayed enter not delivered implies that we have delivered + // TYPE_TOUCH_INTERACTION_START and not TYPE_TOUCH_INTERACTION_END, + // therefore we need to deliver the interaction end event here. + if (mSendHoverEnterDelayed.isPending()) { + sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); + } + // Announce the start of a new touch interaction. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_TOUCH_INTERACTION_START); // Pre-feed the motion events to the gesture detector since we // have a distance slop before getting into gesture detection // mode and not using the points within this slop significantly @@ -396,7 +434,7 @@ class TouchExplorer implements EventStreamTransformation { // to detect what the user is trying to do. final int pointerId = receivedTracker.getPrimaryActivePointerId(); final int pointerIdBits = (1 << pointerId); - mSendHoverEnterDelayed.post(event, pointerIdBits, policyFlags); + mSendHoverEnterDelayed.post(event, true, pointerIdBits, policyFlags); } break; default: { /* do nothing - let the code for ACTION_MOVE decide what to do */ @@ -443,6 +481,10 @@ class TouchExplorer implements EventStreamTransformation { mSendHoverExitDelayed.remove(); mPerformLongPressDelayed.remove(); mExitGestureDetectionModeDelayed.post(); + // Send accessibility event to announce the start + // of gesture recognition. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_GESTURE_DETECTION_START); } else { // We have just decided that the user is touch, // exploring so start sending events. @@ -551,7 +593,8 @@ class TouchExplorer implements EventStreamTransformation { // If we have not delivered the enter schedule exit. if (mSendHoverEnterDelayed.isPending()) { - mSendHoverExitDelayed.post(event, pointerIdBits, policyFlags); + mSendHoverEnterDelayed.mTouchExplorationInProgress = false; + mSendHoverExitDelayed.post(event, false, pointerIdBits, policyFlags); } else { // The user is touch exploring so we send events for end. sendExitEventsIfNeeded(policyFlags); @@ -656,6 +699,9 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: { + // Announce the end of a new touch interaction. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); mCurrentState = STATE_TOUCH_EXPLORING; } break; case MotionEvent.ACTION_CANCEL: { @@ -687,6 +733,10 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: + // Announce the end of a new touch interaction. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); + //$FALL-THROUGH$ case MotionEvent.ACTION_POINTER_UP: { mLongPressingPointerId = -1; mLongPressingPointerDeltaX = 0; @@ -725,6 +775,13 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: { + // Announce the end of gesture recognition. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_GESTURE_DETECTION_END); + // Announce the end of a new touch interaction. + sendAccessibilityEvent( + AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); + float x = event.getX(); float y = event.getY(); mStrokeBuffer.add(new GesturePoint(x, y, event.getEventTime())); @@ -760,6 +817,19 @@ class TouchExplorer implements EventStreamTransformation { } /** + * Sends an accessibility event of the given type. + * + * @param type The event type. + */ + private void sendAccessibilityEvent(int type) { + AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(mContext); + if (accessibilityManager.isEnabled()) { + AccessibilityEvent event = AccessibilityEvent.obtain(type); + accessibilityManager.sendAccessibilityEvent(event); + } + } + + /** * Sends down events to the view hierarchy for all active pointers which are * not already being delivered i.e. pointers that are not yet injected. * @@ -807,7 +877,8 @@ class TouchExplorer implements EventStreamTransformation { MotionEvent event = mInjectedPointerTracker.getLastInjectedHoverEvent(); if (event != null && event.getActionMasked() != MotionEvent.ACTION_HOVER_EXIT) { final int pointerIdBits = event.getPointerIdBits(); - mAms.touchExplorationGestureEnded(); + mTouchExplorationGestureEnded = true; + mTouchInteractionEnded = true; sendMotionEvent(event, MotionEvent.ACTION_HOVER_EXIT, pointerIdBits, policyFlags); } } @@ -822,7 +893,6 @@ class TouchExplorer implements EventStreamTransformation { MotionEvent event = mInjectedPointerTracker.getLastInjectedHoverEvent(); if (event != null && event.getActionMasked() == MotionEvent.ACTION_HOVER_EXIT) { final int pointerIdBits = event.getPointerIdBits(); - mAms.touchExplorationGestureStarted(); sendMotionEvent(event, MotionEvent.ACTION_HOVER_ENTER, pointerIdBits, policyFlags); } } @@ -1080,16 +1150,24 @@ class TouchExplorer implements EventStreamTransformation { return; } + if (Build.IS_DEBUGGABLE) { + if (mSendHoverEnterDelayed.isPending()) { + throw new IllegalStateException("mSendHoverEnterDelayed must not be pending."); + } + if (mSendHoverExitDelayed.isPending()) { + throw new IllegalStateException("mSendHoverExitDelayed must not be pending."); + } + if (!mPerformLongPressDelayed.isPending()) { + throw new IllegalStateException( + "mPerformLongPressDelayed must not be pending."); + } + } + // Remove pending event deliveries. - mSendHoverEnterDelayed.remove(); - mSendHoverExitDelayed.remove(); mPerformLongPressDelayed.remove(); - // This is a tap so do not send hover events since - // this events will result in firing the corresponding - // accessibility events confusing the user about what - // is actually clicked. - sendExitEventsIfNeeded(policyFlags); + // The touch interaction has ended since we will send a click. + sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); int clickLocationX; int clickLocationY; @@ -1257,13 +1335,13 @@ class TouchExplorer implements EventStreamTransformation { } public void remove() { - if (isPenidng()) { + if (isPending()) { mHandler.removeCallbacks(this); clear(); } } - private boolean isPenidng() { + public boolean isPending() { return (mEvent != null); } @@ -1326,7 +1404,7 @@ class TouchExplorer implements EventStreamTransformation { } private void clear() { - if (!isPenidng()) { + if (!isPending()) { return; } mEvent.recycle(); @@ -1347,15 +1425,18 @@ class TouchExplorer implements EventStreamTransformation { private MotionEvent mPrototype; private int mPointerIdBits; private int mPolicyFlags; + private boolean mTouchExplorationInProgress; public SendHoverDelayed(int hoverAction, boolean gestureStarted) { mHoverAction = hoverAction; mGestureStarted = gestureStarted; } - public void post(MotionEvent prototype, int pointerIdBits, int policyFlags) { + public void post(MotionEvent prototype, boolean touchExplorationInProgress, + int pointerIdBits, int policyFlags) { remove(); mPrototype = MotionEvent.obtain(prototype); + mTouchExplorationInProgress = touchExplorationInProgress; mPointerIdBits = pointerIdBits; mPolicyFlags = policyFlags; mHandler.postDelayed(this, mDetermineUserIntentTimeout); @@ -1392,6 +1473,7 @@ class TouchExplorer implements EventStreamTransformation { mPrototype = null; mPointerIdBits = -1; mPolicyFlags = 0; + mTouchExplorationInProgress = false; } public void forceSendAndRemove() { @@ -1408,10 +1490,17 @@ class TouchExplorer implements EventStreamTransformation { Slog.d(LOG_TAG_SEND_HOVER_DELAYED, mGestureStarted ? "touchExplorationGestureStarted" : "touchExplorationGestureEnded"); } - if (mGestureStarted) { - mAms.touchExplorationGestureStarted(); + if (mTouchExplorationInProgress) { + if (mGestureStarted) { + sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START); + } else { + mTouchExplorationGestureEnded = true; + mTouchInteractionEnded = true; + } } else { - mAms.touchExplorationGestureEnded(); + if (!mGestureStarted) { + mTouchInteractionEnded = true; + } } sendMotionEvent(mPrototype, mHoverAction, mPointerIdBits, mPolicyFlags); clear(); diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java index 46bddc4..43ddf8d 100644 --- a/services/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java @@ -24,6 +24,8 @@ import static android.Manifest.permission.READ_NETWORK_USAGE_HISTORY; import static android.Manifest.permission.READ_PHONE_STATE; import static android.content.Intent.ACTION_PACKAGE_ADDED; import static android.content.Intent.ACTION_UID_REMOVED; +import static android.content.Intent.ACTION_USER_ADDED; +import static android.content.Intent.ACTION_USER_REMOVED; import static android.content.Intent.EXTRA_UID; import static android.net.ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE; import static android.net.ConnectivityManager.TYPE_ETHERNET; @@ -179,7 +181,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private static final int VERSION_ADDED_INFERRED = 7; private static final int VERSION_SWITCH_APP_ID = 8; private static final int VERSION_ADDED_NETWORK_ID = 9; - private static final int VERSION_LATEST = VERSION_ADDED_NETWORK_ID; + private static final int VERSION_SWITCH_UID = 10; + private static final int VERSION_LATEST = VERSION_SWITCH_UID; // @VisibleForTesting public static final int TYPE_WARNING = 0x1; @@ -250,8 +253,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** Currently active network rules for ifaces. */ private HashMap<NetworkPolicy, String[]> mNetworkRules = Maps.newHashMap(); - /** Defined app policies. */ - private SparseIntArray mAppPolicy = new SparseIntArray(); + /** Defined UID policies. */ + private SparseIntArray mUidPolicy = new SparseIntArray(); /** Currently derived rules for each UID. */ private SparseIntArray mUidRules = new SparseIntArray(); @@ -357,12 +360,22 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final IntentFilter connFilter = new IntentFilter(CONNECTIVITY_ACTION_IMMEDIATE); mContext.registerReceiver(mConnReceiver, connFilter, CONNECTIVITY_INTERNAL, mHandler); - // listen for package/uid changes to update policy + // listen for package changes to update policy final IntentFilter packageFilter = new IntentFilter(); packageFilter.addAction(ACTION_PACKAGE_ADDED); - packageFilter.addAction(ACTION_UID_REMOVED); + packageFilter.addDataScheme("package"); mContext.registerReceiver(mPackageReceiver, packageFilter, null, mHandler); + // listen for UID changes to update policy + mContext.registerReceiver( + mUidRemovedReceiver, new IntentFilter(ACTION_UID_REMOVED), null, mHandler); + + // listen for user changes to update policy + final IntentFilter userFilter = new IntentFilter(); + userFilter.addAction(ACTION_USER_ADDED); + userFilter.addAction(ACTION_USER_REMOVED); + mContext.registerReceiver(mUserReceiver, userFilter, null, mHandler); + // listen for stats update events final IntentFilter statsFilter = new IntentFilter(ACTION_NETWORK_STATS_UPDATED); mContext.registerReceiver( @@ -421,33 +434,58 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private BroadcastReceiver mPackageReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - // on background handler thread, and PACKAGE_ADDED and UID_REMOVED - // are protected broadcasts. + // on background handler thread, and PACKAGE_ADDED is protected final String action = intent.getAction(); - final int uid = intent.getIntExtra(EXTRA_UID, 0); - final int appId = UserHandle.getAppId(uid); + final int uid = intent.getIntExtra(EXTRA_UID, -1); + if (uid == -1) return; + + if (ACTION_PACKAGE_ADDED.equals(action)) { + // update rules for UID, since it might be subject to + // global background data policy + if (LOGV) Slog.v(TAG, "ACTION_PACKAGE_ADDED for uid=" + uid); + synchronized (mRulesLock) { + updateRulesForUidLocked(uid); + } + } + } + }; + + private BroadcastReceiver mUidRemovedReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + // on background handler thread, and UID_REMOVED is protected + + final int uid = intent.getIntExtra(EXTRA_UID, -1); + if (uid == -1) return; + + // remove any policy and update rules to clean up + if (LOGV) Slog.v(TAG, "ACTION_UID_REMOVED for uid=" + uid); synchronized (mRulesLock) { - if (ACTION_PACKAGE_ADDED.equals(action)) { - // NOTE: PACKAGE_ADDED is currently only sent once, and is - // not broadcast when users are added. + mUidPolicy.delete(uid); + updateRulesForUidLocked(uid); + writePolicyLocked(); + } + } + }; - // update rules for UID, since it might be subject to - // global background data policy. - if (LOGV) Slog.v(TAG, "ACTION_PACKAGE_ADDED for uid=" + uid); - updateRulesForAppLocked(appId); + private BroadcastReceiver mUserReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + // on background handler thread, and USER_ADDED and USER_REMOVED + // broadcasts are protected - } else if (ACTION_UID_REMOVED.equals(action)) { - // NOTE: UID_REMOVED is currently only sent once, and is not - // broadcast when users are removed. + final String action = intent.getAction(); + final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1); + if (userId == -1) return; - // remove any policy and update rules to clean up. - if (LOGV) Slog.v(TAG, "ACTION_UID_REMOVED for uid=" + uid); + // Remove any policies for given user; both cleaning up after a + // USER_REMOVED, and one last sanity check during USER_ADDED + removePoliciesForUserLocked(userId); - mAppPolicy.delete(appId); - updateRulesForAppLocked(appId); - writePolicyLocked(); - } + // Update global restrict for new user + synchronized (mRulesLock) { + updateRulesForRestrictBackgroundLocked(); } } }; @@ -1107,7 +1145,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { // clear any existing policy and read from disk mNetworkPolicy.clear(); - mAppPolicy.clear(); + mUidPolicy.clear(); FileInputStream fis = null; try { @@ -1188,24 +1226,25 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { cycleTimezone, warningBytes, limitBytes, lastWarningSnooze, lastLimitSnooze, metered, inferred)); - } else if (TAG_UID_POLICY.equals(tag) && version < VERSION_SWITCH_APP_ID) { + } else if (TAG_UID_POLICY.equals(tag)) { final int uid = readIntAttribute(in, ATTR_UID); final int policy = readIntAttribute(in, ATTR_POLICY); - final int appId = UserHandle.getAppId(uid); - if (UserHandle.isApp(appId)) { - setAppPolicyUnchecked(appId, policy, false); + if (UserHandle.isApp(uid)) { + setUidPolicyUnchecked(uid, policy, false); } else { Slog.w(TAG, "unable to apply policy to UID " + uid + "; ignoring"); } - } else if (TAG_APP_POLICY.equals(tag) && version >= VERSION_SWITCH_APP_ID) { + } else if (TAG_APP_POLICY.equals(tag)) { final int appId = readIntAttribute(in, ATTR_APP_ID); final int policy = readIntAttribute(in, ATTR_POLICY); - if (UserHandle.isApp(appId)) { - setAppPolicyUnchecked(appId, policy, false); + // TODO: set for other users during upgrade + final int uid = UserHandle.getUid(UserHandle.USER_OWNER, appId); + if (UserHandle.isApp(uid)) { + setUidPolicyUnchecked(uid, policy, false); } else { - Slog.w(TAG, "unable to apply policy to appId " + appId + "; ignoring"); + Slog.w(TAG, "unable to apply policy to UID " + uid + "; ignoring"); } } } @@ -1280,17 +1319,17 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } // write all known uid policies - for (int i = 0; i < mAppPolicy.size(); i++) { - final int appId = mAppPolicy.keyAt(i); - final int policy = mAppPolicy.valueAt(i); + for (int i = 0; i < mUidPolicy.size(); i++) { + final int uid = mUidPolicy.keyAt(i); + final int policy = mUidPolicy.valueAt(i); // skip writing empty policies if (policy == POLICY_NONE) continue; - out.startTag(null, TAG_APP_POLICY); - writeIntAttribute(out, ATTR_APP_ID, appId); + out.startTag(null, TAG_UID_POLICY); + writeIntAttribute(out, ATTR_UID, uid); writeIntAttribute(out, ATTR_POLICY, policy); - out.endTag(null, TAG_APP_POLICY); + out.endTag(null, TAG_UID_POLICY); } out.endTag(null, TAG_POLICY_LIST); @@ -1305,24 +1344,24 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @Override - public void setAppPolicy(int appId, int policy) { + public void setUidPolicy(int uid, int policy) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); - if (!UserHandle.isApp(appId)) { - throw new IllegalArgumentException("cannot apply policy to appId " + appId); + if (!UserHandle.isApp(uid)) { + throw new IllegalArgumentException("cannot apply policy to UID " + uid); } - setAppPolicyUnchecked(appId, policy, true); + setUidPolicyUnchecked(uid, policy, true); } - private void setAppPolicyUnchecked(int appId, int policy, boolean persist) { + private void setUidPolicyUnchecked(int uid, int policy, boolean persist) { final int oldPolicy; synchronized (mRulesLock) { - oldPolicy = getAppPolicy(appId); - mAppPolicy.put(appId, policy); + oldPolicy = getUidPolicy(uid); + mUidPolicy.put(uid, policy); // uid policy changed, recompute rules and persist policy. - updateRulesForAppLocked(appId); + updateRulesForUidLocked(uid); if (persist) { writePolicyLocked(); } @@ -1330,29 +1369,53 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @Override - public int getAppPolicy(int appId) { + public int getUidPolicy(int uid) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); synchronized (mRulesLock) { - return mAppPolicy.get(appId, POLICY_NONE); + return mUidPolicy.get(uid, POLICY_NONE); } } @Override - public int[] getAppsWithPolicy(int policy) { + public int[] getUidsWithPolicy(int policy) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); - int[] appIds = new int[0]; + int[] uids = new int[0]; synchronized (mRulesLock) { - for (int i = 0; i < mAppPolicy.size(); i++) { - final int appId = mAppPolicy.keyAt(i); - final int appPolicy = mAppPolicy.valueAt(i); - if (appPolicy == policy) { - appIds = appendInt(appIds, appId); + for (int i = 0; i < mUidPolicy.size(); i++) { + final int uid = mUidPolicy.keyAt(i); + final int uidPolicy = mUidPolicy.valueAt(i); + if (uidPolicy == policy) { + uids = appendInt(uids, uid); } } } - return appIds; + return uids; + } + + /** + * Remove any policies associated with given {@link UserHandle}, persisting + * if any changes are made. + */ + private void removePoliciesForUserLocked(int userId) { + if (LOGV) Slog.v(TAG, "removePoliciesForUserLocked()"); + + int[] uids = new int[0]; + for (int i = 0; i < mUidPolicy.size(); i++) { + final int uid = mUidPolicy.keyAt(i); + if (UserHandle.getUserId(uid) == userId) { + uids = appendInt(uids, uid); + } + } + + if (uids.length > 0) { + for (int uid : uids) { + mUidPolicy.delete(uid); + updateRulesForUidLocked(uid); + } + writePolicyLocked(); + } } @Override @@ -1586,14 +1649,14 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } fout.decreaseIndent(); - fout.println("Policy for apps:"); + fout.println("Policy for UIDs:"); fout.increaseIndent(); - int size = mAppPolicy.size(); + int size = mUidPolicy.size(); for (int i = 0; i < size; i++) { - final int appId = mAppPolicy.keyAt(i); - final int policy = mAppPolicy.valueAt(i); - fout.print("appId="); - fout.print(appId); + final int uid = mUidPolicy.keyAt(i); + final int policy = mUidPolicy.valueAt(i); + fout.print("UID="); + fout.print(uid); fout.print(" policy="); dumpPolicy(fout, policy); fout.println(); @@ -1698,12 +1761,19 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * Update rules that might be changed by {@link #mRestrictBackground} value. */ private void updateRulesForRestrictBackgroundLocked() { - // update rules for all installed applications final PackageManager pm = mContext.getPackageManager(); - final List<ApplicationInfo> apps = pm.getInstalledApplications(0); - for (ApplicationInfo app : apps) { - final int appId = UserHandle.getAppId(app.uid); - updateRulesForAppLocked(appId); + final UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE); + + // update rules for all installed applications + final List<UserInfo> users = um.getUsers(); + final List<ApplicationInfo> apps = pm.getInstalledApplications( + PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS); + + for (UserInfo user : users) { + for (ApplicationInfo app : apps) { + final int uid = UserHandle.getUid(user.id, app.uid); + updateRulesForUidLocked(uid); + } } // limit data usage for some internal system services @@ -1711,14 +1781,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { updateRulesForUidLocked(android.os.Process.DRM_UID); } - private void updateRulesForAppLocked(int appId) { - UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE); - for (UserInfo user : um.getUsers()) { - final int uid = UserHandle.getUid(user.id, appId); - updateRulesForUidLocked(uid); - } - } - private static boolean isUidValidForRules(int uid) { // allow rules on specific system services, and any apps if (uid == android.os.Process.MEDIA_UID || uid == android.os.Process.DRM_UID @@ -1732,13 +1794,12 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private void updateRulesForUidLocked(int uid) { if (!isUidValidForRules(uid)) return; - final int appId = UserHandle.getAppId(uid); - final int appPolicy = getAppPolicy(appId); + final int uidPolicy = getUidPolicy(uid); final boolean uidForeground = isUidForeground(uid); // derive active rules based on policy and active state int uidRules = RULE_ALLOW_ALL; - if (!uidForeground && (appPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0) { + if (!uidForeground && (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0) { // uid in background, and policy says to block metered data uidRules = RULE_REJECT_METERED; } diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index f2d2fb7..3a593e4 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -38,23 +38,23 @@ import static android.net.NetworkTemplate.buildTemplateMobileWildcard; import static android.net.NetworkTemplate.buildTemplateWifiWildcard; import static android.net.TrafficStats.KB_IN_BYTES; import static android.net.TrafficStats.MB_IN_BYTES; -import static android.provider.Settings.Secure.NETSTATS_DEV_BUCKET_DURATION; -import static android.provider.Settings.Secure.NETSTATS_DEV_DELETE_AGE; -import static android.provider.Settings.Secure.NETSTATS_DEV_PERSIST_BYTES; -import static android.provider.Settings.Secure.NETSTATS_DEV_ROTATE_AGE; -import static android.provider.Settings.Secure.NETSTATS_GLOBAL_ALERT_BYTES; -import static android.provider.Settings.Secure.NETSTATS_POLL_INTERVAL; -import static android.provider.Settings.Secure.NETSTATS_REPORT_XT_OVER_DEV; -import static android.provider.Settings.Secure.NETSTATS_SAMPLE_ENABLED; -import static android.provider.Settings.Secure.NETSTATS_TIME_CACHE_MAX_AGE; -import static android.provider.Settings.Secure.NETSTATS_UID_BUCKET_DURATION; -import static android.provider.Settings.Secure.NETSTATS_UID_DELETE_AGE; -import static android.provider.Settings.Secure.NETSTATS_UID_PERSIST_BYTES; -import static android.provider.Settings.Secure.NETSTATS_UID_ROTATE_AGE; -import static android.provider.Settings.Secure.NETSTATS_UID_TAG_BUCKET_DURATION; -import static android.provider.Settings.Secure.NETSTATS_UID_TAG_DELETE_AGE; -import static android.provider.Settings.Secure.NETSTATS_UID_TAG_PERSIST_BYTES; -import static android.provider.Settings.Secure.NETSTATS_UID_TAG_ROTATE_AGE; +import static android.provider.Settings.Global.NETSTATS_DEV_BUCKET_DURATION; +import static android.provider.Settings.Global.NETSTATS_DEV_DELETE_AGE; +import static android.provider.Settings.Global.NETSTATS_DEV_PERSIST_BYTES; +import static android.provider.Settings.Global.NETSTATS_DEV_ROTATE_AGE; +import static android.provider.Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES; +import static android.provider.Settings.Global.NETSTATS_POLL_INTERVAL; +import static android.provider.Settings.Global.NETSTATS_REPORT_XT_OVER_DEV; +import static android.provider.Settings.Global.NETSTATS_SAMPLE_ENABLED; +import static android.provider.Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE; +import static android.provider.Settings.Global.NETSTATS_UID_BUCKET_DURATION; +import static android.provider.Settings.Global.NETSTATS_UID_DELETE_AGE; +import static android.provider.Settings.Global.NETSTATS_UID_PERSIST_BYTES; +import static android.provider.Settings.Global.NETSTATS_UID_ROTATE_AGE; +import static android.provider.Settings.Global.NETSTATS_UID_TAG_BUCKET_DURATION; +import static android.provider.Settings.Global.NETSTATS_UID_TAG_DELETE_AGE; +import static android.provider.Settings.Global.NETSTATS_UID_TAG_PERSIST_BYTES; +import static android.provider.Settings.Global.NETSTATS_UID_TAG_ROTATE_AGE; import static android.telephony.PhoneStateListener.LISTEN_DATA_CONNECTION_STATE; import static android.telephony.PhoneStateListener.LISTEN_NONE; import static android.text.format.DateUtils.DAY_IN_MILLIS; @@ -1218,39 +1218,39 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // TODO: adjust these timings for production builds } - private long getSecureLong(String name, long def) { - return Settings.Secure.getLong(mResolver, name, def); + private long getGlobalLong(String name, long def) { + return Settings.Global.getLong(mResolver, name, def); } - private boolean getSecureBoolean(String name, boolean def) { + private boolean getGlobalBoolean(String name, boolean def) { final int defInt = def ? 1 : 0; - return Settings.Secure.getInt(mResolver, name, defInt) != 0; + return Settings.Global.getInt(mResolver, name, defInt) != 0; } @Override public long getPollInterval() { - return getSecureLong(NETSTATS_POLL_INTERVAL, 30 * MINUTE_IN_MILLIS); + return getGlobalLong(NETSTATS_POLL_INTERVAL, 30 * MINUTE_IN_MILLIS); } @Override public long getTimeCacheMaxAge() { - return getSecureLong(NETSTATS_TIME_CACHE_MAX_AGE, DAY_IN_MILLIS); + return getGlobalLong(NETSTATS_TIME_CACHE_MAX_AGE, DAY_IN_MILLIS); } @Override public long getGlobalAlertBytes(long def) { - return getSecureLong(NETSTATS_GLOBAL_ALERT_BYTES, def); + return getGlobalLong(NETSTATS_GLOBAL_ALERT_BYTES, def); } @Override public boolean getSampleEnabled() { - return getSecureBoolean(NETSTATS_SAMPLE_ENABLED, true); + return getGlobalBoolean(NETSTATS_SAMPLE_ENABLED, true); } @Override public boolean getReportXtOverDev() { - return getSecureBoolean(NETSTATS_REPORT_XT_OVER_DEV, true); + return getGlobalBoolean(NETSTATS_REPORT_XT_OVER_DEV, true); } @Override public Config getDevConfig() { - return new Config(getSecureLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS), - getSecureLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS), - getSecureLong(NETSTATS_DEV_DELETE_AGE, 90 * DAY_IN_MILLIS)); + return new Config(getGlobalLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS), + getGlobalLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS), + getGlobalLong(NETSTATS_DEV_DELETE_AGE, 90 * DAY_IN_MILLIS)); } @Override public Config getXtConfig() { @@ -1258,19 +1258,19 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } @Override public Config getUidConfig() { - return new Config(getSecureLong(NETSTATS_UID_BUCKET_DURATION, 2 * HOUR_IN_MILLIS), - getSecureLong(NETSTATS_UID_ROTATE_AGE, 15 * DAY_IN_MILLIS), - getSecureLong(NETSTATS_UID_DELETE_AGE, 90 * DAY_IN_MILLIS)); + return new Config(getGlobalLong(NETSTATS_UID_BUCKET_DURATION, 2 * HOUR_IN_MILLIS), + getGlobalLong(NETSTATS_UID_ROTATE_AGE, 15 * DAY_IN_MILLIS), + getGlobalLong(NETSTATS_UID_DELETE_AGE, 90 * DAY_IN_MILLIS)); } @Override public Config getUidTagConfig() { - return new Config(getSecureLong(NETSTATS_UID_TAG_BUCKET_DURATION, 2 * HOUR_IN_MILLIS), - getSecureLong(NETSTATS_UID_TAG_ROTATE_AGE, 5 * DAY_IN_MILLIS), - getSecureLong(NETSTATS_UID_TAG_DELETE_AGE, 15 * DAY_IN_MILLIS)); + return new Config(getGlobalLong(NETSTATS_UID_TAG_BUCKET_DURATION, 2 * HOUR_IN_MILLIS), + getGlobalLong(NETSTATS_UID_TAG_ROTATE_AGE, 5 * DAY_IN_MILLIS), + getGlobalLong(NETSTATS_UID_TAG_DELETE_AGE, 15 * DAY_IN_MILLIS)); } @Override public long getDevPersistBytes(long def) { - return getSecureLong(NETSTATS_DEV_PERSIST_BYTES, def); + return getGlobalLong(NETSTATS_DEV_PERSIST_BYTES, def); } @Override public long getXtPersistBytes(long def) { @@ -1278,11 +1278,11 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } @Override public long getUidPersistBytes(long def) { - return getSecureLong(NETSTATS_UID_PERSIST_BYTES, def); + return getGlobalLong(NETSTATS_UID_PERSIST_BYTES, def); } @Override public long getUidTagPersistBytes(long def) { - return getSecureLong(NETSTATS_UID_TAG_PERSIST_BYTES, def); + return getGlobalLong(NETSTATS_UID_TAG_PERSIST_BYTES, def); } } } diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index fe5889d..2ef1f9e 100644 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -5664,6 +5664,8 @@ public class PackageManagerService extends IPackageManager.Stub { filteredFlags = flags & ~PackageManager.INSTALL_FROM_ADB; } + verificationParams.setInstallerUid(uid); + final Message msg = mHandler.obtainMessage(INIT_COPY); msg.obj = new InstallParams(packageURI, observer, filteredFlags, installerPackageName, verificationParams, encryptionParams, user); @@ -5902,9 +5904,12 @@ public class PackageManagerService extends IPackageManager.Stub { * @return true if verification should be performed */ private boolean isVerificationEnabled() { + if (!DEFAULT_VERIFY_ENABLE) { + return false; + } + return android.provider.Settings.Global.getInt(mContext.getContentResolver(), - android.provider.Settings.Global.PACKAGE_VERIFIER_ENABLE, - DEFAULT_VERIFY_ENABLE ? 1 : 0) == 1 ? true : false; + android.provider.Settings.Global.PACKAGE_VERIFIER_ENABLE, 1) == 1; } /** @@ -6334,7 +6339,8 @@ public class PackageManagerService extends IPackageManager.Stub { packageFile = mTempPackage; FileUtils.setPermissions(packageFile.getAbsolutePath(), - FileUtils.S_IRUSR | FileUtils.S_IWUSR | FileUtils.S_IROTH, + FileUtils.S_IRUSR | FileUtils.S_IWUSR | FileUtils.S_IRGRP + | FileUtils.S_IROTH, -1, -1); } else { packageFile = null; @@ -6424,6 +6430,12 @@ public class PackageManagerService extends IPackageManager.Stub { verification.putExtra(PackageManager.EXTRA_VERIFICATION_INSTALL_FLAGS, flags); + verification.putExtra(PackageManager.EXTRA_VERIFICATION_PACKAGE_NAME, + pkgLite.packageName); + + verification.putExtra(PackageManager.EXTRA_VERIFICATION_VERSION_CODE, + pkgLite.versionCode); + if (verificationParams != null) { if (verificationParams.getVerificationURI() != null) { verification.putExtra(PackageManager.EXTRA_VERIFICATION_URI, @@ -6437,6 +6449,10 @@ public class PackageManagerService extends IPackageManager.Stub { verification.putExtra(Intent.EXTRA_REFERRER, verificationParams.getReferrer()); } + if (verificationParams.getInstallerUid() >= 0) { + verification.putExtra(PackageManager.EXTRA_VERIFICATION_INSTALLER_UID, + verificationParams.getInstallerUid()); + } } final PackageVerificationState verificationState = new PackageVerificationState( @@ -6515,12 +6531,12 @@ public class PackageManagerService extends IPackageManager.Stub { // will succeed. if (mArgs != null) { processPendingInstall(mArgs, mRet); - } - if (mTempPackage != null) { - if (!mTempPackage.delete()) { - Slog.w(TAG, "Couldn't delete temporary file: " - + mTempPackage.getAbsolutePath()); + if (mTempPackage != null) { + if (!mTempPackage.delete()) { + Slog.w(TAG, "Couldn't delete temporary file: " + + mTempPackage.getAbsolutePath()); + } } } } @@ -7942,17 +7958,23 @@ public class PackageManagerService extends IPackageManager.Stub { } private void deleteTempPackageFiles() { - FilenameFilter filter = new FilenameFilter() { + final FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String name) { return name.startsWith("vmdl") && name.endsWith(".tmp"); } }; - String tmpFilesList[] = mAppInstallDir.list(filter); - if(tmpFilesList == null) { + deleteTempPackageFilesInDirectory(mAppInstallDir, filter); + deleteTempPackageFilesInDirectory(mDrmAppPrivateInstallDir, filter); + } + + private static final void deleteTempPackageFilesInDirectory(File directory, + FilenameFilter filter) { + final String[] tmpFilesList = directory.list(filter); + if (tmpFilesList == null) { return; } - for(int i = 0; i < tmpFilesList.length; i++) { - File tmpFile = new File(mAppInstallDir, tmpFilesList[i]); + for (int i = 0; i < tmpFilesList.length; i++) { + final File tmpFile = new File(directory, tmpFilesList[i]); tmpFile.delete(); } } diff --git a/services/java/com/android/server/wm/DisplayContent.java b/services/java/com/android/server/wm/DisplayContent.java index 4df692b..d1742ff 100644 --- a/services/java/com/android/server/wm/DisplayContent.java +++ b/services/java/com/android/server/wm/DisplayContent.java @@ -124,7 +124,9 @@ class DisplayContent { pw.print("-"); pw.print(mDisplayInfo.largestNominalAppWidth); pw.print("x"); pw.println(mDisplayInfo.largestNominalAppHeight); pw.print(" layoutNeeded="); pw.println(layoutNeeded); - pw.print("magnificationSpec="); pw.println(mMagnificationSpec); + if (mMagnificationSpec != null) { + pw.print(" mMagnificationSpec="); pw.println(mMagnificationSpec); + } pw.println(); } } diff --git a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java index a2104bb..167b6c2 100644 --- a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java @@ -54,7 +54,6 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; -import android.content.pm.UserInfo; import android.net.ConnectivityManager; import android.net.IConnectivityManager; import android.net.INetworkManagementEventObserver; @@ -87,9 +86,7 @@ import org.easymock.EasyMock; import org.easymock.IAnswer; import java.io.File; -import java.util.ArrayList; import java.util.LinkedHashSet; -import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -133,15 +130,12 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { private long mElapsedRealtime; private static final int USER_ID = 0; - private static final int USER_ID_GUEST = 1; private static final int APP_ID_A = android.os.Process.FIRST_APPLICATION_UID + 800; private static final int APP_ID_B = android.os.Process.FIRST_APPLICATION_UID + 801; private static final int UID_A = UserHandle.getUid(USER_ID, APP_ID_A); private static final int UID_B = UserHandle.getUid(USER_ID, APP_ID_B); - private static final int UID_A_GUEST = UserHandle.getUid(USER_ID_GUEST, APP_ID_A); - private static final int UID_B_GUEST = UserHandle.getUid(USER_ID_GUEST, APP_ID_B); private static final int PID_1 = 400; private static final int PID_2 = 401; @@ -258,13 +252,13 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { @Suppress public void testPolicyChangeTriggersBroadcast() throws Exception { - mService.setAppPolicy(APP_ID_A, POLICY_NONE); + mService.setUidPolicy(APP_ID_A, POLICY_NONE); // change background policy and expect broadcast final Future<Intent> backgroundChanged = mServiceContext.nextBroadcastIntent( ConnectivityManager.ACTION_BACKGROUND_DATA_SETTING_CHANGED); - mService.setAppPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); + mService.setUidPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); backgroundChanged.get(); } @@ -318,7 +312,6 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { public void testScreenChangesRules() throws Exception { Future<Void> future; - Future<Void> futureGuest; expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, true); @@ -331,14 +324,10 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { // push strict policy for foreground uid, verify ALLOW rule expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, true); - expectSetUidNetworkRules(UID_A_GUEST, true); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_ALLOW_ALL); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_REJECT_METERED); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); + mService.setUidPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); future.get(); - futureGuest.get(); verifyAndReset(); // now turn screen off and verify REJECT rule @@ -364,7 +353,6 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { public void testPolicyNone() throws Exception { Future<Void> future; - Future<Void> futureGuest; expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, true); @@ -377,14 +365,10 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { // POLICY_NONE should RULE_ALLOW in foreground expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, true); - expectSetUidNetworkRules(UID_A_GUEST, false); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_ALLOW_ALL); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_ALLOW_ALL); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_NONE); + mService.setUidPolicy(APP_ID_A, POLICY_NONE); future.get(); - futureGuest.get(); verifyAndReset(); // POLICY_NONE should RULE_ALLOW in background @@ -399,19 +383,14 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { public void testPolicyReject() throws Exception { Future<Void> future; - Future<Void> futureGuest; // POLICY_REJECT should RULE_ALLOW in background expectSetUidNetworkRules(UID_A, true); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, true); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_REJECT_METERED); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_REJECT_METERED); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); + mService.setUidPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); future.get(); - futureGuest.get(); verifyAndReset(); // POLICY_REJECT should RULE_ALLOW in foreground @@ -435,46 +414,33 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { public void testPolicyRejectAddRemove() throws Exception { Future<Void> future; - Future<Void> futureGuest; // POLICY_NONE should have RULE_ALLOW in background expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, false); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_ALLOW_ALL); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_ALLOW_ALL); replay(); mProcessObserver.onForegroundActivitiesChanged(PID_1, UID_A, false); - mService.setAppPolicy(APP_ID_A, POLICY_NONE); + mService.setUidPolicy(APP_ID_A, POLICY_NONE); future.get(); - futureGuest.get(); verifyAndReset(); // adding POLICY_REJECT should cause RULE_REJECT expectSetUidNetworkRules(UID_A, true); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, true); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_REJECT_METERED); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_REJECT_METERED); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); + mService.setUidPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); future.get(); - futureGuest.get(); verifyAndReset(); // removing POLICY_REJECT should return us to RULE_ALLOW expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, false); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_ALLOW_ALL); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_ALLOW_ALL); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_NONE); + mService.setUidPolicy(APP_ID_A, POLICY_NONE); future.get(); - futureGuest.get(); verifyAndReset(); } @@ -645,34 +611,25 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { public void testUidRemovedPolicyCleared() throws Exception { Future<Void> future; - Future<Void> futureGuest; // POLICY_REJECT should RULE_REJECT in background expectSetUidNetworkRules(UID_A, true); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, true); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_REJECT_METERED); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_REJECT_METERED); replay(); - mService.setAppPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); + mService.setUidPolicy(APP_ID_A, POLICY_REJECT_METERED_BACKGROUND); future.get(); - futureGuest.get(); verifyAndReset(); // uninstall should clear RULE_REJECT expectSetUidNetworkRules(UID_A, false); expectSetUidForeground(UID_A, false); - expectSetUidNetworkRules(UID_A_GUEST, false); - expectSetUidForeground(UID_A_GUEST, false); future = expectRulesChanged(UID_A, RULE_ALLOW_ALL); - futureGuest = expectRulesChanged(UID_A_GUEST, RULE_ALLOW_ALL); replay(); final Intent intent = new Intent(ACTION_UID_REMOVED); intent.putExtra(EXTRA_UID, UID_A); mServiceContext.sendBroadcast(intent); future.get(); - futureGuest.get(); verifyAndReset(); } @@ -880,8 +837,8 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase { private Future<Void> expectClearNotifications() throws Exception { final FutureAnswer future = new FutureAnswer(); - mNotifManager.cancelNotificationWithTag(isA(String.class), isA(String.class), anyInt(), - UserHandle.myUserId()); + mNotifManager.cancelNotificationWithTag( + isA(String.class), isA(String.class), anyInt(), anyInt()); expectLastCall().andAnswer(future).anyTimes(); return future; } diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java index 805faa6..4c5fc5d 100644 --- a/wifi/java/android/net/wifi/WifiNative.java +++ b/wifi/java/android/net/wifi/WifiNative.java @@ -49,6 +49,7 @@ public class WifiNative { static final int BLUETOOTH_COEXISTENCE_MODE_SENSE = 2; String mInterface = ""; + private boolean mSuspendOptEnabled = false; public native static boolean loadDriver(); @@ -349,6 +350,8 @@ public class WifiNative { } public boolean setSuspendOptimizations(boolean enabled) { + if (mSuspendOptEnabled == enabled) return true; + mSuspendOptEnabled = enabled; if (enabled) { return doBooleanCommand("DRIVER SETSUSPENDMODE 1"); } else { diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 4cbb824..c6bb069 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -141,8 +141,6 @@ public class WifiStateMachine extends StateMachine { private boolean mBluetoothConnectionActive = false; - private BroadcastReceiver mScreenReceiver; - private IntentFilter mScreenFilter; private PowerManager.WakeLock mSuspendWakeLock; /** @@ -398,14 +396,14 @@ public class WifiStateMachine extends StateMachine { * Default framework scan interval in milliseconds. This is used in the scenario in which * wifi chipset does not support background scanning to set up a * periodic wake up scan so that the device can connect to a new access - * point on the move. {@link Settings.Secure#WIFI_FRAMEWORK_SCAN_INTERVAL_MS} can + * point on the move. {@link Settings.Global#WIFI_FRAMEWORK_SCAN_INTERVAL_MS} can * override this. */ private final int mDefaultFrameworkScanIntervalMs; /** * Supplicant scan interval in milliseconds. - * Comes from {@link Settings.Secure#WIFI_SUPPLICANT_SCAN_INTERVAL_MS} or + * Comes from {@link Settings.Global#WIFI_SUPPLICANT_SCAN_INTERVAL_MS} or * from the default config if the setting is not set */ private long mSupplicantScanIntervalMs; @@ -628,15 +626,16 @@ public class WifiStateMachine extends StateMachine { }, new IntentFilter(ACTION_START_SCAN)); - mScreenFilter = new IntentFilter(); - mScreenFilter.addAction(Intent.ACTION_SCREEN_ON); - mScreenFilter.addAction(Intent.ACTION_SCREEN_OFF); - mScreenReceiver = new BroadcastReceiver() { + IntentFilter screenFilter = new IntentFilter(); + screenFilter.addAction(Intent.ACTION_SCREEN_ON); + screenFilter.addAction(Intent.ACTION_SCREEN_OFF); + BroadcastReceiver screenReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_SCREEN_ON)) { + if (DBG) log("ACTION_SCREEN_ON"); enableRssiPolling(true); if (mBackgroundScanSupported) { enableBackgroundScanCommand(false); @@ -647,6 +646,7 @@ public class WifiStateMachine extends StateMachine { sendMessage(obtainMessage(CMD_SET_SUSPEND_OPT_ENABLED, 0, 0)); } } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { + if (DBG) log("ACTION_SCREEN_OFF"); enableRssiPolling(false); if (mBackgroundScanSupported) { enableBackgroundScanCommand(true); @@ -660,6 +660,7 @@ public class WifiStateMachine extends StateMachine { } } }; + mContext.registerReceiver(screenReceiver, screenFilter); mContext.registerReceiver( new BroadcastReceiver() { @@ -1335,12 +1336,10 @@ public class WifiStateMachine extends StateMachine { /* None of dhcp, screen or highperf need it disabled and user wants it enabled */ if (mSuspendOptNeedsDisabled == 0 && mUserWantsSuspendOpt.get()) { mWifiNative.setSuspendOptimizations(true); - if (DBG) log("Enabled, mSuspendOptNeedsDisabled " + mSuspendOptNeedsDisabled); } } else { mSuspendOptNeedsDisabled |= reason; mWifiNative.setSuspendOptimizations(false); - if (DBG) log("Disabled, mSuspendOptNeedsDisabled " + mSuspendOptNeedsDisabled); } } @@ -2403,8 +2402,8 @@ public class WifiStateMachine extends StateMachine { int defaultInterval = mContext.getResources().getInteger( com.android.internal.R.integer.config_wifi_supplicant_scan_interval); - mSupplicantScanIntervalMs = Settings.Secure.getLong(mContext.getContentResolver(), - Settings.Secure.WIFI_SUPPLICANT_SCAN_INTERVAL_MS, + mSupplicantScanIntervalMs = Settings.Global.getLong(mContext.getContentResolver(), + Settings.Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS, defaultInterval); mWifiNative.setScanInterval((int)mSupplicantScanIntervalMs / 1000); @@ -2723,8 +2722,6 @@ public class WifiStateMachine extends StateMachine { } if (mP2pSupported) mWifiP2pChannel.sendMessage(WifiStateMachine.CMD_ENABLE_P2P); - - mContext.registerReceiver(mScreenReceiver, mScreenFilter); } @Override public boolean processMessage(Message message) { @@ -2861,7 +2858,6 @@ public class WifiStateMachine extends StateMachine { mScanResults = new ArrayList<ScanResult>(); if (mP2pSupported) mWifiP2pChannel.sendMessage(WifiStateMachine.CMD_DISABLE_P2P); - mContext.unregisterReceiver(mScreenReceiver); } } @@ -3445,8 +3441,8 @@ public class WifiStateMachine extends StateMachine { if (DBG) log(getName() + "\n"); EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName()); - mFrameworkScanIntervalMs = Settings.Secure.getLong(mContext.getContentResolver(), - Settings.Secure.WIFI_FRAMEWORK_SCAN_INTERVAL_MS, + mFrameworkScanIntervalMs = Settings.Global.getLong(mContext.getContentResolver(), + Settings.Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS, mDefaultFrameworkScanIntervalMs); /* * We initiate background scanning if it is enabled, otherwise we diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java index 3575d97..edd1dac 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java @@ -135,7 +135,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub { private static final int DISCOVER_TIMEOUT_S = 120; /* Idle time after a peer is gone when the group is torn down */ - private static final int GROUP_IDLE_TIME_S = 2; + private static final int GROUP_IDLE_TIME_S = 5; /** * Delay between restarts upon failure to setup connection with supplicant |
