diff options
152 files changed, 2063 insertions, 1414 deletions
diff --git a/api/current.xml b/api/current.xml index c649e15..afe86fb 100644 --- a/api/current.xml +++ b/api/current.xml @@ -4838,6 +4838,17 @@ visibility="public" > </field> +<field name="homeLayout" + type="int" + transient="false" + volatile="false" + value="16843566" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="horizontalDivider" type="int" transient="false" @@ -6686,6 +6697,17 @@ visibility="public" > </field> +<field name="opacity" + type="int" + transient="false" + volatile="false" + value="16843567" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="order" type="int" transient="false" @@ -13393,6 +13415,17 @@ visibility="public" > </field> +<field name="up" + type="int" + transient="false" + volatile="false" + value="16908334" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="widget_frame" type="int" transient="false" @@ -14722,6 +14755,28 @@ visibility="public" > </field> +<field name="Theme_Holo_Wallpaper" + type="int" + transient="false" + volatile="false" + value="16973956" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="Theme_Holo_Wallpaper_NoTitleBar" + type="int" + transient="false" + volatile="false" + value="16973957" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="Theme_InputMethod" type="int" transient="false" @@ -20373,6 +20428,19 @@ <parameter name="view" type="android.view.View"> </parameter> </method> +<method name="setCustomView" + return="android.app.ActionBar.Tab" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="layoutResId" type="int"> +</parameter> +</method> <method name="setIcon" return="android.app.ActionBar.Tab" abstract="true" @@ -20386,6 +20454,19 @@ <parameter name="icon" type="android.graphics.drawable.Drawable"> </parameter> </method> +<method name="setIcon" + return="android.app.ActionBar.Tab" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="resId" type="int"> +</parameter> +</method> <method name="setTabListener" return="android.app.ActionBar.Tab" abstract="true" @@ -20425,6 +20506,19 @@ <parameter name="text" type="java.lang.CharSequence"> </parameter> </method> +<method name="setText" + return="android.app.ActionBar.Tab" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="resId" type="int"> +</parameter> +</method> <field name="INVALID_POSITION" type="int" transient="false" @@ -68672,6 +68766,29 @@ </parameter> <parameter name="selection" type="java.lang.String"> </parameter> +<parameter name="groupBy" type="java.lang.String"> +</parameter> +<parameter name="having" type="java.lang.String"> +</parameter> +<parameter name="sortOrder" type="java.lang.String"> +</parameter> +<parameter name="limit" type="java.lang.String"> +</parameter> +</method> +<method name="buildQuery" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="deprecated" + visibility="public" +> +<parameter name="projectionIn" type="java.lang.String[]"> +</parameter> +<parameter name="selection" type="java.lang.String"> +</parameter> <parameter name="selectionArgs" type="java.lang.String[]"> </parameter> <parameter name="groupBy" type="java.lang.String"> @@ -68749,6 +68866,33 @@ </parameter> <parameter name="selection" type="java.lang.String"> </parameter> +<parameter name="groupBy" type="java.lang.String"> +</parameter> +<parameter name="having" type="java.lang.String"> +</parameter> +</method> +<method name="buildUnionSubQuery" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="deprecated" + visibility="public" +> +<parameter name="typeDiscriminatorColumn" type="java.lang.String"> +</parameter> +<parameter name="unionColumns" type="java.lang.String[]"> +</parameter> +<parameter name="columnsPresentInTable" type="java.util.Set<java.lang.String>"> +</parameter> +<parameter name="computedColumnsOffset" type="int"> +</parameter> +<parameter name="typeDiscriminatorValue" type="java.lang.String"> +</parameter> +<parameter name="selection" type="java.lang.String"> +</parameter> <parameter name="selectionArgs" type="java.lang.String[]"> </parameter> <parameter name="groupBy" type="java.lang.String"> @@ -85929,6 +86073,19 @@ <parameter name="b" type="int"> </parameter> </method> +<method name="setOpacity" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="opacity" type="int"> +</parameter> +</method> <method name="unscheduleDrawable" return="void" abstract="false" @@ -101721,6 +101878,17 @@ visibility="public" > </field> +<field name="VOICE_COMMUNICATION" + type="int" + transient="false" + volatile="false" + value="7" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="VOICE_DOWNLINK" type="int" transient="false" @@ -144681,6 +144849,17 @@ visibility="public" > </method> +<method name="getIcon" + return="android.graphics.drawable.Drawable" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +</method> <method name="getIntent" return="android.content.Intent" abstract="false" @@ -145267,6 +145446,32 @@ <parameter name="fragment" type="java.lang.String"> </parameter> </method> +<method name="setIcon" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="icon" type="android.graphics.drawable.Drawable"> +</parameter> +</method> +<method name="setIcon" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="iconResId" type="int"> +</parameter> +</method> <method name="setIntent" return="void" abstract="false" @@ -239944,6 +240149,20 @@ <parameter name="interpolator" type="android.view.animation.Interpolator"> </parameter> </constructor> +<constructor name="Scroller" + type="android.widget.Scroller" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="context" type="android.content.Context"> +</parameter> +<parameter name="interpolator" type="android.view.animation.Interpolator"> +</parameter> +<parameter name="flywheel" type="boolean"> +</parameter> +</constructor> <method name="abortAnimation" return="void" abstract="false" diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java index 246d661..7a6ad0f 100644 --- a/core/java/android/app/ActionBar.java +++ b/core/java/android/app/ActionBar.java @@ -590,6 +590,14 @@ public abstract class ActionBar { public abstract Tab setIcon(Drawable icon); /** + * Set the icon displayed on this tab. + * + * @param resId Resource ID referring to the drawable to use as an icon + * @return The current instance for call chaining + */ + public abstract Tab setIcon(int resId); + + /** * Set the text displayed on this tab. Text may be truncated if there is not * room to display the entire string. * @@ -599,6 +607,15 @@ public abstract class ActionBar { public abstract Tab setText(CharSequence text); /** + * Set the text displayed on this tab. Text may be truncated if there is not + * room to display the entire string. + * + * @param resId A resource ID referring to the text that should be displayed + * @return The current instance for call chaining + */ + public abstract Tab setText(int resId); + + /** * Set a custom view to be used for this tab. This overrides values set by * {@link #setText(CharSequence)} and {@link #setIcon(Drawable)}. * @@ -608,6 +625,15 @@ public abstract class ActionBar { public abstract Tab setCustomView(View view); /** + * Set a custom view to be used for this tab. This overrides values set by + * {@link #setText(CharSequence)} and {@link #setIcon(Drawable)}. + * + * @param layoutResId A layout resource to inflate and use as a custom tab view + * @return The current instance for call chaining + */ + public abstract Tab setCustomView(int layoutResId); + + /** * Retrieve a previously set custom view for this tab. * * @return The custom view set by {@link #setCustomView(View)}. diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java index fc30da2..5a6c667 100644 --- a/core/java/android/database/sqlite/SQLiteCursor.java +++ b/core/java/android/database/sqlite/SQLiteCursor.java @@ -125,11 +125,11 @@ public class SQLiteCursor extends AbstractWindowedCursor { // the cursor's state doesn't change while (true) { mLock.lock(); - if (mCursorState != mThreadState) { - mLock.unlock(); - break; - } try { + if (mCursorState != mThreadState) { + break; + } + int count = getQuery().fillWindow(cw, mMaxRead, mCount); // return -1 means there is still more data to be retrieved from the resultset if (count != 0) { @@ -241,9 +241,8 @@ public class SQLiteCursor extends AbstractWindowedCursor { mColumnNameMap = null; mQuery = query; + query.mDatabase.lock(); try { - query.mDatabase.lock(); - // Setup the list of columns int columnCount = mQuery.columnCountLocked(); mColumns = new String[columnCount]; diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java index 610bf70..b6aca2b 100644 --- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java +++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java @@ -321,7 +321,7 @@ public class SQLiteQueryBuilder } String sql = buildQuery( - projectionIn, selection, selectionArgs, groupBy, having, + projectionIn, selection, groupBy, having, sortOrder, limit); if (Log.isLoggable(TAG, Log.DEBUG)) { @@ -345,10 +345,6 @@ public class SQLiteQueryBuilder * formatted as an SQL WHERE clause (excluding the WHERE * itself). Passing null will return all rows for the given * URL. - * @param selectionArgs You may include ?s in selection, which - * will be replaced by the values from selectionArgs, in order - * that they appear in the selection. The values will be bound - * as Strings. * @param groupBy A filter declaring how to group rows, formatted * as an SQL GROUP BY clause (excluding the GROUP BY itself). * Passing null will cause the rows to not be grouped. @@ -365,8 +361,8 @@ public class SQLiteQueryBuilder * @return the resulting SQL SELECT statement */ public String buildQuery( - String[] projectionIn, String selection, String[] selectionArgs, - String groupBy, String having, String sortOrder, String limit) { + String[] projectionIn, String selection, String groupBy, + String having, String sortOrder, String limit) { String[] projection = computeProjection(projectionIn); StringBuilder where = new StringBuilder(); @@ -394,6 +390,19 @@ public class SQLiteQueryBuilder } /** + * @deprecated This method's signature is misleading since no SQL parameter + * substitution is carried out. The selection arguments parameter does not get + * used at all. To avoid confusion, call + * {@link #buildQuery(String[], String, String, String, String, String)} instead. + */ + @Deprecated + public String buildQuery( + String[] projectionIn, String selection, String[] selectionArgs, + String groupBy, String having, String sortOrder, String limit) { + return buildQuery(projectionIn, selection, groupBy, having, sortOrder, limit); + } + + /** * Construct a SELECT statement suitable for use in a group of * SELECT statements that will be joined through UNION operators * in buildUnionQuery. @@ -422,10 +431,6 @@ public class SQLiteQueryBuilder * formatted as an SQL WHERE clause (excluding the WHERE * itself). Passing null will return all rows for the given * URL. - * @param selectionArgs You may include ?s in selection, which - * will be replaced by the values from selectionArgs, in order - * that they appear in the selection. The values will be bound - * as Strings. * @param groupBy A filter declaring how to group rows, formatted * as an SQL GROUP BY clause (excluding the GROUP BY itself). * Passing null will cause the rows to not be grouped. @@ -443,7 +448,6 @@ public class SQLiteQueryBuilder int computedColumnsOffset, String typeDiscriminatorValue, String selection, - String[] selectionArgs, String groupBy, String having) { int unionColumnsCount = unionColumns.length; @@ -463,12 +467,36 @@ public class SQLiteQueryBuilder } } return buildQuery( - projectionIn, selection, selectionArgs, groupBy, having, + projectionIn, selection, groupBy, having, null /* sortOrder */, null /* limit */); } /** + * @deprecated This method's signature is misleading since no SQL parameter + * substitution is carried out. The selection arguments parameter does not get + * used at all. To avoid confusion, call + * {@link #buildUnionSubQuery} + * instead. + */ + @Deprecated + public String buildUnionSubQuery( + String typeDiscriminatorColumn, + String[] unionColumns, + Set<String> columnsPresentInTable, + int computedColumnsOffset, + String typeDiscriminatorValue, + String selection, + String[] selectionArgs, + String groupBy, + String having) { + return buildUnionSubQuery( + typeDiscriminatorColumn, unionColumns, columnsPresentInTable, + computedColumnsOffset, typeDiscriminatorValue, selection, + groupBy, having); + } + + /** * Given a set of subqueries, all of which are SELECT statements, * construct a query that returns the union of what those * subqueries return. diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java index f8260ca..a402c91 100644 --- a/core/java/android/os/Binder.java +++ b/core/java/android/os/Binder.java @@ -324,6 +324,10 @@ public class Binder implements IBinder { } catch (RuntimeException e) { reply.writeException(e); res = true; + } catch (OutOfMemoryError e) { + RuntimeException re = new RuntimeException("Out of memory", e); + reply.writeException(re); + res = true; } reply.recycle(); data.recycle(); diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java index 1fa5af2..93542c6 100644 --- a/core/java/android/os/StrictMode.java +++ b/core/java/android/os/StrictMode.java @@ -706,8 +706,7 @@ public final class StrictMode { StrictMode.PENALTY_DROPBOX); sVmPolicyMask = StrictMode.DETECT_VM_CURSOR_LEAKS | StrictMode.DETECT_VM_CLOSABLE_LEAKS | - StrictMode.PENALTY_DROPBOX | - StrictMode.PENALTY_LOG; + StrictMode.PENALTY_DROPBOX; setCloseGuardEnabled(vmClosableObjectLeaksEnabled()); return true; } diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java index 12b9f0c..e869f3f 100644 --- a/core/java/android/preference/Preference.java +++ b/core/java/android/preference/Preference.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -31,6 +32,7 @@ import android.view.AbsSavedState; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -52,6 +54,7 @@ import java.util.Set; * {@link SharedPreferences}. It is up to the subclass to decide how to store * the value. * + * @attr ref android.R.styleable#Preference_icon * @attr ref android.R.styleable#Preference_key * @attr ref android.R.styleable#Preference_title * @attr ref android.R.styleable#Preference_summary @@ -87,6 +90,11 @@ public class Preference implements Comparable<Preference>, OnDependencyChangeLis private int mOrder = DEFAULT_ORDER; private CharSequence mTitle; private CharSequence mSummary; + /** + * mIconResId is overridden by mIcon, if mIcon is specified. + */ + private int mIconResId; + private Drawable mIcon; private String mKey; private Intent mIntent; private String mFragment; @@ -197,6 +205,10 @@ public class Preference implements Comparable<Preference>, OnDependencyChangeLis for (int i = a.getIndexCount(); i >= 0; i--) { int attr = a.getIndex(i); switch (attr) { + case com.android.internal.R.styleable.Preference_icon: + mIconResId = a.getResourceId(attr, 0); + break; + case com.android.internal.R.styleable.Preference_key: mKey = a.getString(attr); break; @@ -499,11 +511,20 @@ public class Preference implements Comparable<Preference>, OnDependencyChangeLis } } + ImageView imageView = (ImageView) view.findViewById(com.android.internal.R.id.icon); + if (imageView != null && (mIconResId != 0 || mIcon != null)) { + if (mIcon == null) { + mIcon = getContext().getResources().getDrawable(mIconResId); + } + if (mIcon != null) { + imageView.setImageDrawable(mIcon); + } + } if (mShouldDisableView) { setEnabledStateOnViews(view, isEnabled()); } } - + /** * Makes sure the view (and any children) get the enabled state changed. */ @@ -587,6 +608,42 @@ public class Preference implements Comparable<Preference>, OnDependencyChangeLis } /** + * Sets the icon for this Preference with a Drawable. + * This icon will be placed into the ID + * {@link android.R.id#icon} within the View created by + * {@link #onCreateView(ViewGroup)}. + * + * @param icon The optional icon for this Preference. + */ + public void setIcon(Drawable icon) { + if ((icon == null && mIcon != null) || (icon != null && mIcon != icon)) { + mIcon = icon; + notifyChanged(); + } + } + + /** + * Sets the icon for this Preference with a resource ID. + * + * @see #setIcon(Drawable) + * @param iconResId The icon as a resource ID. + */ + public void setIcon(int iconResId) { + mIconResId = iconResId; + setIcon(mContext.getResources().getDrawable(iconResId)); + } + + /** + * Returns the icon of this Preference. + * + * @return The icon. + * @see #setIcon(Drawable) + */ + public Drawable getIcon() { + return mIcon; + } + + /** * Returns the summary of this Preference. * * @return The summary. diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index f0aa878..2d2f205 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -6127,6 +6127,14 @@ public final class ContactsContract { public static final int STATUS_CHANGING_LOCALE = 3; /** + * The status that indicates that there are no accounts and no contacts + * on the device. + * + * @hide + */ + public static final int STATUS_NO_ACCOUNTS_NO_CONTACTS = 4; + + /** * Additional data associated with the status. * * @hide diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 092934b..f2988bc 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -3558,6 +3558,7 @@ public class WebView extends AbsoluteLayout if (inEditingMode()) { return mWebTextView.performLongClick(); } + if (mSelectingText) return false; // long click does nothing on selection /* if long click brings up a context menu, the super function * returns true and we're done. Otherwise, nothing happened when * the user clicked. */ @@ -3568,7 +3569,6 @@ public class WebView extends AbsoluteLayout * click action, look for a word under the click. If one is found, * animate the text selection into view. * FIXME: no animation code yet */ - if (mSelectingText) return false; // long click does nothing on selection int x = viewToContentX((int) mLastTouchX + mScrollX); int y = viewToContentY((int) mLastTouchY + mScrollY); setUpSelect(); diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 466e541..d388985 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -2543,6 +2543,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mMotionCorrection = 0; motionPosition = findMotionRow(y); reportScrollStateChange(OnScrollListener.SCROLL_STATE_TOUCH_SCROLL); + mFlingRunnable.flywheelTouch(); } } } @@ -2715,6 +2716,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } else { mTouchMode = TOUCH_MODE_REST; reportScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE); + if (mFlingRunnable != null) { + mFlingRunnable.endFling(); + } } } } else { @@ -2758,7 +2762,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te case MotionEvent.ACTION_CANCEL: { mTouchMode = TOUCH_MODE_REST; setPressed(false); - View motionView = this.getChildAt(mMotionPosition - mFirstPosition); + View motionView = getChildAt(mMotionPosition - mFirstPosition); if (motionView != null) { motionView.setPressed(false); } @@ -2946,6 +2950,30 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te */ private int mLastFlingY; + private final Runnable mCheckFlywheel = new Runnable() { + public void run() { + final int activeId = mActivePointerId; + final VelocityTracker vt = mVelocityTracker; + final Scroller scroller = mScroller; + if (vt == null || activeId == INVALID_POINTER) { + return; + } + + vt.computeCurrentVelocity(1000, mMaximumVelocity); + final float yvel = -vt.getYVelocity(activeId); + + if (scroller.isScrollingInDirection(0, yvel)) { + // Keep the fling alive a little longer + postDelayed(this, FLYWHEEL_TIMEOUT); + } else { + endFling(); + mTouchMode = TOUCH_MODE_SCROLL; + } + } + }; + + private static final int FLYWHEEL_TIMEOUT = 40; // milliseconds + FlingRunnable() { mScroller = new Scroller(getContext()); } @@ -2978,73 +3006,85 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te post(this); } - private void endFling() { + void endFling() { mTouchMode = TOUCH_MODE_REST; removeCallbacks(this); + removeCallbacks(mCheckFlywheel); if (mPositionScroller != null) { removeCallbacks(mPositionScroller); } reportScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE); clearScrollingCache(); + mScroller.abortAnimation(); + } + + void flywheelTouch() { + postDelayed(mCheckFlywheel, FLYWHEEL_TIMEOUT); } public void run() { switch (mTouchMode) { default: + endFling(); return; - case TOUCH_MODE_FLING: { + case TOUCH_MODE_SCROLL: + if (mScroller.isFinished()) { + return; + } + // Fall through + case TOUCH_MODE_FLING: if (mItemCount == 0 || getChildCount() == 0) { endFling(); return; } + break; + } + final Scroller scroller = mScroller; + boolean more = scroller.computeScrollOffset(); + final int y = scroller.getCurrY(); - final Scroller scroller = mScroller; - boolean more = scroller.computeScrollOffset(); - final int y = scroller.getCurrY(); - - // Flip sign to convert finger direction to list items direction - // (e.g. finger moving down means list is moving towards the top) - int delta = mLastFlingY - y; - - // Pretend that each frame of a fling scroll is a touch scroll - if (delta > 0) { - // List is moving towards the top. Use first view as mMotionPosition - mMotionPosition = mFirstPosition; - final View firstView = getChildAt(0); - mMotionViewOriginalTop = firstView.getTop(); - - // Don't fling more than 1 screen - delta = Math.min(getHeight() - mPaddingBottom - mPaddingTop - 1, delta); - } else { - // List is moving towards the bottom. Use last view as mMotionPosition - int offsetToLast = getChildCount() - 1; - mMotionPosition = mFirstPosition + offsetToLast; + // Flip sign to convert finger direction to list items direction + // (e.g. finger moving down means list is moving towards the top) + int delta = mLastFlingY - y; - final View lastView = getChildAt(offsetToLast); - mMotionViewOriginalTop = lastView.getTop(); + // Pretend that each frame of a fling scroll is a touch scroll + if (delta > 0) { + // List is moving towards the top. Use first view as mMotionPosition + mMotionPosition = mFirstPosition; + final View firstView = getChildAt(0); + mMotionViewOriginalTop = firstView.getTop(); - // Don't fling more than 1 screen - delta = Math.max(-(getHeight() - mPaddingBottom - mPaddingTop - 1), delta); - } + // Don't fling more than 1 screen + delta = Math.min(getHeight() - mPaddingBottom - mPaddingTop - 1, delta); + } else { + // List is moving towards the bottom. Use last view as mMotionPosition + int offsetToLast = getChildCount() - 1; + mMotionPosition = mFirstPosition + offsetToLast; - // Don't stop just because delta is zero (it could have been rounded) - final boolean atEnd = trackMotionScroll(delta, delta) && (delta != 0); + final View lastView = getChildAt(offsetToLast); + mMotionViewOriginalTop = lastView.getTop(); - if (more && !atEnd) { - invalidate(); - mLastFlingY = y; - post(this); - } else { - endFling(); - - if (PROFILE_FLINGING) { - if (mFlingProfilingStarted) { - Debug.stopMethodTracing(); - mFlingProfilingStarted = false; - } + // Don't fling more than 1 screen + delta = Math.max(-(getHeight() - mPaddingBottom - mPaddingTop - 1), delta); + } + + // Don't stop just because delta is zero (it could have been rounded) + final boolean atEnd = trackMotionScroll(delta, delta) && (delta != 0); + + if (more && !atEnd) { + invalidate(); + mLastFlingY = y; + post(this); + } else { + endFling(); + + if (PROFILE_FLINGING) { + if (mFlingProfilingStarted) { + Debug.stopMethodTracing(); + mFlingProfilingStarted = false; } if (mFlingStrictSpan != null) { @@ -3052,10 +3092,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mFlingStrictSpan = null; } } - break; - } } - } } @@ -3609,7 +3646,10 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te int count = 0; if (down) { - final int top = listPadding.top - incrementalDeltaY; + int top = -incrementalDeltaY; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + top += listPadding.top; + } for (int i = 0; i < childCount; i++) { final View child = getChildAt(i); if (child.getBottom() >= top) { @@ -3629,7 +3669,10 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } } } else { - final int bottom = getHeight() - listPadding.bottom - incrementalDeltaY; + int bottom = getHeight() - incrementalDeltaY; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + bottom -= listPadding.bottom; + } for (int i = childCount - 1; i >= 0; i--) { final View child = getChildAt(i); if (child.getTop() <= bottom) { diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java index b963536..114ae81 100644 --- a/core/java/android/widget/GridView.java +++ b/core/java/android/widget/GridView.java @@ -196,8 +196,12 @@ public class GridView extends AbsListView { final int count = getChildCount(); if (down) { + int paddingTop = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + paddingTop = getListPaddingTop(); + } final int startOffset = count > 0 ? - getChildAt(count - 1).getBottom() + verticalSpacing : getListPaddingTop(); + getChildAt(count - 1).getBottom() + verticalSpacing : paddingTop; int position = mFirstPosition + count; if (mStackFromBottom) { position += numColumns - 1; @@ -205,8 +209,12 @@ public class GridView extends AbsListView { fillDown(position, startOffset); correctTooHigh(numColumns, verticalSpacing, getChildCount()); } else { + int paddingBottom = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + paddingBottom = getListPaddingBottom(); + } final int startOffset = count > 0 ? - getChildAt(0).getTop() - verticalSpacing : getHeight() - getListPaddingBottom(); + getChildAt(0).getTop() - verticalSpacing : getHeight() - paddingBottom; int position = mFirstPosition; if (!mStackFromBottom) { position -= numColumns; @@ -232,7 +240,10 @@ public class GridView extends AbsListView { private View fillDown(int pos, int nextTop) { View selectedView = null; - final int end = (mBottom - mTop) - mListPadding.bottom; + int end = (mBottom - mTop); + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + end -= mListPadding.bottom; + } while (nextTop < end && pos < mItemCount) { View temp = makeRow(pos, nextTop, true); @@ -316,7 +327,10 @@ public class GridView extends AbsListView { private View fillUp(int pos, int nextBottom) { View selectedView = null; - final int end = mListPadding.top; + int end = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + end = mListPadding.top; + } while (nextBottom > end && pos >= 0) { diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index e0119e9..502cc38 100644 --- a/core/java/android/widget/ListView.java +++ b/core/java/android/widget/ListView.java @@ -595,13 +595,21 @@ public class ListView extends AbsListView { void fillGap(boolean down) { final int count = getChildCount(); if (down) { + int paddingTop = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + paddingTop = getListPaddingTop(); + } final int startOffset = count > 0 ? getChildAt(count - 1).getBottom() + mDividerHeight : - getListPaddingTop(); + paddingTop; fillDown(mFirstPosition + count, startOffset); correctTooHigh(getChildCount()); } else { + int paddingBottom = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + paddingBottom = getListPaddingBottom(); + } final int startOffset = count > 0 ? getChildAt(0).getTop() - mDividerHeight : - getHeight() - getListPaddingBottom(); + getHeight() - paddingBottom; fillUp(mFirstPosition - 1, startOffset); correctTooLow(getChildCount()); } @@ -621,7 +629,10 @@ public class ListView extends AbsListView { private View fillDown(int pos, int nextTop) { View selectedView = null; - int end = (mBottom - mTop) - mListPadding.bottom; + int end = (mBottom - mTop); + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + end -= mListPadding.bottom; + } while (nextTop < end && pos < mItemCount) { // is this the selected item? @@ -651,7 +662,10 @@ public class ListView extends AbsListView { private View fillUp(int pos, int nextBottom) { View selectedView = null; - int end = mListPadding.top; + int end = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + end = mListPadding.top; + } while (nextBottom > end && pos >= 0) { // is this the selected item? diff --git a/core/java/android/widget/Scroller.java b/core/java/android/widget/Scroller.java index 79ab448..b1f50ba 100644 --- a/core/java/android/widget/Scroller.java +++ b/core/java/android/widget/Scroller.java @@ -18,6 +18,8 @@ package android.widget; import android.content.Context; import android.hardware.SensorManager; +import android.os.Build; +import android.util.FloatMath; import android.view.ViewConfiguration; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; @@ -54,6 +56,7 @@ public class Scroller { private float mViscousFluidNormalize; private boolean mFinished; private Interpolator mInterpolator; + private boolean mFlywheel; private float mCoeffX = 0.0f; private float mCoeffY = 1.0f; @@ -63,9 +66,36 @@ public class Scroller { private static final int SCROLL_MODE = 0; private static final int FLING_MODE = 1; + private static float DECELERATION_RATE = (float) (Math.log(0.75) / Math.log(0.9)); + private static float ALPHA = 800; // pixels / seconds + private static float START_TENSION = 0.4f; // Tension at start: (0.4 * total T, 1.0 * Distance) + private static float END_TENSION = 1.0f - START_TENSION; + private static final int NB_SAMPLES = 100; + private static final float[] SPLINE = new float[NB_SAMPLES + 1]; + private float mDeceleration; private final float mPpi; + static { + float x_min = 0.0f; + for (int i = 0; i <= NB_SAMPLES; i++) { + final float t = (float) i / NB_SAMPLES; + float x_max = 1.0f; + float x, tx, coef; + while (true) { + x = x_min + (x_max - x_min) / 2.0f; + coef = 3.0f * x * (1.0f - x); + tx = coef * ((1.0f - x) * START_TENSION + x * END_TENSION) + x * x * x; + if (Math.abs(tx - t) < 1E-5) break; + if (tx > t) x_max = x; + else x_min = x; + } + final float d = coef + x * x * x; + SPLINE[i] = d; + } + SPLINE[NB_SAMPLES] = 1.0f; + } + /** * Create a Scroller with the default duration and interpolator. */ @@ -73,22 +103,28 @@ public class Scroller { this(context, null); } + public Scroller(Context context, Interpolator interpolator) { + this(context, interpolator, + context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB); + } + /** * Create a Scroller with the specified interpolator. If the interpolator is * null, the default (viscous) interpolator will be used. */ - public Scroller(Context context, Interpolator interpolator) { + public Scroller(Context context, Interpolator interpolator, boolean flywheel) { mFinished = true; mInterpolator = interpolator; mPpi = context.getResources().getDisplayMetrics().density * 160.0f; mDeceleration = computeDeceleration(ViewConfiguration.getScrollFriction()); + mFlywheel = flywheel; } /** * The amount of friction applied to flings. The default value * is {@link ViewConfiguration#getScrollFriction}. * - * @return A scalar dimensionless value representing the coefficient of + * @param friction A scalar dimension-less value representing the coefficient of * friction. */ public final void setFriction(float friction) { @@ -210,7 +246,7 @@ public class Scroller { if (timePassed < mDuration) { switch (mMode) { case SCROLL_MODE: - float x = (float)timePassed * mDurationReciprocal; + float x = timePassed * mDurationReciprocal; if (mInterpolator == null) x = viscousFluid(x); @@ -221,16 +257,20 @@ public class Scroller { mCurrY = mStartY + Math.round(x * mDeltaY); break; case FLING_MODE: - float timePassedSeconds = timePassed / 1000.0f; - float distance = (mVelocity * timePassedSeconds) - - (mDeceleration * timePassedSeconds * timePassedSeconds / 2.0f); + final float t = (float) timePassed / mDuration; + final int index = (int) (NB_SAMPLES * t); + final float t_inf = (float) index / NB_SAMPLES; + final float t_sup = (float) (index + 1) / NB_SAMPLES; + final float d_inf = SPLINE[index]; + final float d_sup = SPLINE[index + 1]; + final float distanceCoef = d_inf + (t - t_inf) / (t_sup - t_inf) * (d_sup - d_inf); - mCurrX = mStartX + Math.round(distance * mCoeffX); + mCurrX = mStartX + Math.round(distanceCoef * (mFinalX - mStartX)); // Pin to mMinX <= mCurrX <= mMaxX mCurrX = Math.min(mCurrX, mMaxX); mCurrX = Math.max(mCurrX, mMinX); - mCurrY = mStartY + Math.round(distance * mCoeffY); + mCurrY = mStartY + Math.round(distanceCoef * (mFinalY - mStartY)); // Pin to mMinY <= mCurrY <= mMaxY mCurrY = Math.min(mCurrY, mMaxY); mCurrY = Math.max(mCurrY, mMinY); @@ -292,7 +332,7 @@ public class Scroller { mFinalY = startY + dy; mDeltaX = dx; mDeltaY = dy; - mDurationReciprocal = 1.0f / (float) mDuration; + mDurationReciprocal = 1.0f / mDuration; // This controls the viscous fluid effect (how much of it) mViscousFluidScale = 8.0f; // must be set to 1.0 (used in viscousFluid()) @@ -321,14 +361,34 @@ public class Scroller { */ public void fling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY) { + // Continue a scroll or fling in progress + if (mFlywheel && !mFinished) { + float oldVel = getCurrVelocity(); + + float dx = (float) (mFinalX - mStartX); + float dy = (float) (mFinalY - mStartY); + float hyp = FloatMath.sqrt(dx * dx + dy * dy); + + float ndx = dx / hyp; + float ndy = dy / hyp; + + float oldVelocityX = ndx * oldVel; + float oldVelocityY = ndy * oldVel; + if (Math.signum(velocityX) == Math.signum(oldVelocityX) && + Math.signum(velocityY) == Math.signum(oldVelocityY)) { + velocityX += oldVelocityX; + velocityY += oldVelocityY; + } + } + mMode = FLING_MODE; mFinished = false; - float velocity = (float)Math.hypot(velocityX, velocityY); + float velocity = FloatMath.sqrt(velocityX * velocityX + velocityY * velocityY); mVelocity = velocity; - mDuration = (int) (1000 * velocity / mDeceleration); // Duration is in - // milliseconds + final double l = Math.log(START_TENSION * velocity / ALPHA); + mDuration = (int) (1000.0 * Math.exp(l / (DECELERATION_RATE - 1.0))); mStartTime = AnimationUtils.currentAnimationTimeMillis(); mStartX = startX; mStartY = startY; @@ -336,14 +396,14 @@ public class Scroller { mCoeffX = velocity == 0 ? 1.0f : velocityX / velocity; mCoeffY = velocity == 0 ? 1.0f : velocityY / velocity; - int totalDistance = (int) ((velocity * velocity) / (2 * mDeceleration)); + int totalDistance = + (int) (ALPHA * Math.exp(DECELERATION_RATE / (DECELERATION_RATE - 1.0) * l)); mMinX = minX; mMaxX = maxX; mMinY = minY; mMaxY = maxY; - - + mFinalX = startX + Math.round(totalDistance * mCoeffX); // Pin to mMinX <= mFinalX <= mMaxX mFinalX = Math.min(mFinalX, mMaxX); @@ -395,7 +455,7 @@ public class Scroller { public void extendDuration(int extend) { int passed = timePassed(); mDuration = passed + extend; - mDurationReciprocal = 1.0f / (float)mDuration; + mDurationReciprocal = 1.0f / mDuration; mFinished = false; } @@ -433,4 +493,12 @@ public class Scroller { mDeltaY = mFinalY - mStartY; mFinished = false; } + + /** + * @hide + */ + public boolean isScrollingInDirection(float xvel, float yvel) { + return !mFinished && Math.signum(xvel) == Math.signum(mFinalX - mStartX) && + Math.signum(yvel) == Math.signum(mFinalY - mStartY); + } } diff --git a/core/java/com/android/internal/app/ActionBarImpl.java b/core/java/com/android/internal/app/ActionBarImpl.java index 86523ac..20402a3 100644 --- a/core/java/com/android/internal/app/ActionBarImpl.java +++ b/core/java/com/android/internal/app/ActionBarImpl.java @@ -31,6 +31,7 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Handler; import android.view.ActionMode; +import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -563,6 +564,11 @@ public class ActionBarImpl extends ActionBar { } @Override + public Tab setCustomView(int layoutResId) { + return setCustomView(LayoutInflater.from(mContext).inflate(layoutResId, null)); + } + + @Override public Drawable getIcon() { return mIcon; } @@ -588,12 +594,22 @@ public class ActionBarImpl extends ActionBar { } @Override + public Tab setIcon(int resId) { + return setIcon(mContext.getResources().getDrawable(resId)); + } + + @Override public Tab setText(CharSequence text) { mText = text; return this; } @Override + public Tab setText(int resId) { + return setText(mContext.getResources().getText(resId)); + } + + @Override public void select() { selectTab(this); } diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index e18f58f..b382cee 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -82,12 +82,10 @@ public class ActionBarView extends ViewGroup { private Drawable mIcon; private Drawable mLogo; private Drawable mDivider; - private Drawable mHomeAsUpIndicator; - private LinearLayout mHomeLayout; - private ImageView mHomeAsUpView; + private View mHomeLayout; + private View mHomeAsUpView; private ImageView mIconView; - private ImageView mLogoView; private LinearLayout mTitleLayout; private TextView mTitleView; private TextView mSubtitleView; @@ -172,18 +170,15 @@ public class ActionBarView extends ViewGroup { } } - mHomeLayout = new LinearLayout(context, null, - com.android.internal.R.attr.actionButtonStyle); - mHomeLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, - LayoutParams.MATCH_PARENT)); + final LayoutInflater inflater = LayoutInflater.from(context); - mHomeAsUpIndicator = a.getDrawable(R.styleable.ActionBar_homeAsUpIndicator); + final int homeResId = a.getResourceId( + com.android.internal.R.styleable.ActionBar_homeLayout, 0); - mHomeAsUpView = new ImageView(context); - mHomeAsUpView.setImageDrawable(mHomeAsUpIndicator); - mHomeAsUpView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, - LayoutParams.MATCH_PARENT)); - mHomeLayout.addView(mHomeAsUpView); + mHomeLayout = inflater.inflate(homeResId, this, false); + + mHomeAsUpView = mHomeLayout.findViewById(com.android.internal.R.id.up); + mIconView = (ImageView) mHomeLayout.findViewById(com.android.internal.R.id.home); Drawable background = a.getDrawable(R.styleable.ActionBar_background); if (background != null) { @@ -202,8 +197,7 @@ public class ActionBarView extends ViewGroup { final int customNavId = a.getResourceId(R.styleable.ActionBar_customNavigationLayout, 0); if (customNavId != 0) { - LayoutInflater inflater = LayoutInflater.from(context); - mCustomNavView = (View) inflater.inflate(customNavId, null); + mCustomNavView = (View) inflater.inflate(customNavId, this, false); mNavigationMode = ActionBar.NAVIGATION_MODE_STANDARD; setDisplayOptions(mDisplayOptions | ActionBar.DISPLAY_SHOW_CUSTOM); } @@ -375,13 +369,12 @@ public class ActionBarView extends ViewGroup { if ((flagsChanged & ActionBar.DISPLAY_HOME_AS_UP) != 0) { mHomeAsUpView.setVisibility((options & ActionBar.DISPLAY_HOME_AS_UP) != 0 - ? VISIBLE : GONE); + ? VISIBLE : INVISIBLE); } - if (mLogoView != null && (flagsChanged & ActionBar.DISPLAY_USE_LOGO) != 0) { - final boolean logoVis = (options & ActionBar.DISPLAY_USE_LOGO) != 0; - mLogoView.setVisibility(logoVis ? VISIBLE : GONE); - mIconView.setVisibility(logoVis ? GONE : VISIBLE); + if ((flagsChanged & ActionBar.DISPLAY_USE_LOGO) != 0) { + final boolean logoVis = mLogo != null && (options & ActionBar.DISPLAY_USE_LOGO) != 0; + mIconView.setImageDrawable(logoVis ? mLogo : mIcon); } if ((flagsChanged & ActionBar.DISPLAY_SHOW_TITLE) != 0) { @@ -531,50 +524,8 @@ public class ActionBarView extends ViewGroup { protected void onFinishInflate() { super.onFinishInflate(); - final Context context = getContext(); - - if (mLogo != null) { - mLogoView = new ImageView(context); - mLogoView.setScaleType(ImageView.ScaleType.CENTER); - mLogoView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, - LayoutParams.MATCH_PARENT)); - mLogoView.setImageDrawable(mLogo); - mLogoView.setVisibility((mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) != 0 - ? VISIBLE : GONE); - mHomeLayout.addView(mLogoView); - } - - if (mIcon != null) { - mIconView = new ImageView(context, null, - com.android.internal.R.attr.actionButtonStyle); - mIconView.setScaleType(ImageView.ScaleType.CENTER); - mIconView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, - LayoutParams.MATCH_PARENT)); - mIconView.setImageDrawable(mIcon); - mIconView.setVisibility( - (mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) == 0 || mLogo == null - ? VISIBLE : GONE); - mHomeLayout.addView(mIconView); - } - addView(mHomeLayout); - switch (mNavigationMode) { - case ActionBar.NAVIGATION_MODE_STANDARD: - if (mLogoView == null) { - initTitle(); - } - break; - - case ActionBar.NAVIGATION_MODE_LIST: - throw new UnsupportedOperationException( - "Inflating list navigation isn't supported yet!"); - - case ActionBar.NAVIGATION_MODE_TABS: - throw new UnsupportedOperationException( - "Inflating tab navigation isn't supported yet!"); - } - if (mCustomNavView != null && (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) { final ViewParent parent = mCustomNavView.getParent(); if (parent != this) { @@ -653,8 +604,11 @@ public class ActionBarView extends ViewGroup { int rightOfCenter = leftOfCenter; if (mHomeLayout.getVisibility() != GONE) { - availableWidth = measureChildView(mHomeLayout, availableWidth, childSpecHeight, 0); - leftOfCenter -= mHomeLayout.getMeasuredWidth(); + mHomeLayout.measure(MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), + MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + final int homeWidth = mHomeLayout.getMeasuredWidth(); + availableWidth -= homeWidth; + leftOfCenter -= homeWidth; } if (mMenuView != null) { diff --git a/core/res/res/drawable-hdpi/ic_ab_back_holo_dark.png b/core/res/res/drawable-hdpi/ic_ab_back_holo_dark.png Binary files differindex a8da981..b4079db 100644 --- a/core/res/res/drawable-hdpi/ic_ab_back_holo_dark.png +++ b/core/res/res/drawable-hdpi/ic_ab_back_holo_dark.png diff --git a/core/res/res/drawable-hdpi/ic_ab_back_holo_light.png b/core/res/res/drawable-hdpi/ic_ab_back_holo_light.png Binary files differindex af0f308..09e83e4 100644 --- a/core/res/res/drawable-hdpi/ic_ab_back_holo_light.png +++ b/core/res/res/drawable-hdpi/ic_ab_back_holo_light.png diff --git a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_dark.png b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_dark.png Binary files differindex 061f80a..3ecaa9d 100644 --- a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_light.png b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_light.png Binary files differindex d818806..40009af 100644 --- a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png Binary files differindex 8563c1a..e21f534 100644 --- a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png +++ b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png diff --git a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png Binary files differindex 1cd2384..9108fa1 100644 --- a/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png +++ b/core/res/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png diff --git a/core/res/res/drawable-mdpi/ic_ab_back_holo_dark.png b/core/res/res/drawable-mdpi/ic_ab_back_holo_dark.png Binary files differindex 7aae741..08a8eca 100644 --- a/core/res/res/drawable-mdpi/ic_ab_back_holo_dark.png +++ b/core/res/res/drawable-mdpi/ic_ab_back_holo_dark.png diff --git a/core/res/res/drawable-mdpi/ic_ab_back_holo_light.png b/core/res/res/drawable-mdpi/ic_ab_back_holo_light.png Binary files differindex 66ef51c..0ffafd8 100644 --- a/core/res/res/drawable-mdpi/ic_ab_back_holo_light.png +++ b/core/res/res/drawable-mdpi/ic_ab_back_holo_light.png diff --git a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_dark.png b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_dark.png Binary files differindex 6f87b11..c369e6f 100644 --- a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_light.png b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_light.png Binary files differindex 04dac38..a4df2bf 100644 --- a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png Binary files differindex 5580af6..a7389c9 100644 --- a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png +++ b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png diff --git a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png Binary files differindex fc2081a..87e41ac 100644 --- a/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png +++ b/core/res/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png diff --git a/core/res/res/layout-xlarge/keyguard_screen_tab_unlock.xml b/core/res/res/layout-xlarge/keyguard_screen_tab_unlock.xml index b3645aa..c76e833 100644 --- a/core/res/res/layout-xlarge/keyguard_screen_tab_unlock.xml +++ b/core/res/res/layout-xlarge/keyguard_screen_tab_unlock.xml @@ -21,23 +21,22 @@ state of the device, as well as instructions on how to get past it depending on the state of the device. It is the same for landscape and portrait.--> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tabunlock="http://schemas.android.com/apk/res/com.android.tabunlock" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="#70000000" - android:gravity="center_horizontal" - android:id="@+id/root"> + android:orientation="vertical" + android:id="@+id/root" + android:background="#70000000"> <!-- left side: status and emergency call button --> <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dip" - android:layout_weight="1" - android:orientation="vertical" - android:gravity="center_vertical" - > - <include layout="@layout/keyguard_screen_status_land" /> + android:layout_width="match_parent" + android:layout_height="0dip" + android:layout_weight="1" + android:orientation="vertical" + android:gravity="center_vertical"> + <include layout="@layout/keyguard_screen_status_port" /> </LinearLayout> <LinearLayout @@ -61,6 +60,7 @@ android:id="@+id/wave_view" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="center" /> <!-- "emergency calls only" shown when sim is missing or PUKd --> @@ -93,5 +93,5 @@ /> </LinearLayout> -</RelativeLayout> +</LinearLayout> diff --git a/core/res/res/layout-xlarge/status_bar_latest_event_content.xml b/core/res/res/layout-xlarge/status_bar_latest_event_content.xml index c64b90e..d599154 100644 --- a/core/res/res/layout-xlarge/status_bar_latest_event_content.xml +++ b/core/res/res/layout-xlarge/status_bar_latest_event_content.xml @@ -1,56 +1,41 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical" - android:paddingTop="7dp" - android:paddingLeft="5dp" > + <ImageView android:id="@+id/icon" + android:layout_width="48dp" + android:layout_height="64dp" + android:layout_alignParentLeft="true" + android:layout_alignParentTop="true" + android:scaleType="center" + /> + <LinearLayout - android:layout_width="match_parent" + android:layout_width="0dp" android:layout_height="wrap_content" - android:orientation="horizontal" - android:paddingTop="3dp" + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:orientation="vertical" + android:paddingLeft="16dp" > - <!--com.android.server.status.AnimatedImageView android:id="@+id/icon" --> - <ImageView android:id="@+id/icon" - android:layout_width="25dp" - android:layout_height="25dp" - android:scaleType="fitCenter" - android:src="@drawable/arrow_down_float"/> <TextView android:id="@+id/title" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" - android:paddingLeft="4dp" /> - </LinearLayout> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - > <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" - android:paddingLeft="4dp" - /> - <android.widget.DateTimeView android:id="@+id/time" - android:textAppearance="@style/TextAppearance.StatusBar.EventContent" - android:layout_marginLeft="4dp" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:singleLine="true" - android:paddingRight="5dp" /> </LinearLayout> </LinearLayout> + diff --git a/core/res/res/layout/action_bar_home.xml b/core/res/res/layout/action_bar_home.xml new file mode 100644 index 0000000..e8b5637 --- /dev/null +++ b/core/res/res/layout/action_bar_home.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="?android:attr/selectableItemBackground"> + <ImageView android:id="@android:id/up" + android:src="?android:attr/homeAsUpIndicator" + android:layout_gravity="top|left" + android:visibility="invisible" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + <ImageView android:id="@android:id/home" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:paddingLeft="16dip" + android:paddingRight="16dip" + android:layout_gravity="center" + android:scaleType="center" /> +</FrameLayout> diff --git a/core/res/res/layout/preference.xml b/core/res/res/layout/preference.xml index 46c3e9c..6bd5efa 100644 --- a/core/res/res/layout/preference.xml +++ b/core/res/res/layout/preference.xml @@ -24,13 +24,19 @@ android:gravity="center_vertical" android:paddingRight="?android:attr/scrollbarSize"> - <!-- Preference should place its actual preference widget here. --> - <LinearLayout android:id="@+android:id/widget_frame" + <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="@dimen/preference_widget_width" android:gravity="center" - android:orientation="vertical" /> + android:orientation="horizontal"> + <ImageView + android:id="@+android:id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + /> + </LinearLayout> <RelativeLayout android:layout_width="wrap_content" @@ -59,4 +65,12 @@ </RelativeLayout> + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@+android:id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="vertical" /> + </LinearLayout> diff --git a/core/res/res/layout/preference_child.xml b/core/res/res/layout/preference_child.xml index 713aa17..e9b50e0 100644 --- a/core/res/res/layout/preference_child.xml +++ b/core/res/res/layout/preference_child.xml @@ -20,20 +20,26 @@ android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" + android:paddingLeft="16dip" android:paddingRight="?android:attr/scrollbarSize"> - <!-- Preference should place its actual preference widget here. --> - <LinearLayout android:id="@+android:id/widget_frame" + <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="@dimen/preference_widget_width" android:gravity="center" - android:orientation="vertical" /> + android:orientation="horizontal"> + <ImageView + android:id="@+android:id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + /> + </LinearLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="16dip" android:layout_marginRight="6dip" android:layout_marginTop="6dip" android:layout_marginBottom="6dip" @@ -58,4 +64,12 @@ </RelativeLayout> + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@+android:id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="vertical" /> + </LinearLayout> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 0aa4247..666032c 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Bez upozornění smazat všechna data telefonu obnovením továrních dat"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Nastavit globální proxy server zařízení"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Vyberte globální proxy server, který se bude používat, když jsou zásady aktivní. Aktuální globální proxy server nastavuje pouze první správce zařízení."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Domů"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pracovní pager"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Vlastní"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Narozeniny"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Výročí"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Událost"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Ostatní"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Vlastní"</string> <string name="emailTypeHome" msgid="449227236140433919">"Domů"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Práce"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Práce"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Jiné"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Vlastní"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Vlastní"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Asistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Bratr"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Dítě"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Druh/družka"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Otec"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Známý"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Vedoucí"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Matka"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Rodič"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Doporučující osoba"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Příbuzný"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Sestra"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Manžel(ka)"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Vlastní"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Plocha"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Práce"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Potvrdit"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Tip: Dvojitým klepnutím můžete zobrazení přiblížit nebo oddálit."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Automaticky vyplnit tento formulář"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Vyjmout"</string> <string name="copy" msgid="2681946229533511987">"Kopírovat"</string> <string name="paste" msgid="5629880836805036433">"Vložit"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Není co vložit"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopírovat adresu URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Vybrat text..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Výběr textu"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Odeslat"</string> <string name="ime_action_next" msgid="3138843904009813834">"Další"</string> <string name="ime_action_done" msgid="8971516117910934605">"Hotovo"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Předch."</string> <string name="ime_action_default" msgid="2840921885558045721">"Spustit"</string> <string name="dial_number_using" msgid="5789176425167573586">"Vytočit číslo"\n" <xliff:g id="NUMBER">%s</xliff:g>."</string> <string name="create_contact_using" msgid="4947405226788104538">"Vytvořit kontakt"\n"pro <xliff:g id="NUMBER">%s</xliff:g>."</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index e0be775..36eb27a 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Slet telefonens data uden varsel ved at gendanne fabriksindstillinger"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Angiv enhedens globale proxy"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Angiv enhedens globale proxy, der skal bruges, mens politikken er aktiveret. Kun den første enhedsadministrator angiver den effektive globale proxy."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Hjem"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøger"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"mms"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Tilpasset"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Fødselsdato"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Årsdag"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Begivenhed"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Andre"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Tilpasset"</string> <string name="emailTypeHome" msgid="449227236140433919">"Hjem"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Arbejde"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Arbejde"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Andre"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Tilpasset"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Tilpasset"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Bror"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Barn"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Samlever"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Far"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Ven"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Chef"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mor"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Forælder"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Henvist af"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Familie"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Søster"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Ægtefælle"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Tilpasset"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Hjem"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Arbejde"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Bekræft"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Tip: Dobbeltklik for at zoome ind eller ud."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autofuldfør denne formular"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Klip"</string> <string name="copy" msgid="2681946229533511987">"Kopier"</string> <string name="paste" msgid="5629880836805036433">"Indsæt"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Intet at indsætte"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopier webadresse"</string> <string name="selectTextMode" msgid="6738556348861347240">"Marker tekst..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekstmarkering"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Send"</string> <string name="ime_action_next" msgid="3138843904009813834">"Næste"</string> <string name="ime_action_done" msgid="8971516117910934605">"Udfør"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Forrige"</string> <string name="ime_action_default" msgid="2840921885558045721">"Udfør"</string> <string name="dial_number_using" msgid="5789176425167573586">"Ring til nummer"\n"ved hjælp af <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Opret kontakt"\n"ved hjælp af <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 1566b1b..fe7ddc7 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Auf Werkseinstellungen zurücksetzen und Daten auf dem Telefon ohne Warnung löschen"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Den globalen Proxy des Geräts festlegen"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Den globalen Proxy des Geräts zur Verwendung während der Aktivierung der Richtlinie festlegen. Nur der erste Geräteadministrator kann den gültigen globalen Proxy festlegen."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Privat"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager (geschäftl.)"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Zweite Nummer"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Benutzerdefiniert"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Geburtstag"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Jahrestag"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Termin"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Sonstige"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Benutzerdefiniert"</string> <string name="emailTypeHome" msgid="449227236140433919">"Privat"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Geschäftlich"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Geschäftlich"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Sonstige"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Benutzerdefiniert"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Benutzerdefiniert"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Bruder"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Kind"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Lebenspartner"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Vater"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Freund"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Vorgesetzter"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mutter"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Elternteil"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Weitergeleitet von"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Verwandter"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Schwester"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Gatte/Gattin"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Benutzerdefiniert"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Privat"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Geschäftlich"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Bestätigen"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Tipp: Zum Heranzoomen und Vergrößern zweimal tippen"</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Dieses Formular automatisch ausfüllen"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Ausschneiden"</string> <string name="copy" msgid="2681946229533511987">"Kopieren"</string> <string name="paste" msgid="5629880836805036433">"Einfügen"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Nichts zum Einfügen"</string> <string name="copyUrl" msgid="2538211579596067402">"URL kopieren"</string> <string name="selectTextMode" msgid="6738556348861347240">"Text auswählen..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Textauswahl"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Senden"</string> <string name="ime_action_next" msgid="3138843904009813834">"Weiter"</string> <string name="ime_action_done" msgid="8971516117910934605">"Fertig"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Zurück"</string> <string name="ime_action_default" msgid="2840921885558045721">"Ausführen"</string> <string name="dial_number_using" msgid="5789176425167573586">"Nummer"\n"mit <xliff:g id="NUMBER">%s</xliff:g> wählen"</string> <string name="create_contact_using" msgid="4947405226788104538">"Neuer Kontakt"\n"mit <xliff:g id="NUMBER">%s</xliff:g> erstellen"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index bd86221..2103aef 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Διαγραφή των δεδομένων του τηλεφώνου χωρίς προειδοποίηση με επαναφορά των εργοστασιακών δεδομένων"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ρύθμιση του γενικού διακομιστή μεσολάβησης της συσκευής"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ορίστε τη χρήση του γενικού διακομιστή μεσολάβησης της συσκευής όταν είναι ενεργοποιημένη η πολιτική. Μόνο ο διαχειριστής της πρώτης συσκευής ορίζει τον ισχύοντα γενικό διακομιστή μεσολάβησης."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Οικία"</item> <item msgid="869923650527136615">"Κινητό"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Βομβητής εργασίας"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Βοηθός"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Προσαρμοσμένο"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Γενέθλια"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Επέτειος"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Συμβάν"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Άλλο"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Προσαρμοσμένο"</string> <string name="emailTypeHome" msgid="449227236140433919">"Οικία"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Εργασία"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Εργασία"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Άλλο"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Προσαρμοσμένο"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Προσαρμοσμένο"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Βοηθός"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Αδερφός"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Παιδί"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Σύντρ. ελεύθ. συμβ."</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Πατέρας"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Φίλος"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Διευθυντής"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Μητέρα"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Γονέας"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Συνεργάτης"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Συστήθηκε από"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Συγγενής"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Αδερφή"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Σύζυγος"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Προσαρμοσμένο"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Αρχική σελίδα"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Εργασία"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Επιβεβαίωση"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Συμβουλή: διπλό άγγιγμα για μεγέθυνση και σμίκρυνση."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Να γίνει αυτόματη συμπλήρωση αυτής της φόρμας"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Αποκοπή"</string> <string name="copy" msgid="2681946229533511987">"Αντιγραφή"</string> <string name="paste" msgid="5629880836805036433">"Επικόλληση"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Καν. στοιχ. για επικ."</string> <string name="copyUrl" msgid="2538211579596067402">"Αντιγραφή διεύθυνσης URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Επιλογή κειμένου..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Επιλογή κειμένου"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Αποστολή"</string> <string name="ime_action_next" msgid="3138843904009813834">"Επόμενο"</string> <string name="ime_action_done" msgid="8971516117910934605">"Τέλος"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Προηγ."</string> <string name="ime_action_default" msgid="2840921885558045721">"Εκτέλεση"</string> <string name="dial_number_using" msgid="5789176425167573586">"Κλήση αριθμού"\n"με τη χρήση <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Δημιουργία επαφής"\n"με τη χρήση του <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index e303707..bd5371f 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -481,6 +481,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Borrar los datos del teléfono sin advertencias al restablecer la configuración original"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Configura el proxy global de dispositivo"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Configuración del proxy global de dispositivo que se utilizará mientras se habilita la política. Sólo la primera administración de dispositivo configura el proxy global efectivo."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Casa"</item> <item msgid="869923650527136615">"Celular"</item> @@ -545,11 +549,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Localizador del trabajo"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistente"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personalizado"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Cumpleaños"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Aniversario"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Evento"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Otro"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personalizado"</string> <string name="emailTypeHome" msgid="449227236140433919">"Casa"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Trabajo"</string> @@ -576,36 +579,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Trabajo"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Otro"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personalizado"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personalizado"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Asistente"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Hermano"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Hijo"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Conviviente"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Padre"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Amigo"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Gerente"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Madre"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Padre"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Socio"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Recomendado por"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Pariente"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Hermana"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Cónyuge"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personalizado"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Página principal"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Trabajo"</string> @@ -673,12 +661,10 @@ <string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Sugerencia: presiona dos veces para acercar y alejar"</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autocompletar este formulario"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> - <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> - <skip /> + <string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string> <!-- no translation found for autofill_address_summary_format (4874459455786827344) --> <skip /> <string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"leer historial y marcadores del navegador"</string> @@ -803,8 +789,7 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Pegar"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Nada que pegar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Seleccionar texto..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selección de texto"</string> @@ -950,8 +935,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Enviar"</string> <string name="ime_action_next" msgid="3138843904009813834">"Siguiente"</string> <string name="ime_action_done" msgid="8971516117910934605">"Hecho"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Ant."</string> <string name="ime_action_default" msgid="2840921885558045721">"Ejecutar"</string> <string name="dial_number_using" msgid="5789176425167573586">"Marcar el número"\n"con <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Crear contacto "\n"con <xliff:g id="NUMBER">%s</xliff:g>"</string> @@ -1008,8 +992,6 @@ <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"Una computadora está utilizando el almacenamiento USB en este momento."</string> <string name="media_shared" product="default" msgid="5706130568133540435">"Una computadora está utilizando la tarjeta SD en este momento."</string> <string name="media_unknown_state" msgid="729192782197290385">"Medios externos en estado desconocido."</string> - <!-- no translation found for share (1778686618230011964) --> - <skip /> - <!-- no translation found for find (4808270900322985960) --> - <skip /> + <string name="share" msgid="1778686618230011964">"Compartir"</string> + <string name="find" msgid="4808270900322985960">"Buscar"</string> </resources> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 452eefd..5de5c9f 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Borrado de los datos del teléfono sin avisar restableciendo datos de fábrica"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir el servidor proxy global"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Define el servidor proxy global que se debe utilizar mientras la política esté habilitada. Solo el primer administrador de dispositivos define el servidor proxy global efectivo."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Casa"</item> <item msgid="869923650527136615">"Móvil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Buscapersonas del trabajo"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistente"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personalizados"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Cumpleaños"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Aniversario"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Evento"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Otros"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personalizado"</string> <string name="emailTypeHome" msgid="449227236140433919">"Casa"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Trabajo"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Trabajo"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Otra"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personalizada"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personalizada"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Asistente"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Hermano"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Hijo/a"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Pareja de hecho"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Padre"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Amigo/a"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Manager"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Madre"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Padre/madre"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Pareja"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Recomendado por"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Pariente"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Hermana"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Cónyuge"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personalizada"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Casa"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Trabajo"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Sugerencia: toca dos veces para ampliar o reducir."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autocompletar este formulario"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Pegar"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Portapapeles vacío"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Seleccionar texto..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selección de texto"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Enviar"</string> <string name="ime_action_next" msgid="3138843904009813834">"Siguiente"</string> <string name="ime_action_done" msgid="8971516117910934605">"Listo"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Anterior"</string> <string name="ime_action_default" msgid="2840921885558045721">"Ejecutar"</string> <string name="dial_number_using" msgid="5789176425167573586">"Marcar número"\n"con <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Crear un contacto"\n"a partir de <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index a802350..fa97fc0 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Effacer les données du téléphone sans avertissement, en restaurant les valeurs d\'usine"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Définir le proxy global du mobile"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Indiquez le proxy global à utiliser pour ce mobile lorsque les règles sont activées. Seul l\'administrateur principal du mobile peut définir le proxy global utilisé."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Domicile"</item> <item msgid="869923650527136615">"Mobile"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Téléavertisseur (professionnel)"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistant"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personnalisé"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Anniversaire"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Fête"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Événement"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Autre"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personnalisé"</string> <string name="emailTypeHome" msgid="449227236140433919">"Domicile"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Bureau"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Bureau"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Autre"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personnalisé"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personnalisée"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistant"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Frère"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Enfant"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Concubin"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Père"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Ami"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Responsable"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mère"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Parent"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partenaire"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Recommandé par"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Proche"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Sœur"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Conjoint"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personnalisée"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Accueil"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Professionnelle"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Confirmer"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Conseil : Appuyez deux fois pour effectuer un zoom avant ou arrière."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Permettre le remplissage automatique du formulaire"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Couper"</string> <string name="copy" msgid="2681946229533511987">"Copier"</string> <string name="paste" msgid="5629880836805036433">"Coller"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Presse-papiers vide"</string> <string name="copyUrl" msgid="2538211579596067402">"Copier l\'URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Sélect. le texte..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Sélection de texte"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Envoyer"</string> <string name="ime_action_next" msgid="3138843904009813834">"Suivant"</string> <string name="ime_action_done" msgid="8971516117910934605">"OK"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Préc."</string> <string name="ime_action_default" msgid="2840921885558045721">"Exécuter"</string> <string name="dial_number_using" msgid="5789176425167573586">"Composer le numéro"\n"en utilisant <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Ajouter un contact"\n"en utilisant <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 6e5987e..89d0a32 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Cancella i dati del telefono senza preavviso eseguendo un ripristino dati di fabbrica"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Imposta il proxy globale del dispositivo"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Imposta il proxy globale del dispositivo in modo da utilizzarlo mentre la norma è attiva. Il proxy globale effettivo è impostabile solo dal primo amministratore del dispositivo."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Casa"</item> <item msgid="869923650527136615">"Cellulare"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Cercapersone lavoro"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistente"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personalizzato"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Compleanno"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Anniversario"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Evento"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Altri"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personalizzato"</string> <string name="emailTypeHome" msgid="449227236140433919">"Casa"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Lavoro"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Lavoro"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Altro"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personalizzato"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personalizzato"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistente"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Fratello"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Figlio"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Convivente"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Padre"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Amico"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Dirigente"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Madre"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Genitore"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Riferito da"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Parente"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Sorella"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Coniuge"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personalizzato"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Casa"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Lavoro"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Conferma"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Suggerimento. Tocca due volte per aumentare/ridurre lo zoom."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Compila automaticamente il modulo"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Taglia"</string> <string name="copy" msgid="2681946229533511987">"Copia"</string> <string name="paste" msgid="5629880836805036433">"Incolla"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Niente da incollare"</string> <string name="copyUrl" msgid="2538211579596067402">"Copia URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Seleziona testo..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selezione testo"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Invia"</string> <string name="ime_action_next" msgid="3138843904009813834">"Avanti"</string> <string name="ime_action_done" msgid="8971516117910934605">"Fine"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Prec."</string> <string name="ime_action_default" msgid="2840921885558045721">"Esegui"</string> <string name="dial_number_using" msgid="5789176425167573586">"Componi numero"\n"utilizzando <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Crea contatto"\n"utilizzando <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 12cb290..dcbcdc2 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"警告せずにデータの初期化を実行して端末内のデータを消去します。"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"端末のグローバルプロキシを設定"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"ポリシーが有効になっている場合は端末のグローバルプロキシが使用されるように設定します。有効なグローバルプロキシを設定できるのは最初のデバイス管理者だけです。"</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"自宅"</item> <item msgid="869923650527136615">"携帯"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"ポケベル(勤務先)"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"アシスタント"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"カスタム"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"誕生日"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"記念日"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"予定"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"その他"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"カスタム"</string> <string name="emailTypeHome" msgid="449227236140433919">"自宅"</string> <string name="emailTypeWork" msgid="3548058059601149973">"勤務先"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"勤務先"</string> <string name="orgTypeOther" msgid="3951781131570124082">"その他"</string> <string name="orgTypeCustom" msgid="225523415372088322">"カスタム"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"カスタム"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"アシスタント"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"兄弟"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"子ども"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"パートナー(国内)"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"父"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"友だち"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"上司"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"母"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"親"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"パートナー"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"紹介者"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"親戚"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"姉妹"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"配偶者"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"カスタム"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"自宅"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"勤務先"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"確認"</string> <string name="double_tap_toast" msgid="1068216937244567247">"ヒント: ダブルタップで拡大/縮小できます。"</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"このフォームを自動入力"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"切り取り"</string> <string name="copy" msgid="2681946229533511987">"コピー"</string> <string name="paste" msgid="5629880836805036433">"貼り付け"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"クリップボードが空です"</string> <string name="copyUrl" msgid="2538211579596067402">"URLをコピー"</string> <string name="selectTextMode" msgid="6738556348861347240">"テキストを選択..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"テキスト選択"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"送信"</string> <string name="ime_action_next" msgid="3138843904009813834">"次へ"</string> <string name="ime_action_done" msgid="8971516117910934605">"完了"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"前へ"</string> <string name="ime_action_default" msgid="2840921885558045721">"実行"</string> <string name="dial_number_using" msgid="5789176425167573586">"<xliff:g id="NUMBER">%s</xliff:g>を使って"\n"発信"</string> <string name="create_contact_using" msgid="4947405226788104538">"<xliff:g id="NUMBER">%s</xliff:g>を使って"\n"連絡先を新規登録"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 36e5134..8fe117f 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"초기화를 수행하여 경고 없이 휴대전화 데이터를 지웁니다."</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"기기 전체 프록시 설정"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"정책이 사용 설정되어 있는 동안 사용될 기기 전체 프록시를 설정합니다. 첫 번째 기기 관리자가 설정한 전체 프록시만 유효합니다."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"집"</item> <item msgid="869923650527136615">"모바일"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"직장 호출기"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"비서"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"맞춤설정"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"생일"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"기념일"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"일정"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"기타"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"맞춤설정"</string> <string name="emailTypeHome" msgid="449227236140433919">"집"</string> <string name="emailTypeWork" msgid="3548058059601149973">"직장"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"직장"</string> <string name="orgTypeOther" msgid="3951781131570124082">"기타"</string> <string name="orgTypeCustom" msgid="225523415372088322">"맞춤설정"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"맞춤설정"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"비서"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"남자 형제"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"자녀"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"동거인"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"아버지"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"친구"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"상사"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"어머니"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"부모"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"파트너"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"추천인"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"친척"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"여자 형제"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"배우자"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"맞춤설정"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"홈"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"직장"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"확인"</string> <string name="double_tap_toast" msgid="1068216937244567247">"도움말: 축소/확대하려면 두 번 누릅니다."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"양식 자동완성"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"잘라내기"</string> <string name="copy" msgid="2681946229533511987">"복사"</string> <string name="paste" msgid="5629880836805036433">"붙여넣기"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"붙여넣을 내용이 없습니다."</string> <string name="copyUrl" msgid="2538211579596067402">"URL 복사"</string> <string name="selectTextMode" msgid="6738556348861347240">"텍스트 선택..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"텍스트 선택"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"전송"</string> <string name="ime_action_next" msgid="3138843904009813834">"다음"</string> <string name="ime_action_done" msgid="8971516117910934605">"완료"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"이전"</string> <string name="ime_action_default" msgid="2840921885558045721">"실행"</string> <string name="dial_number_using" msgid="5789176425167573586">"전화하기 "\n"<xliff:g id="NUMBER">%s</xliff:g>에 연결"</string> <string name="create_contact_using" msgid="4947405226788104538">"전화번호부에"\n"<xliff:g id="NUMBER">%s</xliff:g> 추가"</string> diff --git a/core/res/res/values-land/dimens.xml b/core/res/res/values-land/dimens.xml index d562d96..b1f12b5 100644 --- a/core/res/res/values-land/dimens.xml +++ b/core/res/res/values-land/dimens.xml @@ -21,6 +21,6 @@ <resources> <dimen name="password_keyboard_key_height">47dip</dimen> <dimen name="password_keyboard_spacebar_vertical_correction">2dip</dimen> - <dimen name="preference_screen_side_margin">32dp</dimen> - <dimen name="preference_widget_width">64dp</dimen> + <dimen name="preference_screen_side_margin">96dp</dimen> + <dimen name="preference_widget_width">72dp</dimen> </resources>
\ No newline at end of file diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index e43aabd..cdc3f0a 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Tilbakestill telefonens data uten advarsel ved å utføre tilbakestilling til fabrikkstandard"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Angi enhetens globale mellomtjener"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Angir den globale mellomtjeneren på enheten som skal brukes når regelen er aktivert. Kun den opprinnelige administratoren av enheten kan angi den globale mellomtjeneren."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Hjemmenummer"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøker arbeid"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Egendefinert"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Bursdag"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Jubileum"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Akivitet"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Andre"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Egendefinert"</string> <string name="emailTypeHome" msgid="449227236140433919">"Hjemme"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Arbeid"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Arbeid"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Annen"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Egendefinert"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Egendefinert"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Bror"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Barn"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Samboer"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Far"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Venn"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Sjef"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mor"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Foresatt"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Anbefalt av"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Slektning"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Søster"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Ektefelle"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Egendefinert"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Startside"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Arbeid"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Bekreft"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Dobbelttrykk for å zoome inn og ut."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Fyll ut dette skjemaet automatisk"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Klipp ut"</string> <string name="copy" msgid="2681946229533511987">"Kopier"</string> <string name="paste" msgid="5629880836805036433">"Lim inn"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Ingenting å lime inn"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopier URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Marker tekst"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Merket tekst"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Send"</string> <string name="ime_action_next" msgid="3138843904009813834">"Neste"</string> <string name="ime_action_done" msgid="8971516117910934605">"Utført"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Forrige"</string> <string name="ime_action_default" msgid="2840921885558045721">"Utfør"</string> <string name="dial_number_using" msgid="5789176425167573586">"Ring nummeret"\n"<xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Lag kontakt"\n"med nummeret <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index d66b694..12034f2 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"De gegevens van de telefoon zonder waarschuwing wissen door de fabrieksinstellingen te herstellen"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Algemene proxy voor het apparaat instellen"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Stel de algemene proxy voor het apparaat in die moet worden gebruikt terwijl het beleid is geactiveerd. Alleen de eerste apparaatbeheerder stelt de algemene proxy in."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Thuis"</item> <item msgid="869923650527136615">"Mobiel"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager werk"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Aangepast"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Verjaardag"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Jubileum"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Afspraak"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Overig"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Aangepast"</string> <string name="emailTypeHome" msgid="449227236140433919">"Thuis"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Werk"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Werk"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Overig"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Aangepast"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Aangepast"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Broer"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Kind"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Levenspartner"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Vader"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Vriend"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Manager"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Moeder"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Ouder"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Genoemd door"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Familielid"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Zus"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Echtgenoot/-genote"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Aangepast"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Startpagina"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Werk"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Bevestigen"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Tip: tik tweemaal om in of uit te zoomen."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Dit formulier automatisch aanvullen"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Knippen"</string> <string name="copy" msgid="2681946229533511987">"Kopiëren"</string> <string name="paste" msgid="5629880836805036433">"Plakken"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Niets te plakken"</string> <string name="copyUrl" msgid="2538211579596067402">"URL kopiëren"</string> <string name="selectTextMode" msgid="6738556348861347240">"Tekst selecteren..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekstselectie"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Verzenden"</string> <string name="ime_action_next" msgid="3138843904009813834">"Volgende"</string> <string name="ime_action_done" msgid="8971516117910934605">"Gereed"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Vorige"</string> <string name="ime_action_default" msgid="2840921885558045721">"Uitvoeren"</string> <string name="dial_number_using" msgid="5789176425167573586">"Nummer bellen"\n"met <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Contact maken"\n"met <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 66a7160..089026f 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Wymazywanie danych z telefonu bez ostrzeżenia, przez przywrócenie danych fabrycznych"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ustaw globalny serwer proxy urządzenia"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ustaw globalny serwer proxy urządzenia do wykorzystywania przy włączonych zasadach. Tylko pierwszy administrator urządzenia ustawia obowiązujący globalny serwer proxy."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Dom"</item> <item msgid="869923650527136615">"Komórka"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager służbowy"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asystent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"Wiadomość MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Niestandardowe"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Urodziny"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Rocznica"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Wydarzenie"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Inne"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Niestandardowy"</string> <string name="emailTypeHome" msgid="449227236140433919">"Domowy"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Służbowy"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Służbowy"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Inny"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Niestandardowy"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Niestandardowa"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Asystent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Brat"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Dziecko"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Partner życiowy"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Ojciec"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Znajomy"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Kierownik"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Matka"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Rodzic"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Z polecenia"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Krewny"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Siostra"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Współmałżonek"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Niestandardowy"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Domowy"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Służbowy"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Potwierdź"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Wskazówka: dotknij dwukrotnie, aby powiększyć lub pomniejszyć."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Wypełnij ten formularz automatycznie"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Wytnij"</string> <string name="copy" msgid="2681946229533511987">"Kopiuj"</string> <string name="paste" msgid="5629880836805036433">"Wklej"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Schowek jest pusty"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiuj adres URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Zaznacz tekst"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Zaznaczanie tekstu"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Wyślij"</string> <string name="ime_action_next" msgid="3138843904009813834">"Dalej"</string> <string name="ime_action_done" msgid="8971516117910934605">"Gotowe"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Wstecz"</string> <string name="ime_action_default" msgid="2840921885558045721">"Wykonaj"</string> <string name="dial_number_using" msgid="5789176425167573586">"Połącz"\n"z numerem <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Utwórz kontakt"\n"dla numeru <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 990d630..3f270a0 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Apagar os dados do telefone sem avisar, ao efectuar uma reposição de dados de fábrica"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir o proxy global do aparelho"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Definir o proxy global do aparelho a ser utilizado quando a política estiver activada. Só o primeiro administrador do aparelho define o proxy global efectivo."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Residência"</item> <item msgid="869923650527136615">"Móvel"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager do trabalho"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistente"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personalizado"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Data de nascimento"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Aniversário"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Evento"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Outro"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personalizado"</string> <string name="emailTypeHome" msgid="449227236140433919">"Residência"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Emprego"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Emprego"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Outro"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personalizado"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personalizado"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistente"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Irmão"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Filho"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Companheiro(a)"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Pai"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Amigo"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Director"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mãe"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Pais"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Sócio"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Recomendado por"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Família"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Irmã"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Cônjuge"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personalizado"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Página inicial"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Emprego"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Sugestão: toque duas vezes para aumentar ou diminuir o zoom."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Preenchimento automático deste formulário"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Colar"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Nada para colar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Seleccionar texto..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selecção de texto"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Enviar"</string> <string name="ime_action_next" msgid="3138843904009813834">"Seguinte"</string> <string name="ime_action_done" msgid="8971516117910934605">"Concluído"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Ant"</string> <string name="ime_action_default" msgid="2840921885558045721">"Executar"</string> <string name="dial_number_using" msgid="5789176425167573586">"Marcar número"\n"utilizando <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Criar contacto"\n"utilizando <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index ce106db..368132e 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Apaga os dados do telefone sem aviso, executando uma redefinição da configuração original"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir o proxy global do dispositivo"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Configura o proxy global do dispositivo para ser usado enquanto a política estiver ativada. Somente o primeiro administrador do dispositivo pode configurar um verdadeiro proxy global."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Residencial"</item> <item msgid="869923650527136615">"Celular"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager comercial"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistente"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Personalizado"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Aniversário"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Data comemorativa"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Evento"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Outros"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Personalizado"</string> <string name="emailTypeHome" msgid="449227236140433919">"Residencial"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Comercial"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Comercial"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Outros"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Personalizado"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Personalizado"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistente"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Irmão"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Filho(a)"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Parceiro doméstico"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Pai"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Amigo(a)"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Gerente"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mãe"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Pai/Mãe"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Parceiro"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Indicado por"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Parente"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Irmã"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Cônjuge"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Personalizado"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Página inicial"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Comercial"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Dica: toque duas vezes para aumentar e diminuir o zoom."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Preencher automaticamente este formulário"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Recortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Colar"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Nada para colar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Selecionar texto..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Seleção de texto"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Enviar"</string> <string name="ime_action_next" msgid="3138843904009813834">"Avançar"</string> <string name="ime_action_done" msgid="8971516117910934605">"Concluído"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Anter."</string> <string name="ime_action_default" msgid="2840921885558045721">"Executar"</string> <string name="dial_number_using" msgid="5789176425167573586">"Discar número"\n"usando <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Criar contato "\n"usando <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml index bbd61bd..e8f7298 100644 --- a/core/res/res/values-rm/strings.xml +++ b/core/res/res/values-rm/strings.xml @@ -488,6 +488,10 @@ <!-- outdated translation 2314060933796396205 --> <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Restaurar ils parameters originals dal telefonin. Qua tras vegnan tut Vossas datas stizzadas senza dumonda da conferma."</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir il proxy global da l\'apparat"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Definir il proxy global da l\'apparat che duai vegnir utilisà sche la directiva è activada. Mo l\'emprim administratur dad apparats definescha il vair proxy global."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Privat"</item> <item msgid="869923650527136615">"Telefonin"</item> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 4babb3b..0ef23ee 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Уничтожить все данные на телефоне без предупреждения путем сброса настроек"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Глобальный прокси-сервер"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Настройте глобальный прокси-сервер устройства, который будет использоваться при активной политике. Глобальный прокси-сервер должен настроить первый администратор устройства."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Домашний"</item> <item msgid="869923650527136615">"Мобильный"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Раб. пейджер"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Секретарь"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Особый"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"День рождения"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Юбилей"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Мероприятие"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Другой"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Создать свой ярлык"</string> <string name="emailTypeHome" msgid="449227236140433919">"Личный"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Рабочий"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Работа"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Другое"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Создать свой ярлык"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Особый"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Секретарь"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Брат"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Ребенок"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"В гражданском браке"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Отец"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Друг"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Руководитель"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Мать"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Родитель"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Партнер"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Рекомендуют:"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Родственник"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Сестра"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Супруг(а)"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Особый"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Домашний"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Рабочий"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Подтвердите"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Совет: нажмите дважды, чтобы увеличить и уменьшить масштаб."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Заполнить форму автоматически"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Вырезать"</string> <string name="copy" msgid="2681946229533511987">"Копировать"</string> <string name="paste" msgid="5629880836805036433">"Вставить"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Текст для вставки отсутствует"</string> <string name="copyUrl" msgid="2538211579596067402">"Копировать URL"</string> <string name="selectTextMode" msgid="6738556348861347240">"Выбрать текст..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Выбор текста"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Отправить"</string> <string name="ime_action_next" msgid="3138843904009813834">"Далее"</string> <string name="ime_action_done" msgid="8971516117910934605">"Готово"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Пред."</string> <string name="ime_action_default" msgid="2840921885558045721">"Выполнить"</string> <string name="dial_number_using" msgid="5789176425167573586">"Набрать номер"\n"<xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Создать контакт"\n"с номером <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 102a08d..8ac9273 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Ta bort data från telefonen utan förvarning genom att återställa standardinställningarna"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ange global proxyserver"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ange vilken global proxyserver som ska användas när policyn är aktiverad. Endast den första enhetsadministratören anger den faktiska globala proxyservern."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Hem"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsökare, arbetet"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Anpassad"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Födelsedag"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Högtidsdag"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Händelse"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Övrigt"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Anpassad"</string> <string name="emailTypeHome" msgid="449227236140433919">"Hem"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Arbete"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"Arbete"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Övrigt"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Anpassad"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Anpassad"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Assistent"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Bror"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Barn"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Sambo"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Pappa"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Vän"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Chef"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Mamma"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Förälder"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Rekommenderad av"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Släkting"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Syster"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Make/maka"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Anpassad"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Startsida"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Arbete"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Bekräfta"</string> <string name="double_tap_toast" msgid="1068216937244567247">"Tips! Dubbelklicka om du vill zooma in eller ut."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autofyll formuläret"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Klipp ut"</string> <string name="copy" msgid="2681946229533511987">"Kopiera"</string> <string name="paste" msgid="5629880836805036433">"Klistra in"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Inget att klistra in"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiera webbadress"</string> <string name="selectTextMode" msgid="6738556348861347240">"Markera text..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Textmarkering"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Skicka"</string> <string name="ime_action_next" msgid="3138843904009813834">"Nästa"</string> <string name="ime_action_done" msgid="8971516117910934605">"Färdig"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Föreg."</string> <string name="ime_action_default" msgid="2840921885558045721">"Utför"</string> <string name="dial_number_using" msgid="5789176425167573586">"Slå nummer "\n"med <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"Skapa kontakt"\n"med <xliff:g id="NUMBER">%s</xliff:g>"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index a6bfbf6..90dd16d 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"Fabrika verilerine sıfırlama işlemi gerçekleştirerek telefondaki verileri uyarıda bulunmadan silin"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Cihaz genelinde geçerli proxy\'i ayarla"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Politika etkin olduğunda kullanılacak cihaz genelinde geçerli proxy\'yi ayarlayın. Etkin genel proxy\'yi yalnızca ilk cihaz yöneticisi ayarlar."</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Ev"</item> <item msgid="869923650527136615">"Mobil"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"İş Yeri Çağrı Cihazı"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Yardımcı"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"Özel"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Doğum günü"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Yıldönümü"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"Etkinlik"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"Diğer"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Özel"</string> <string name="emailTypeHome" msgid="449227236140433919">"Ev"</string> <string name="emailTypeWork" msgid="3548058059601149973">"İş"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"İş"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Diğer"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Özel"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"Özel"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"Yardımcı"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"Erkek Kardeş"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"Çocuk"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"Hayat Arkadaşı"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"Baba"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"Arkadaş"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"Yönetici"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"Anne"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"Ebeveyn"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Hayat Arkadaşı"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Öneren"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"Akraba"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"Kız Kardeş"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Eş"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Özel"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Ev"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"İş"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"Onayla"</string> <string name="double_tap_toast" msgid="1068216937244567247">"İpucu: Yakınlaştırmak ve uzaklaştırmak için iki kez hafifçe vurun."</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Bu formu otomatik doldur"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"Kes"</string> <string name="copy" msgid="2681946229533511987">"Kopyala"</string> <string name="paste" msgid="5629880836805036433">"Yapıştır"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"Yapştrlck bir şy yok"</string> <string name="copyUrl" msgid="2538211579596067402">"URL\'yi kopyala"</string> <string name="selectTextMode" msgid="6738556348861347240">"Metin seç..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Metin seçimi"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"Gönder"</string> <string name="ime_action_next" msgid="3138843904009813834">"İleri"</string> <string name="ime_action_done" msgid="8971516117910934605">"Bitti"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"Önceki"</string> <string name="ime_action_default" msgid="2840921885558045721">"Çalıştır"</string> <string name="dial_number_using" msgid="5789176425167573586">"Numarayı çevir:"\n"<xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"<xliff:g id="NUMBER">%s</xliff:g>"\n" ile kişi oluştur"</string> diff --git a/core/res/res/values-xlarge/styles.xml b/core/res/res/values-xlarge/styles.xml index 4692656..316861e 100644 --- a/core/res/res/values-xlarge/styles.xml +++ b/core/res/res/values-xlarge/styles.xml @@ -30,9 +30,9 @@ </style> <style name="TextAppearance.StatusBar.EventContent"> <item name="android:textColor">?android:attr/textColorPrimary</item> + <item name="android:textSize">16sp</item> </style> <style name="TextAppearance.StatusBar.EventContent.Title"> - <item name="android:textSize">18sp</item> <item name="android:textStyle">bold</item> </style> </resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 4fd5161..9dc64a4 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"恢复出厂设置时,将擦除手机上的数据而不发送警告"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"设置设备全局代理"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"请设置在启用政策的情况下要使用的设备全局代理。只有第一设备管理员才可设置有效的全局代理。"</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"住宅"</item> <item msgid="869923650527136615">"手机"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"单位寻呼机"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"助理"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"彩信"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"自定义"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"生日"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"周年纪念"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"活动"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"其他"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"自定义"</string> <string name="emailTypeHome" msgid="449227236140433919">"家用"</string> <string name="emailTypeWork" msgid="3548058059601149973">"单位"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"公司"</string> <string name="orgTypeOther" msgid="3951781131570124082">"其他"</string> <string name="orgTypeCustom" msgid="225523415372088322">"自定义"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"自定义"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"助理"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"兄弟"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"子女"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"同居伴侣"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"父亲"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"朋友"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"经理"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"母亲"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"父母"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"合作伙伴"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"介绍人"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"亲属"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"姐妹"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"配偶"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"自定义"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"住宅"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"单位"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"确认"</string> <string name="double_tap_toast" msgid="1068216937244567247">"提示:点按两次可放大和缩小。"</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"自动填充此表单"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"剪切"</string> <string name="copy" msgid="2681946229533511987">"复制"</string> <string name="paste" msgid="5629880836805036433">"粘贴"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"剪贴板无内容"</string> <string name="copyUrl" msgid="2538211579596067402">"复制网址"</string> <string name="selectTextMode" msgid="6738556348861347240">"选择文字..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"文字选择"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"发送"</string> <string name="ime_action_next" msgid="3138843904009813834">"下一步"</string> <string name="ime_action_done" msgid="8971516117910934605">"完成"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"上一页"</string> <string name="ime_action_default" msgid="2840921885558045721">"执行"</string> <string name="dial_number_using" msgid="5789176425167573586">"拨打电话"\n"<xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="create_contact_using" msgid="4947405226788104538">"创建电话号码为"\n"<xliff:g id="NUMBER">%s</xliff:g> 的联系人"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 6d5c4d4..37f9d58 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -482,6 +482,10 @@ <string name="policydesc_wipeData" product="default" msgid="7669895333814222586">"執行重設為原廠設定時,系統會直接清除手機資料而不提出警告"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"設定裝置全域 Proxy"</string> <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"設定政策啟用時所要使用的裝置全域 Proxy,只有第一個裝置管理員所設定的全域 Proxy 具有效力。"</string> + <!-- no translation found for policylab_expirePassword (2314569545488269564) --> + <skip /> + <!-- no translation found for policydesc_expirePassword (7276906351852798814) --> + <skip /> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"住家電話"</item> <item msgid="869923650527136615">"行動電話"</item> @@ -546,11 +550,10 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"公司呼叫器"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"助理"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <!-- no translation found for eventTypeCustom (7837586198458073404) --> - <skip /> + <string name="eventTypeCustom" msgid="7837586198458073404">"自訂"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"生日"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"週年紀念日"</string> - <!-- outdated translation 5834288791948564594 --> <string name="eventTypeOther" msgid="7388178939010143077">"活動"</string> + <string name="eventTypeOther" msgid="7388178939010143077">"其他"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"自訂"</string> <string name="emailTypeHome" msgid="449227236140433919">"住家"</string> <string name="emailTypeWork" msgid="3548058059601149973">"公司"</string> @@ -577,36 +580,21 @@ <string name="orgTypeWork" msgid="29268870505363872">"公司"</string> <string name="orgTypeOther" msgid="3951781131570124082">"其他"</string> <string name="orgTypeCustom" msgid="225523415372088322">"自訂"</string> - <!-- no translation found for relationTypeCustom (3542403679827297300) --> - <skip /> - <!-- no translation found for relationTypeAssistant (6274334825195379076) --> - <skip /> - <!-- no translation found for relationTypeBrother (8757913506784067713) --> - <skip /> - <!-- no translation found for relationTypeChild (1890746277276881626) --> - <skip /> - <!-- no translation found for relationTypeDomesticPartner (6904807112121122133) --> - <skip /> - <!-- no translation found for relationTypeFather (5228034687082050725) --> - <skip /> - <!-- no translation found for relationTypeFriend (7313106762483391262) --> - <skip /> - <!-- no translation found for relationTypeManager (6365677861610137895) --> - <skip /> - <!-- no translation found for relationTypeMother (4578571352962758304) --> - <skip /> - <!-- no translation found for relationTypeParent (4755635567562925226) --> - <skip /> - <!-- no translation found for relationTypePartner (7266490285120262781) --> - <skip /> - <!-- no translation found for relationTypeReferredBy (101573059844135524) --> - <skip /> - <!-- no translation found for relationTypeRelative (1799819930085610271) --> - <skip /> - <!-- no translation found for relationTypeSister (1735983554479076481) --> - <skip /> - <!-- no translation found for relationTypeSpouse (394136939428698117) --> - <skip /> + <string name="relationTypeCustom" msgid="3542403679827297300">"自訂"</string> + <string name="relationTypeAssistant" msgid="6274334825195379076">"助理"</string> + <string name="relationTypeBrother" msgid="8757913506784067713">"兄弟"</string> + <string name="relationTypeChild" msgid="1890746277276881626">"子女"</string> + <string name="relationTypeDomesticPartner" msgid="6904807112121122133">"同居人"</string> + <string name="relationTypeFather" msgid="5228034687082050725">"父親"</string> + <string name="relationTypeFriend" msgid="7313106762483391262">"好友"</string> + <string name="relationTypeManager" msgid="6365677861610137895">"經理"</string> + <string name="relationTypeMother" msgid="4578571352962758304">"母親"</string> + <string name="relationTypeParent" msgid="4755635567562925226">"父母"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"夥伴"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"介紹人"</string> + <string name="relationTypeRelative" msgid="1799819930085610271">"親戚"</string> + <string name="relationTypeSister" msgid="1735983554479076481">"姊妹"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"配偶"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"自訂"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"住家"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"公司"</string> @@ -674,8 +662,7 @@ <string name="save_password_label" msgid="6860261758665825069">"確認"</string> <string name="double_tap_toast" msgid="1068216937244567247">"提示:輕按兩下可放大縮小。"</string> <!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"自動填寫此表單"</string> - <!-- no translation found for autofill_address_name_separator (2504700673286691795) --> - <skip /> + <string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string> <!-- no translation found for autofill_address_summary_name_format (3268041054899214945) --> <skip /> <!-- no translation found for autofill_address_summary_separator (7483307893170324129) --> @@ -804,8 +791,7 @@ <string name="cut" msgid="3092569408438626261">"剪下"</string> <string name="copy" msgid="2681946229533511987">"複製"</string> <string name="paste" msgid="5629880836805036433">"貼上"</string> - <!-- no translation found for pasteDisabled (7259254654641456570) --> - <skip /> + <string name="pasteDisabled" msgid="7259254654641456570">"沒有可貼上的內容"</string> <string name="copyUrl" msgid="2538211579596067402">"複製網址"</string> <string name="selectTextMode" msgid="6738556348861347240">"選取文字..."</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"選取文字"</string> @@ -951,8 +937,7 @@ <string name="ime_action_send" msgid="2316166556349314424">"傳送"</string> <string name="ime_action_next" msgid="3138843904009813834">"下一頁"</string> <string name="ime_action_done" msgid="8971516117910934605">"完成"</string> - <!-- no translation found for ime_action_previous (1443550039250105948) --> - <skip /> + <string name="ime_action_previous" msgid="1443550039250105948">"上一步"</string> <string name="ime_action_default" msgid="2840921885558045721">"執行"</string> <string name="dial_number_using" msgid="5789176425167573586">"使用 <xliff:g id="NUMBER">%s</xliff:g>"\n"撥號"</string> <string name="create_contact_using" msgid="4947405226788104538">"建立手機號碼為 <xliff:g id="NUMBER">%s</xliff:g>"\n"的聯絡人"</string> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 55b3258..651bfea 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -49,7 +49,6 @@ window is floating. --> <attr name="backgroundDimEnabled" format="boolean" /> - <!-- =========== --> <!-- Text styles --> <!-- =========== --> @@ -608,6 +607,9 @@ <!-- SearchView dropdown background --> <attr name="searchDropdownBackground" format="reference" /> + + <!-- Specifies a drawable to use for the 'home as up' indicator. --> + <attr name="homeAsUpIndicator" format="reference" /> </declare-styleable> <!-- **************************************************************** --> @@ -2940,6 +2942,14 @@ <attr name="bottom" format="dimension" /> </declare-styleable> + <declare-styleable name="LayerDrawable"> + <attr name="opacity"> + <enum name="opaque" value="-1" /> + <enum name="transparent" value="-2" /> + <enum name="translucent" value="-3" /> + </attr> + </declare-styleable> + <declare-styleable name="LayerDrawableItem"> <attr name="left" /> <attr name="top" /> @@ -3854,6 +3864,8 @@ <!-- Base attributes available to Preference. --> <declare-styleable name="Preference"> + <!-- The optional icon for the preference --> + <attr name="icon" /> <!-- The key to store the Preference value. --> <attr name="key" format="string" /> <!-- The title for the Preference in a PreferenceActivity screen. --> @@ -4401,8 +4413,8 @@ <attr name="customNavigationLayout" format="reference" /> <!-- Specifies a fixed height. --> <attr name="height" /> - <!-- Specifies a drawable to use for the 'home as up' indicator. --> - <attr name="homeAsUpIndicator" format="reference" /> + <!-- Specifies a layout to use for the "home" section of the action bar. --> + <attr name="homeLayout" format="reference" /> <!-- Specifies a style resource to use for an embedded progress bar. --> <attr name="progressBarStyle" /> <!-- Specifies a style resource to use for an indeterminate progress spinner. --> diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml index b7f177f..7a0fede 100644 --- a/core/res/res/values/ids.xml +++ b/core/res/res/values/ids.xml @@ -72,4 +72,5 @@ <item type="id" name="home" /> <item type="id" name="fillInIntent" /> <item type="id" name="rowTypeId" /> + <item type="id" name="up" /> </resources> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index ad4e7a2..e319fa0 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1377,6 +1377,8 @@ <public type="attr" name="animationResolution" /> <public type="attr" name="state_accelerated" /> <public type="attr" name="baseline" /> + <public type="attr" name="homeLayout" /> + <public type="attr" name="opacity" /> <public type="anim" name="animator_fade_in" /> <public type="anim" name="animator_fade_out" /> @@ -1394,6 +1396,7 @@ <!-- Context menu ID for the "Select text..." menu item to switch to text selection context mode in text views. --> <public type="id" name="selectTextMode" /> + <public type="id" name="up" /> <!-- Standard content view for a {@link android.app.ListFragment}. If you are implementing a subclass of ListFragment with your @@ -1447,4 +1450,7 @@ <public type="style" name="Theme.Holo.Light.DialogWhenLarge" /> <public type="string" name="selectTextMode" /> + + <public type="style" name="Theme.Holo.Wallpaper" /> + <public type="style" name="Theme.Holo.Wallpaper.NoTitleBar" /> </resources> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 64cd00a..c8a5de8 100755 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1806,7 +1806,7 @@ <!-- Do not translate. WebView User Agent string --> <string name="web_user_agent" translatable="false">Mozilla/5.0 (Linux; U; <xliff:g id="x">Android %s</xliff:g>) - AppleWebKit/534.11 (KHTML, like Gecko) Version/4.0 <xliff:g id="mobile">%s</xliff:g>Safari/534.11</string> + AppleWebKit/534.12 (KHTML, like Gecko) Version/4.0 <xliff:g id="mobile">%s</xliff:g>Safari/534.12</string> <!-- Do not translate. WebView User Agent targeted content --> <string name="web_user_agent_target_content" translatable="false">"Mobile "</string> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index dc67f45..457ba0c 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -917,6 +917,7 @@ <item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Subtitle</item> <item name="android:progressBarStyle">@android:style/Widget.ProgressBar.Horizontal</item> <item name="android:indeterminateProgressStyle">@android:style/Widget.ProgressBar.Small</item> + <item name="android:homeLayout">@layout/action_bar_home</item> </style> <style name="Widget.ActionMode"> @@ -1508,6 +1509,8 @@ <style name="Widget.Holo.ActionButton.Overflow"> <item name="android:src">@android:drawable/ic_menu_moreoverflow_holo_dark</item> <item name="android:background">?android:attr/selectableItemBackground</item> + <item name="android:paddingLeft">16dip</item> + <item name="android:paddingRight">16dip</item> </style> <style name="Widget.Holo.ActionButton.TextButton" parent="Widget.Holo.ButtonBar.Button"> @@ -1540,7 +1543,6 @@ <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle</item> <item name="android:background">@null</item> <item name="android:divider">?android:attr/dividerVertical</item> - <item name="android:homeAsUpIndicator">@android:drawable/ic_ab_back_holo_dark</item> <item name="android:progressBarStyle">@android:style/Widget.Holo.ProgressBar.Horizontal</item> <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.ProgressBar</item> <item name="android:progressBarPadding">32dip</item> @@ -1773,6 +1775,8 @@ <style name="Widget.Holo.Light.ActionButton.Overflow"> <item name="android:src">@android:drawable/ic_menu_moreoverflow_holo_light</item> <item name="android:background">?android:attr/selectableItemBackground</item> + <item name="android:paddingLeft">16dip</item> + <item name="android:paddingRight">16dip</item> </style> <style name="Widget.Holo.Light.ActionBarView_TabView" parent="Widget.ActionBarView_TabView"> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index dd7c8e48..b5dcf05 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -367,7 +367,7 @@ </style> <!-- Default theme for windows that want to have the user's selected - wallpaper appear behind them. --> + wallpaper appear behind them. --> <style name="Theme.Wallpaper"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> @@ -706,6 +706,7 @@ <item name="groupButtonBackground">@android:drawable/group_button_background_holo_dark</item> <item name="selectableItemBackground">@android:drawable/item_background_holo_dark</item> + <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_dark</item> <!-- List attributes --> <item name="listPreferredItemHeight">64dip</item> @@ -942,6 +943,7 @@ <item name="groupButtonBackground">@android:drawable/group_button_background_holo_light</item> <item name="selectableItemBackground">@android:drawable/item_background_holo_light</item> + <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_light</item> <!-- List attributes --> <item name="listPreferredItemHeight">64dip</item> @@ -1238,4 +1240,17 @@ <item name="windowContentOverlay">@null</item> </style> + <!-- Default holographic (dark) for windows that want to have the user's selected + wallpaper appear behind them. --> + <style name="Theme.Holo.Wallpaper"> + <item name="android:windowBackground">@android:color/transparent</item> + <item name="android:colorBackgroundCacheHint">@null</item> + <item name="android:windowShowWallpaper">true</item> + </style> + + <!-- Variant of the holographic (dark) theme with no title bar --> + <style name="Theme.Holo.Wallpaper.NoTitleBar"> + <item name="android:windowNoTitle">true</item> + </style> + </resources> diff --git a/docs/html/guide/topics/manifest/manifest-element.jd b/docs/html/guide/topics/manifest/manifest-element.jd index a35c5a1..7f21e6b 100644 --- a/docs/html/guide/topics/manifest/manifest-element.jd +++ b/docs/html/guide/topics/manifest/manifest-element.jd @@ -159,6 +159,9 @@ multiple SD cards can be used with the same device.</li> storage. However, the system will not allow the user to move the application to external storage if this attribute is set to {@code internalOnly}, which is the default setting.</p> +<p>Read <a href="{@docRoot}guide/appendix/install-location.html">App Install Location</a> for +more information about using this attribute (including how to maintain backward compatibility).</p> + <p>Introduced in: API Level 8.</p> @@ -173,7 +176,7 @@ this attribute is set to {@code internalOnly}, which is the default setting.</p> <p> <dt>see also:</dt> -<dd><a href="{@docRoot}guide/appendix/install-location.html">App Install Location</a><br/> +<dd> <code><a href="{@docRoot}guide/topics/manifest/application-element.html"><application></a></code></dd> </dl> diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd index 45f4a66..b5b30f6 100644 --- a/docs/html/guide/topics/manifest/uses-feature-element.jd +++ b/docs/html/guide/topics/manifest/uses-feature-element.jd @@ -472,11 +472,11 @@ If you are developing in Eclipse with ADT, right-click the project and select Package</strong>. Select a destination filename and path and click <strong>OK</strong>. </li> <li>Next, locate the <code>aapt</code> tool, if it is not already in your PATH. -If you are using SDK Tools r7 or earlier, you can find <code>aapt</code> in the -<code><<em>SDK</em>>/platforms/android-<<em>platform</em>>/tools/</code> directory. +If you are using SDK Tools r8 or higher, you can find <code>aapt</code> in the +<code><<em>SDK</em>>/platform-tools/</code> directory. <p class="note"><strong>Note:</strong> You must use the version of -<code>aapt</code> that is provided for the latest platform release available. If -you do not have the latest platform release, download it using the <a +<code>aapt</code> that is provided for the latest Platform-Tools component available. If +you do not have the latest Platform-Tools component, download it using the <a href="{@docRoot}sdk/adding-components.html">Android SDK and AVD Manager</a>. </p></li> <li>Run <code>aapt</code> using this syntax: </li> @@ -522,6 +522,14 @@ in a separate <code><uses-feature></code> element. </p> <th>Comments</th> </tr> <tr> + <td>Audio</td> + <td><code>android.hardware.audio.low_latency</td> + <td>The application uses a low-latency audio pipeline on the device and +is sensitive to delays or lag in sound input or output.</td> +<td> +</td> + </tr> + <tr> <td>Bluetooth</td> <td><code>android.hardware.bluetooth</td> <td>The application uses Bluetooth radio features in the device.</td> @@ -529,7 +537,7 @@ in a separate <code><uses-feature></code> element. </p> </td> </tr> <tr> - <td rowspan="3">Camera</td> + <td rowspan="4">Camera</td> <td><code>android.hardware.camera</code></td> <td>The application uses the device's camera. If the device supports multiple cameras, the application uses the camera that facing @@ -539,7 +547,7 @@ in a separate <code><uses-feature></code> element. </p> <tr> <td><code>android.hardware.camera.autofocus</code></td> <td>Subfeature. The application uses the device camera's autofocus capability.</td> - <td rowspan="2">If declared with the <code>"android:required="true"</code> + <td rowspan="3">If declared with the <code>"android:required="true"</code> attribute, these subfeatures implicitly declare the <code>android.hardware.camera</code> parent feature. </td> </tr> @@ -547,6 +555,10 @@ attribute, these subfeatures implicitly declare the <td><code>android.hardware.camera.flash</code></td> <td>Subfeature. The application uses the device camera's flash.</td> </tr> +<tr> + <td><code>android.hardware.camera.front</code></td> + <td>Subfeature. The application uses a front-facing camera on the device.</td> +</tr> <tr> <td rowspan="3">Location</td> @@ -568,21 +580,43 @@ attribute, these subfeatures implicitly declare the <td>Subfeature. The application uses precise location coordinates obtained from a Global Positioning System receiver on the device. </td> </tr> - <tr> - <td rowspan="4">Sensors</td> + <td>Microphone</td> + <td><code>android.hardware.microphone</code></td> + <td>The application uses a microphone on the device. + </td> + <td></td> +</tr> +<tr> + <td>Near Field Communications</td> + <td><code>android.hardware.nfc</td> + <td>The application uses NFC radio features in the device.</td> + <td></td> +</tr> +<tr> + <td rowspan="6">Sensors</td> <td><code>android.hardware.sensor.accelerometer</code></td> <td>The application uses motion readings from an accelerometer on the device.</td> <td></td> </tr> <tr> + <td><code>android.hardware.sensor.barometer</code></td> + <td>The application uses the device's barometer.</td> + <td></td> +</tr> +<tr> <td><code>android.hardware.sensor.compass</code></td> <td>The application uses directional readings from a magnetometer (compass) on the device.</td> <td></td> </tr> <tr> + <td><code>android.hardware.sensor.gyroscope</code></td> + <td>The application uses the device's gyroscope sensor.</td> + <td></td> +</tr> +<tr> <td><code>android.hardware.sensor.light</code></td> <td>The application uses the device's light sensor.</td> <td></td> @@ -593,12 +627,20 @@ the device.</td> <td></td> </tr> <tr> - <td>Microphone</td> - <td><code>android.hardware.microphone</code></td> - <td>The application uses a microphone on the device. + <td rowspan="2">SIP/VOIP</td> + <td><code>android.hardware.sip</code></td> + <td>The application uses SIP service on the device. </td> <td></td> </tr> +<tr> + <td><code>android.hardware.sip.voip</code></td> + <td>Subfeature. The application uses SIP-based VOIP service on the device. + </td> + <td>If declared with the <code>"android:required="true"</code> attribute, this +subfeature implicitly declares the <code>android.hardware.sip</code> +parent feature.</td> +</tr> <tr> <td rowspan="3">Telephony</td> @@ -622,14 +664,14 @@ device.</td> </tr> <tr> - <td rowspan="3">Touchscreen</td> + <td rowspan="4">Touchscreen</td> <td><code>android.hardware.touchscreen</code></td> <td>The application uses touchscreen capabilities on the device.</td> <td></td> </tr> <tr> <td><code>android.hardware.touchscreen.multitouch</code></td> - <td>The application uses basic two-point multitouch capabilities on the device + <td>Subfeature. The application uses basic two-point multitouch capabilities on the device screen.</td> <td>If declared with the <code>"android:required="true"</code> attribute, this subfeature implicitly declares the <code>android.hardware.touchscreen</code> @@ -640,10 +682,16 @@ parent feature. </td> <td>Subfeature. The application uses advanced multipoint multitouch capabilities on the device screen, such as for tracking two or more points fully independently.</td> - <td>If declared with the <code>"android:required="true"</code> attribute, this + <td rowspan="2">If declared with the <code>"android:required="true"</code> attribute, this subfeature implicitly declares the <code>android.hardware.touchscreen.multitouch</code> parent feature. </td> </tr> +<tr> + <td><code>android.hardware.touchscreen.multitouch.jazzhand</code></td> + <td>Subfeature. The application uses advanced multipoint multitouch +capabilities on the device screen, for tracking up to five points fully +independently.</td> +</tr> <tr> <td>Wifi</td> diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java index b6cce7e..09c041f 100644 --- a/graphics/java/android/graphics/drawable/LayerDrawable.java +++ b/graphics/java/android/graphics/drawable/LayerDrawable.java @@ -26,6 +26,7 @@ import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.Rect; import android.util.AttributeSet; +import android.util.Slog; import android.view.View; import java.io.IOException; @@ -49,6 +50,7 @@ import java.io.IOException; public class LayerDrawable extends Drawable implements Drawable.Callback { LayerState mLayerState; + private int mOpacityOverride = PixelFormat.UNKNOWN; private int[] mPaddingL; private int[] mPaddingT; private int[] mPaddingR; @@ -113,6 +115,13 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { int type; + TypedArray a = r.obtainAttributes(attrs, com.android.internal.R.styleable.LayerDrawable); + + mOpacityOverride = a.getInt(com.android.internal.R.styleable.LayerDrawable_opacity, + PixelFormat.UNKNOWN); + + a.recycle(); + final int innerDepth = parser.getDepth() + 1; int depth; while ((type = parser.next()) != XmlPullParser.END_DOCUMENT @@ -125,7 +134,7 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { continue; } - TypedArray a = r.obtainAttributes(attrs, + a = r.obtainAttributes(attrs, com.android.internal.R.styleable.LayerDrawableItem); int left = a.getDimensionPixelOffset( @@ -391,9 +400,28 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { array[i].mDrawable.setColorFilter(cf); } } + + /** + * Sets the opacity of this drawable directly, instead of collecting the states from + * the layers + * + * @param opacity The opacity to use, or {@link PixelFormat#UNKNOWN PixelFormat.UNKNOWN} + * for the default behavior + * + * @see PixelFormat#UNKNOWN + * @see PixelFormat#TRANSLUCENT + * @see PixelFormat#TRANSPARENT + * @see PixelFormat#OPAQUE + */ + public void setOpacity(int opacity) { + mOpacityOverride = opacity; + } @Override public int getOpacity() { + if (mOpacityOverride != PixelFormat.UNKNOWN) { + return mOpacityOverride; + } return mLayerState.getOpacity(); } diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 20949a4..dcf86e3 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -402,9 +402,9 @@ public class RenderScript { synchronized void nScriptCSetScript(byte[] script, int offset, int length) { rsnScriptCSetScript(mContext, script, offset, length); } - native int rsnScriptCCreate(int con); - synchronized int nScriptCCreate() { - return rsnScriptCCreate(mContext); + native int rsnScriptCCreate(int con, String val); + synchronized int nScriptCCreate(String val) { + return rsnScriptCCreate(mContext, val); } native void rsnSamplerBegin(int con); @@ -814,6 +814,3 @@ public class RenderScript { return 0; } } - - - diff --git a/graphics/java/android/renderscript/ScriptC.java b/graphics/java/android/renderscript/ScriptC.java index 44fc5fd..64ed75b 100644 --- a/graphics/java/android/renderscript/ScriptC.java +++ b/graphics/java/android/renderscript/ScriptC.java @@ -75,7 +75,7 @@ public class ScriptC extends Script { rs.nScriptCBegin(); rs.nScriptCSetScript(pgm, 0, pgmLength); - return rs.nScriptCCreate(); + Log.v(TAG, "Create script for resource = " + resources.getResourceName(resourceID)); + return rs.nScriptCCreate(resources.getResourceName(resourceID)); } } - diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 8888459..1cc4386 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -954,10 +954,11 @@ exit: } static jint -nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con) +nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con, jstring resName) { LOG_API("nScriptCCreate, con(%p)", con); - return (jint)rsScriptCCreate(con); + const char* resNameUTF = _env->GetStringUTFChars(resName, NULL); + return (jint)rsScriptCCreate(con, resNameUTF); } // --------------------------------------------------------------------------- @@ -1346,7 +1347,7 @@ static JNINativeMethod methods[] = { {"rsnScriptCBegin", "(I)V", (void*)nScriptCBegin }, {"rsnScriptCSetScript", "(I[BII)V", (void*)nScriptCSetScript }, -{"rsnScriptCCreate", "(I)I", (void*)nScriptCCreate }, +{"rsnScriptCCreate", "(ILjava/lang/String;)I", (void*)nScriptCCreate }, {"rsnProgramStoreBegin", "(III)V", (void*)nProgramStoreBegin }, {"rsnProgramStoreDepthFunc", "(II)V", (void*)nProgramStoreDepthFunc }, diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index cce2400..1e29d82 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -156,6 +156,7 @@ public: MODE_NORMAL = 0, MODE_RINGTONE, MODE_IN_CALL, + MODE_IN_COMMUNICATION, NUM_MODES // not a valid entry, denotes end-of-list }; diff --git a/include/media/EffectApi.h b/include/media/EffectApi.h index 16fb43c..b97c22e 100644 --- a/include/media/EffectApi.h +++ b/include/media/EffectApi.h @@ -602,9 +602,9 @@ enum audio_device_e { // Audio mode enum audio_mode_e { - AUDIO_MODE_NORMAL, // phone idle - AUDIO_MODE_RINGTONE, // phone ringing - AUDIO_MODE_IN_CALL // phone call connected + AUDIO_MODE_NORMAL, // device idle + AUDIO_MODE_RINGTONE, // device ringing + AUDIO_MODE_IN_CALL // audio call connected (VoIP or telephony) }; // Values for "accessMode" field of buffer_config_t: diff --git a/include/ui/FramebufferNativeWindow.h b/include/ui/FramebufferNativeWindow.h index c913355..2cd0911 100644 --- a/include/ui/FramebufferNativeWindow.h +++ b/include/ui/FramebufferNativeWindow.h @@ -29,6 +29,7 @@ #include <ui/egl/android_natives.h> +#define NUM_FRAME_BUFFERS 2 extern "C" EGLNativeWindowType android_createDisplaySurface(void); @@ -72,7 +73,7 @@ private: framebuffer_device_t* fbDev; alloc_device_t* grDev; - sp<NativeBuffer> buffers[2]; + sp<NativeBuffer> buffers[NUM_FRAME_BUFFERS]; sp<NativeBuffer> front; mutable Mutex mutex; diff --git a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java index 359f334..76c23b7 100644 --- a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java +++ b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java @@ -33,8 +33,6 @@ public class BallsRS { private ProgramFragment mPFLines; private ProgramFragment mPFPoints; private ProgramVertex mPV; - private ProgramRaster mPR; - private ProgramStore mPS; private ScriptField_Point mPoints; private ScriptField_Point mArcs; private ScriptField_VpConsts mVpConsts; @@ -48,12 +46,6 @@ public class BallsRS { mVpConsts.set(i, 0, true); } - private void createProgramRaster() { - ProgramRaster.Builder b = new ProgramRaster.Builder(mRS); - mPR = b.create(); - mScript.set_gPR(mPR); - } - private void createProgramVertex() { updateProjectionMatrices(); @@ -71,7 +63,7 @@ public class BallsRS { sb.addInput(mPoints.getElement()); ProgramVertex pvs = sb.create(); pvs.bindConstants(mVpConsts.getAllocation(), 0); - mScript.set_gPV(pvs); + mRS.contextBindProgramVertex(pvs); } private Allocation loadTexture(int id) { @@ -125,10 +117,8 @@ public class BallsRS { mScript.set_gPFLines(mPFLines); mScript.set_gPFPoints(mPFPoints); createProgramVertex(); - createProgramRaster(); - mPS = ProgramStore.BLEND_ADD_DEPTH_NO_DEPTH(mRS); - mScript.set_gPS(mPS); + mRS.contextBindProgramStore(ProgramStore.BLEND_ADD_DEPTH_NO_DEPTH(mRS)); mPhysicsScript.set_gMinPos(new Float2(5, 5)); mPhysicsScript.set_gMaxPos(new Float2(width - 5, height - 5)); diff --git a/libs/rs/java/Balls/src/com/android/balls/balls.rs b/libs/rs/java/Balls/src/com/android/balls/balls.rs index bbd03cf..3edbe2d 100644 --- a/libs/rs/java/Balls/src/com/android/balls/balls.rs +++ b/libs/rs/java/Balls/src/com/android/balls/balls.rs @@ -4,13 +4,11 @@ #include "balls.rsh" -#pragma stateFragment(parent) +#pragma stateVertex(parent) +#pragma stateStore(parent) rs_program_fragment gPFPoints; rs_program_fragment gPFLines; -rs_program_vertex gPV; -rs_program_raster gPR; -rs_program_store gPS; rs_mesh partMesh; rs_mesh arcMesh; @@ -95,9 +93,6 @@ int root() { frame++; rsgBindProgramFragment(gPFLines); - rsgBindProgramVertex(gPV); - rsgBindProgramRaster(gPR); - rsgBindProgramStore(gPS); rsgDrawMesh(arcMesh, 0, 0, arcIdx); rsgBindProgramFragment(gPFPoints); rsgDrawMesh(partMesh); diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec index 76db14f..1b584c8 100644 --- a/libs/rs/rs.spec +++ b/libs/rs/rs.spec @@ -320,6 +320,7 @@ ScriptCSetText { } ScriptCCreate { + param const char * resName ret RsScript } diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp index 18bf9fa..143c4dc 100644 --- a/libs/rs/rsContext.cpp +++ b/libs/rs/rsContext.cpp @@ -262,21 +262,27 @@ void Context::deinitEGL() { } } +Context::PushState::PushState(Context *con) { + mRsc = con; + mFragment.set(con->getProgramFragment()); + mVertex.set(con->getProgramVertex()); + mStore.set(con->getProgramStore()); + mRaster.set(con->getProgramRaster()); +} + +Context::PushState::~PushState() { + mRsc->setProgramFragment(mFragment.get()); + mRsc->setProgramVertex(mVertex.get()); + mRsc->setProgramStore(mStore.get()); + mRsc->setProgramRaster(mRaster.get()); + mRsc->setFont(mFont.get()); +} + uint32_t Context::runScript(Script *s) { - ObjectBaseRef<ProgramFragment> frag(mFragment); - ObjectBaseRef<ProgramVertex> vtx(mVertex); - ObjectBaseRef<ProgramStore> store(mFragmentStore); - ObjectBaseRef<ProgramRaster> raster(mRaster); - ObjectBaseRef<Font> font(mFont); + PushState(this); uint32_t ret = s->run(this); - - mFragment.set(frag); - mVertex.set(vtx); - mFragmentStore.set(store); - mRaster.set(raster); - mFont.set(font); return ret; } @@ -441,13 +447,13 @@ void * Context::threadProc(void *vrsc) { rsc->mScriptC.init(rsc); if (rsc->mIsGraphicsContext) { rsc->mStateRaster.init(rsc); - rsc->setRaster(NULL); + rsc->setProgramRaster(NULL); rsc->mStateVertex.init(rsc); - rsc->setVertex(NULL); + rsc->setProgramVertex(NULL); rsc->mStateFragment.init(rsc); - rsc->setFragment(NULL); + rsc->setProgramFragment(NULL); rsc->mStateFragmentStore.init(rsc); - rsc->setFragmentStore(NULL); + rsc->setProgramStore(NULL); rsc->mStateFont.init(rsc); rsc->setFont(NULL); rsc->mStateVertexArray.init(rsc); @@ -753,7 +759,7 @@ void Context::setRootScript(Script *s) { mRootScript.set(s); } -void Context::setFragmentStore(ProgramStore *pfs) { +void Context::setProgramStore(ProgramStore *pfs) { rsAssert(mIsGraphicsContext); if (pfs == NULL) { mFragmentStore.set(mStateFragmentStore.mDefault); @@ -762,7 +768,7 @@ void Context::setFragmentStore(ProgramStore *pfs) { } } -void Context::setFragment(ProgramFragment *pf) { +void Context::setProgramFragment(ProgramFragment *pf) { rsAssert(mIsGraphicsContext); if (pf == NULL) { mFragment.set(mStateFragment.mDefault); @@ -771,7 +777,7 @@ void Context::setFragment(ProgramFragment *pf) { } } -void Context::setRaster(ProgramRaster *pr) { +void Context::setProgramRaster(ProgramRaster *pr) { rsAssert(mIsGraphicsContext); if (pr == NULL) { mRaster.set(mStateRaster.mDefault); @@ -780,7 +786,7 @@ void Context::setRaster(ProgramRaster *pr) { } } -void Context::setVertex(ProgramVertex *pv) { +void Context::setProgramVertex(ProgramVertex *pv) { rsAssert(mIsGraphicsContext); if (pv == NULL) { mVertex.set(mStateVertex.mDefault); @@ -951,22 +957,22 @@ void rsi_ContextBindSampler(Context *rsc, uint32_t slot, RsSampler vs) { void rsi_ContextBindProgramStore(Context *rsc, RsProgramStore vpfs) { ProgramStore *pfs = static_cast<ProgramStore *>(vpfs); - rsc->setFragmentStore(pfs); + rsc->setProgramStore(pfs); } void rsi_ContextBindProgramFragment(Context *rsc, RsProgramFragment vpf) { ProgramFragment *pf = static_cast<ProgramFragment *>(vpf); - rsc->setFragment(pf); + rsc->setProgramFragment(pf); } void rsi_ContextBindProgramRaster(Context *rsc, RsProgramRaster vpr) { ProgramRaster *pr = static_cast<ProgramRaster *>(vpr); - rsc->setRaster(pr); + rsc->setProgramRaster(pr); } void rsi_ContextBindProgramVertex(Context *rsc, RsProgramVertex vpv) { ProgramVertex *pv = static_cast<ProgramVertex *>(vpv); - rsc->setVertex(pv); + rsc->setProgramVertex(pv); } void rsi_ContextBindFont(Context *rsc, RsFont vfont) { diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h index 6945342..c377c73 100644 --- a/libs/rs/rsContext.h +++ b/libs/rs/rsContext.h @@ -80,6 +80,21 @@ public: Context * mContext; Script * mScript; }; + + class PushState { + public: + PushState(Context *); + ~PushState(); + + private: + ObjectBaseRef<ProgramFragment> mFragment; + ObjectBaseRef<ProgramVertex> mVertex; + ObjectBaseRef<ProgramStore> mStore; + ObjectBaseRef<ProgramRaster> mRaster; + ObjectBaseRef<Font> mFont; + Context *mRsc; + }; + ScriptTLSStruct *mTlsStruct; RsSurfaceConfig mUserSurfaceConfig; @@ -101,18 +116,18 @@ public: void swapBuffers(); void setRootScript(Script *); - void setRaster(ProgramRaster *); - void setVertex(ProgramVertex *); - void setFragment(ProgramFragment *); - void setFragmentStore(ProgramStore *); + void setProgramRaster(ProgramRaster *); + void setProgramVertex(ProgramVertex *); + void setProgramFragment(ProgramFragment *); + void setProgramStore(ProgramStore *); void setFont(Font *); void updateSurface(void *sur); - const ProgramFragment * getFragment() {return mFragment.get();} - const ProgramStore * getFragmentStore() {return mFragmentStore.get();} - const ProgramRaster * getRaster() {return mRaster.get();} - const ProgramVertex * getVertex() {return mVertex.get();} + ProgramFragment * getProgramFragment() {return mFragment.get();} + ProgramStore * getProgramStore() {return mFragmentStore.get();} + ProgramRaster * getProgramRaster() {return mRaster.get();} + ProgramVertex * getProgramVertex() {return mVertex.get();} Font * getFont() {return mFont.get();} bool setupCheck(); diff --git a/libs/rs/rsFont.cpp b/libs/rs/rsFont.cpp index 96e350d..e4d77b2 100644 --- a/libs/rs/rsFont.cpp +++ b/libs/rs/rsFont.cpp @@ -613,18 +613,12 @@ void FontState::checkInit() { } void FontState::issueDrawCommand() { + Context::PushState ps(mRSC); - ObjectBaseRef<const ProgramVertex> tmpV(mRSC->getVertex()); - mRSC->setVertex(mRSC->getDefaultProgramVertex()); - - ObjectBaseRef<const ProgramRaster> tmpR(mRSC->getRaster()); - mRSC->setRaster(mRSC->getDefaultProgramRaster()); - - ObjectBaseRef<const ProgramFragment> tmpF(mRSC->getFragment()); - mRSC->setFragment(mFontShaderF.get()); - - ObjectBaseRef<const ProgramStore> tmpPS(mRSC->getFragmentStore()); - mRSC->setFragmentStore(mFontProgramStore.get()); + mRSC->setProgramVertex(mRSC->getDefaultProgramVertex()); + mRSC->setProgramRaster(mRSC->getDefaultProgramRaster()); + mRSC->setProgramFragment(mFontShaderF.get()); + mRSC->setProgramStore(mFontProgramStore.get()); if (mConstantsDirty) { mFontShaderFConstant->data(mRSC, &mConstants, sizeof(mConstants)); @@ -632,10 +626,6 @@ void FontState::issueDrawCommand() { } if (!mRSC->setupCheck()) { - mRSC->setVertex((ProgramVertex *)tmpV.get()); - mRSC->setRaster((ProgramRaster *)tmpR.get()); - mRSC->setFragment((ProgramFragment *)tmpF.get()); - mRSC->setFragmentStore((ProgramStore *)tmpPS.get()); return; } @@ -651,12 +641,6 @@ void FontState::issueDrawCommand() { mIndexBuffer->uploadCheck(mRSC); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer->getBufferObjectID()); glDrawElements(GL_TRIANGLES, mCurrentQuadIndex * 6, GL_UNSIGNED_SHORT, (uint16_t *)(0)); - - // Reset the state - mRSC->setVertex((ProgramVertex *)tmpV.get()); - mRSC->setRaster((ProgramRaster *)tmpR.get()); - mRSC->setFragment((ProgramFragment *)tmpF.get()); - mRSC->setFragmentStore((ProgramStore *)tmpPS.get()); } void FontState::appendMeshQuad(float x1, float y1, float z1, diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp index 072cc16..6587b51 100644 --- a/libs/rs/rsScriptC.cpp +++ b/libs/rs/rsScriptC.cpp @@ -104,16 +104,16 @@ Script * ScriptC::setTLS(Script *sc) { void ScriptC::setupGLState(Context *rsc) { if (mEnviroment.mFragmentStore.get()) { - rsc->setFragmentStore(mEnviroment.mFragmentStore.get()); + rsc->setProgramStore(mEnviroment.mFragmentStore.get()); } if (mEnviroment.mFragment.get()) { - rsc->setFragment(mEnviroment.mFragment.get()); + rsc->setProgramFragment(mEnviroment.mFragment.get()); } if (mEnviroment.mVertex.get()) { - rsc->setVertex(mEnviroment.mVertex.get()); + rsc->setProgramVertex(mEnviroment.mVertex.get()); } if (mEnviroment.mRaster.get()) { - rsc->setRaster(mEnviroment.mRaster.get()); + rsc->setProgramRaster(mEnviroment.mRaster.get()); } } @@ -232,6 +232,7 @@ void ScriptC::runForEach(Context *rsc, const RsScriptCall *sc) { MTLaunchStruct mtls; memset(&mtls, 0, sizeof(mtls)); + Context::PushState ps(rsc); if (ain) { mtls.dimX = ain->getType()->getDimX(); @@ -395,15 +396,25 @@ static BCCvoid* symbolLookup(BCCvoid* pContext, const BCCchar* name) { extern const char rs_runtime_lib_bc[]; extern unsigned rs_runtime_lib_bc_size; -void ScriptCState::runCompiler(Context *rsc, ScriptC *s) { +void ScriptCState::runCompiler(Context *rsc, ScriptC *s, const char *resName) { { - StopWatch compileTimer("RenderScript compile time"); s->mBccScript = bccCreateScript(); s->mEnviroment.mIsThreadable = true; - bccScriptBitcode(s->mBccScript, s->mEnviroment.mScriptText, s->mEnviroment.mScriptTextLength); - //bccLinkBitcode(s->mBccScript, rs_runtime_lib_bc, rs_runtime_lib_bc_size); bccRegisterSymbolCallback(s->mBccScript, symbolLookup, s); - bccCompileScript(s->mBccScript); + // bccReadBC() reads in the BitCode, if no cache file corresponding to + // the resName is found. Otherwise, bccReadBC() returns a negative value + // and the "else" branch will be taken. + if (bccReadBC(s->mBccScript, + s->mEnviroment.mScriptText, + s->mEnviroment.mScriptTextLength, + resName) >= 0) { + //bccLinkBC(s->mBccScript, rs_runtime_lib_bc, rs_runtime_lib_bc_size); + bccCompileBC(s->mBccScript); + } else { + // bccReadBC returns a neagative value: Didn't read any script, + // So, use cached binary instead + bccLoadBinary(s->mBccScript); + } bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot); bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit); } @@ -517,14 +528,15 @@ void rsi_ScriptCSetText(Context *rsc, const char *text, uint32_t len) { ss->mScript->mEnviroment.mScriptTextLength = len; } -RsScript rsi_ScriptCCreate(Context * rsc) { +RsScript rsi_ScriptCCreate(Context * rsc, const char *resName) +{ ScriptCState *ss = &rsc->mScriptC; ObjectBaseRef<ScriptC> s(ss->mScript); ss->mScript.clear(); s->incUserRef(); - ss->runCompiler(rsc, s.get()); + ss->runCompiler(rsc, s.get(), resName); ss->clear(rsc); return s.get(); } diff --git a/libs/rs/rsScriptC.h b/libs/rs/rsScriptC.h index 7ca33ac..4f0dff3 100644 --- a/libs/rs/rsScriptC.h +++ b/libs/rs/rsScriptC.h @@ -81,7 +81,7 @@ public: void init(Context *rsc); void clear(Context *rsc); - void runCompiler(Context *rsc, ScriptC *s); + void runCompiler(Context *rsc, ScriptC *s, const char *resName); struct SymbolTable_t { const char * mName; @@ -98,6 +98,3 @@ public: } } #endif - - - diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp index ef1475c..0f84e4b 100644 --- a/libs/rs/rsScriptC_LibGL.cpp +++ b/libs/rs/rsScriptC_LibGL.cpp @@ -92,17 +92,17 @@ static void SC_bindProgramRaster(RsProgramRaster pv) { static void SC_vpLoadProjectionMatrix(const rsc_Matrix *m) { GET_TLS(); - rsc->getVertex()->setProjectionMatrix(rsc, m); + rsc->getProgramVertex()->setProjectionMatrix(rsc, m); } static void SC_vpLoadModelMatrix(const rsc_Matrix *m) { GET_TLS(); - rsc->getVertex()->setModelviewMatrix(rsc, m); + rsc->getProgramVertex()->setModelviewMatrix(rsc, m); } static void SC_vpLoadTextureMatrix(const rsc_Matrix *m) { GET_TLS(); - rsc->getVertex()->setTextureMatrix(rsc, m); + rsc->getProgramVertex()->setTextureMatrix(rsc, m); } static void SC_pfConstantColor(RsProgramFragment vpf, float r, float g, float b, float a) { @@ -114,7 +114,7 @@ static void SC_pfConstantColor(RsProgramFragment vpf, float r, float g, float b, static void SC_vpGetProjectionMatrix(rsc_Matrix *m) { GET_TLS(); - rsc->getVertex()->getProjectionMatrix(rsc, m); + rsc->getProgramVertex()->getProjectionMatrix(rsc, m); } ////////////////////////////////////////////////////////////////////////////// @@ -165,8 +165,8 @@ static void SC_drawQuad(float x1, float y1, float z1, static void SC_drawSpriteScreenspace(float x, float y, float z, float w, float h) { GET_TLS(); - ObjectBaseRef<const ProgramVertex> tmp(rsc->getVertex()); - rsc->setVertex(rsc->getDefaultProgramVertex()); + ObjectBaseRef<const ProgramVertex> tmp(rsc->getProgramVertex()); + rsc->setProgramVertex(rsc->getDefaultProgramVertex()); //rsc->setupCheck(); //GLint crop[4] = {0, h, w, -h}; @@ -177,7 +177,7 @@ static void SC_drawSpriteScreenspace(float x, float y, float z, float w, float h x+w, sh - y, z, x+w, sh - (y+h), z, x, sh - (y+h), z); - rsc->setVertex((ProgramVertex *)tmp.get()); + rsc->setProgramVertex((ProgramVertex *)tmp.get()); } /* static void SC_drawSprite(float x, float y, float z, float w, float h) @@ -271,7 +271,7 @@ static void SC_meshComputeBoundingBox(RsMesh vsm, static void SC_color(float r, float g, float b, float a) { GET_TLS(); - ProgramFragment *pf = (ProgramFragment *)rsc->getFragment(); + ProgramFragment *pf = (ProgramFragment *)rsc->getProgramFragment(); pf->setConstantColor(rsc, r, g, b, a); } diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp index a36d555..04a0195 100644 --- a/libs/ui/FramebufferNativeWindow.cpp +++ b/libs/ui/FramebufferNativeWindow.cpp @@ -83,6 +83,7 @@ FramebufferNativeWindow::FramebufferNativeWindow() if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module) == 0) { int stride; int err; + int i; err = framebuffer_open(module, &fbDev); LOGE_IF(err, "couldn't open framebuffer HAL (%s)", strerror(-err)); @@ -96,27 +97,33 @@ FramebufferNativeWindow::FramebufferNativeWindow() mUpdateOnDemand = (fbDev->setUpdateRect != 0); // initialize the buffer FIFO - mNumBuffers = 2; - mNumFreeBuffers = 2; + mNumBuffers = NUM_FRAME_BUFFERS; + mNumFreeBuffers = NUM_FRAME_BUFFERS; mBufferHead = mNumBuffers-1; - buffers[0] = new NativeBuffer( - fbDev->width, fbDev->height, fbDev->format, GRALLOC_USAGE_HW_FB); - buffers[1] = new NativeBuffer( - fbDev->width, fbDev->height, fbDev->format, GRALLOC_USAGE_HW_FB); - - err = grDev->alloc(grDev, - fbDev->width, fbDev->height, fbDev->format, - GRALLOC_USAGE_HW_FB, &buffers[0]->handle, &buffers[0]->stride); - - LOGE_IF(err, "fb buffer 0 allocation failed w=%d, h=%d, err=%s", - fbDev->width, fbDev->height, strerror(-err)); - - err = grDev->alloc(grDev, - fbDev->width, fbDev->height, fbDev->format, - GRALLOC_USAGE_HW_FB, &buffers[1]->handle, &buffers[1]->stride); - LOGE_IF(err, "fb buffer 1 allocation failed w=%d, h=%d, err=%s", - fbDev->width, fbDev->height, strerror(-err)); + for (i = 0; i < mNumBuffers; i++) + { + buffers[i] = new NativeBuffer( + fbDev->width, fbDev->height, fbDev->format, GRALLOC_USAGE_HW_FB); + } + + for (i = 0; i < mNumBuffers; i++) + { + err = grDev->alloc(grDev, + fbDev->width, fbDev->height, fbDev->format, + GRALLOC_USAGE_HW_FB, &buffers[i]->handle, &buffers[i]->stride); + + LOGE_IF(err, "fb buffer %d allocation failed w=%d, h=%d, err=%s", + i, fbDev->width, fbDev->height, strerror(-err)); + + if (err) + { + mNumBuffers = i; + mNumFreeBuffers = i; + mBufferHead = mNumBuffers-1; + break; + } + } const_cast<uint32_t&>(ANativeWindow::flags) = fbDev->flags; const_cast<float&>(ANativeWindow::xdpi) = fbDev->xdpi; diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index b84a2c2..def88ae 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -984,7 +984,7 @@ public class AudioManager { * application when it places a phone call, as it will cause signals from the radio layer * to feed the platform mixer. * - * @param mode the requested audio mode (NORMAL, RINGTONE, or IN_CALL). + * @param mode the requested audio mode (NORMAL, RINGTONE, IN_CALL or IN_COMMUNICATION). * Informs the HAL about the current audio state so that * it can route the audio appropriately. */ @@ -1000,7 +1000,7 @@ public class AudioManager { /** * Returns the current audio mode. * - * @return the current audio mode (NORMAL, RINGTONE, or IN_CALL). + * @return the current audio mode (NORMAL, RINGTONE, IN_CALL or IN_COMMUNICATION). * Returns the current current audio state from the HAL. */ public int getMode() { @@ -1034,9 +1034,14 @@ public class AudioManager { */ public static final int MODE_RINGTONE = AudioSystem.MODE_RINGTONE; /** - * In call audio mode. A call is established. + * In call audio mode. A telephony call is established. */ public static final int MODE_IN_CALL = AudioSystem.MODE_IN_CALL; + /** + * @hide + * In communication audio mode. An audio/video chat or VoIP call is established. + */ + public static final int MODE_IN_COMMUNICATION = AudioSystem.MODE_IN_COMMUNICATION; /* Routing bits for setRouting/getRouting API */ /** diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index 3bee906..cfcc2ba 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -718,7 +718,7 @@ public class AudioService extends IAudioService.Stub { return; } - if (mode < AudioSystem.MODE_CURRENT || mode > AudioSystem.MODE_IN_CALL) { + if (mode < AudioSystem.MODE_CURRENT || mode >= AudioSystem.NUM_MODES) { return; } @@ -2305,6 +2305,7 @@ public class AudioService extends IAudioService.Stub { // add modify the phone app to take advantage of the new API synchronized(mRingingLock) { if (mIsRinging || (getMode() == AudioSystem.MODE_IN_CALL) || + (getMode() == AudioSystem.MODE_IN_COMMUNICATION) || (getMode() == AudioSystem.MODE_RINGTONE) ) { return; } diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java index 5442791..1fd03dc 100644 --- a/media/java/android/media/AudioSystem.java +++ b/media/java/android/media/AudioSystem.java @@ -106,7 +106,8 @@ public class AudioSystem public static final int MODE_NORMAL = 0; public static final int MODE_RINGTONE = 1; public static final int MODE_IN_CALL = 2; - public static final int NUM_MODES = 3; + public static final int MODE_IN_COMMUNICATION = 3; + public static final int NUM_MODES = 4; /* Routing bits for setRouting/getRouting API */ diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index 2bea84f..39c4a28 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -149,12 +149,10 @@ public class MediaRecorder * {@link #DEFAULT} otherwise. */ public static final int VOICE_RECOGNITION = 6; - /** - * @hide - * Microphone audio source tuned for voice communications such as VoIP. It - * will for instance take advantage of echo cancellation or automatic gain control - * if available. It otherwise behaves like {@link #DEFAULT} if no voice processing - * is available. + /** Microphone audio source tuned for voice communications such as VoIP. It + * will for instance take advantage of echo cancellation or automatic gain control + * if available. It otherwise behaves like {@link #DEFAULT} if no voice processing + * is applied. */ public static final int VOICE_COMMUNICATION = 7; } diff --git a/media/java/android/media/MtpDatabase.java b/media/java/android/media/MtpDatabase.java index 42d068f..e48e9e8 100644 --- a/media/java/android/media/MtpDatabase.java +++ b/media/java/android/media/MtpDatabase.java @@ -164,7 +164,7 @@ public class MtpDatabase { } } - private void endSendObject(String path, int handle, int format, boolean succeeded) { + private void endSendObject(String path, int handle, int format, long actualSize, boolean succeeded) { if (succeeded) { // handle abstract playlists separately // they do not exist in the file system so don't use the media scanner here @@ -184,6 +184,7 @@ public class MtpDatabase { ContentValues values = new ContentValues(1); values.put(Audio.Playlists.DATA, path); values.put(Audio.Playlists.NAME, name); + values.put(Files.FileColumns.FORMAT, format); values.put(MediaColumns.MEDIA_SCANNER_NEW_OBJECT_ID, handle); try { Uri uri = mMediaProvider.insert(Audio.Playlists.EXTERNAL_CONTENT_URI, values); @@ -191,6 +192,18 @@ public class MtpDatabase { Log.e(TAG, "RemoteException in endSendObject", e); } } else { + if (actualSize >= 0) { + // update size if necessary + ContentValues values = new ContentValues(); + values.put(Files.FileColumns.SIZE, actualSize); + try { + String[] whereArgs = new String[] { Integer.toString(handle) }; + mMediaProvider.update(mObjectsUri, values, ID_WHERE, whereArgs); + } catch (RemoteException e) { + Log.e(TAG, "RemoteException in mMediaProvider.update", e); + } + } + mMediaScanner.scanMtpFile(path, mVolumeName, handle, format); } } else { diff --git a/media/java/android/media/videoeditor/AudioTrack.java b/media/java/android/media/videoeditor/AudioTrack.java index d02709e..32ff553 100755 --- a/media/java/android/media/videoeditor/AudioTrack.java +++ b/media/java/android/media/videoeditor/AudioTrack.java @@ -102,7 +102,7 @@ public class AudioTrack { // Ducking is enabled by default
mDuckingThreshold = 0;
mDuckedTrackVolume = 0;
- mIsDuckingEnabled = true;
+ mIsDuckingEnabled = false;
// The audio waveform file is generated later
mAudioWaveformFilename = null;
@@ -369,14 +369,15 @@ public class AudioTrack { /**
* Enable ducking by specifying the required parameters
*
- * @param threshold Ducking will be activated when the relative energy in
+ * @param threshold Ducking will be activated when the energy in
* the media items audio signal goes above this value. The valid
- * range of values is 0 to 100.
+ * range of values is 0db to 90dB. 0dB is equivalent to disabling
+ * ducking.
* @param duckedTrackVolume The relative volume of the audio track when ducking
* is active. The valid range of values is 0 to 100.
*/
public void enableDucking(int threshold, int duckedTrackVolume) {
- if (threshold < 0 || threshold > 100) {
+ if (threshold < 0 || threshold > 90) {
throw new IllegalArgumentException("Invalid threshold value: " + threshold);
}
diff --git a/media/jni/android_media_MtpDatabase.cpp b/media/jni/android_media_MtpDatabase.cpp index 5377af6..4525d1f 100644 --- a/media/jni/android_media_MtpDatabase.cpp +++ b/media/jni/android_media_MtpDatabase.cpp @@ -99,6 +99,7 @@ public: virtual void endSendObject(const char* path, MtpObjectHandle handle, MtpObjectFormat format, + int64_t actualSize, bool succeeded); virtual MtpObjectHandleList* getObjectList(MtpStorageID storageID, @@ -235,11 +236,11 @@ MtpObjectHandle MyMtpDatabase::beginSendObject(const char* path, } void MyMtpDatabase::endSendObject(const char* path, MtpObjectHandle handle, - MtpObjectFormat format, bool succeeded) { + MtpObjectFormat format, int64_t actualSize, bool succeeded) { JNIEnv* env = AndroidRuntime::getJNIEnv(); jstring pathStr = env->NewStringUTF(path); env->CallVoidMethod(mDatabase, method_endSendObject, pathStr, - (jint)handle, (jint)format, (jboolean)succeeded); + (jint)handle, (jint)format, (jlong)actualSize, (jboolean)succeeded); if (pathStr) env->DeleteLocalRef(pathStr); @@ -1076,7 +1077,7 @@ int register_android_media_MtpDatabase(JNIEnv *env) LOGE("Can't find beginSendObject"); return -1; } - method_endSendObject = env->GetMethodID(clazz, "endSendObject", "(Ljava/lang/String;IIZ)V"); + method_endSendObject = env->GetMethodID(clazz, "endSendObject", "(Ljava/lang/String;IIJZ)V"); if (method_endSendObject == NULL) { LOGE("Can't find endSendObject"); return -1; diff --git a/media/mtp/MtpDatabase.h b/media/mtp/MtpDatabase.h index fafd221..900b517 100644 --- a/media/mtp/MtpDatabase.h +++ b/media/mtp/MtpDatabase.h @@ -42,6 +42,7 @@ public: virtual void endSendObject(const char* path, MtpObjectHandle handle, MtpObjectFormat format, + int64_t size, bool succeeded) = 0; virtual MtpObjectHandleList* getObjectList(MtpStorageID storageID, diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index 6cf70ec..ca13636 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -624,6 +624,7 @@ MtpResponseCode MtpServer::doSendObjectInfo() { mData.getString(modified); // date modified // keywords follow + LOGD("name: %s format: %04X\n", (const char *)name, format); time_t modifiedTime; if (!parseDateTime(modified, modifiedTime)) modifiedTime = 0; @@ -663,6 +664,7 @@ MtpResponseCode MtpServer::doSendObject() { MtpResponseCode result = MTP_RESPONSE_OK; mode_t mask; int ret; + uint64_t actualSize = -1; if (mSendObjectHandle == kInvalidObjectHandle) { LOGE("Expected SendObjectInfo before SendObject"); @@ -692,6 +694,7 @@ MtpResponseCode MtpServer::doSendObject() { mfr.offset = 0; mfr.length = mSendObjectFileSize; + LOGD("receiving %s\n", (const char *)mSendObjectFilePath); // transfer the file ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); close(mfr.fd); @@ -704,11 +707,18 @@ MtpResponseCode MtpServer::doSendObject() { result = MTP_RESPONSE_TRANSACTION_CANCELLED; else result = MTP_RESPONSE_GENERAL_ERROR; + } else if (mSendObjectFileSize == 0xFFFFFFFF) { + // actual size is likely > 4 gig so stat the file to compute actual length + struct stat s; + if (lstat(mSendObjectFilePath, &s) == 0) { + actualSize = s.st_size; + LOGD("actualSize: %lld\n", actualSize); + } } done: mDatabase->endSendObject(mSendObjectFilePath, mSendObjectHandle, mSendObjectFormat, - result == MTP_RESPONSE_OK); + actualSize, result == MTP_RESPONSE_OK); mSendObjectHandle = kInvalidObjectHandle; mSendObjectFormat = 0; return result; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java index b98071e..fa63edb 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java @@ -16,6 +16,7 @@ package com.android.providers.settings; +import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; @@ -27,6 +28,7 @@ import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.OutputStream; import java.util.Arrays; import java.util.zip.CRC32; @@ -352,10 +354,11 @@ public class SettingsBackupAgent extends BackupAgentHelper { } private byte[] getWifiSupplicant(String filename) { + BufferedReader br = null; try { File file = new File(filename); if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); + br = new BufferedReader(new FileReader(file)); StringBuffer relevantLines = new StringBuffer(); boolean started = false; String line; @@ -378,6 +381,13 @@ public class SettingsBackupAgent extends BackupAgentHelper { } catch (IOException ioe) { Log.w(TAG, "Couldn't backup " + filename); return EMPTY_DATA; + } finally { + if (br != null) { + try { + br.close(); + } catch (IOException e) { + } + } } } @@ -390,9 +400,10 @@ public class SettingsBackupAgent extends BackupAgentHelper { if (supplicantFile.exists()) supplicantFile.delete(); copyWifiSupplicantTemplate(); - FileOutputStream fos = new FileOutputStream(filename, true); - fos.write("\n".getBytes()); - fos.write(bytes); + OutputStream os = new BufferedOutputStream(new FileOutputStream(filename, true)); + os.write("\n".getBytes()); + os.write(bytes); + os.close(); } catch (IOException ioe) { Log.w(TAG, "Couldn't restore " + filename); } diff --git a/packages/SystemUI/res/drawable-mdpi/ic_notification_open.png b/packages/SystemUI/res/drawable-mdpi/ic_notification_open.png Binary files differnew file mode 100644 index 0000000..17fd52e --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/ic_notification_open.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_shadow.9.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_shadow.9.png Binary files differnew file mode 100644 index 0000000..c888c21 --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_shadow.9.png diff --git a/packages/SystemUI/res/drawable/status_bar_item_background.xml b/packages/SystemUI/res/drawable/status_bar_item_background.xml new file mode 100644 index 0000000..9da92a7 --- /dev/null +++ b/packages/SystemUI/res/drawable/status_bar_item_background.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2006 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<layer-list + xmlns:android="http://schemas.android.com/apk/res/android" + android:opacity="translucent" + > + <item + android:drawable="@drawable/notification_item_background_color" + android:left="16dp" + /> +</layer-list> + diff --git a/packages/SystemUI/res/layout-xlarge/status_bar.xml b/packages/SystemUI/res/layout-xlarge/status_bar.xml index 8f2bea4..b8b8bdd 100644 --- a/packages/SystemUI/res/layout-xlarge/status_bar.xml +++ b/packages/SystemUI/res/layout-xlarge/status_bar.xml @@ -25,20 +25,10 @@ android:id="@+id/bar_contents" android:layout_width="match_parent" android:layout_height="match_parent" - android:animateLayoutChanges="true" + android:animateLayoutChanges="false" > - <FrameLayout - android:id="@+id/ticker" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignParentRight="true" - android:layout_toRightOf="@+id/systemInfo" - android:paddingLeft="6dip" - android:gravity="center_vertical" - android:animateLayoutChanges="true" - /> - + <!-- notification icons & panel access --> <LinearLayout android:id="@+id/notificationArea" android:layout_width="wrap_content" @@ -65,7 +55,7 @@ <LinearLayout android:id="@+id/notificationTrigger" android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="match_parent" > <!-- paddingLeft: 24 dips = 32dp (total space to icon) - 8dp in the icon. TODO: Make sure the font has a small enough leading that we don't need this @@ -81,62 +71,70 @@ android:paddingLeft="24dip" android:textColor="#2e2e2e" /> - <ImageView - android:id="@+id/battery" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_gravity="center_vertical" - /> - <ImageView - android:id="@+id/network" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_gravity="center_vertical" - android:src="@drawable/ic_sysbar_wifi_mini" - /> + <LinearLayout + android:layout_width="48dip" + android:layout_height="match_parent" + android:orientation="horizontal" + > + <ImageView + android:id="@+id/battery" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_gravity="center_vertical" + /> + <ImageView + android:id="@+id/network" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/ic_sysbar_wifi_mini" + /> + </LinearLayout> </LinearLayout> </LinearLayout> + <!-- navigation controls --> <LinearLayout android:id="@+id/navigationArea" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:orientation="horizontal" - android:animateLayoutChanges="true" + android:animateLayoutChanges="false" > <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back" - android:layout_width="wrap_content" + android:layout_width="96dip" android:layout_height="match_parent" - android:paddingLeft="15dip" - android:paddingRight="15dip" + android:paddingLeft="18dip" + android:paddingRight="18dip" android:src="@drawable/ic_sysbar_back" android:background="@drawable/ic_sysbar_icon_bg" systemui:keyCode="4" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home" - android:layout_width="wrap_content" + android:layout_width="96dip" android:layout_height="match_parent" - android:paddingLeft="15dip" - android:paddingRight="15dip" + android:paddingLeft="18dip" + android:paddingRight="18dip" android:src="@drawable/ic_sysbar_home" android:background="@drawable/ic_sysbar_icon_bg" systemui:keyCode="3" /> <ImageButton android:id="@+id/recent_apps" - android:layout_width="wrap_content" + android:layout_width="96dip" android:layout_height="match_parent" android:src="@drawable/ic_sysbar_recent" android:background="@drawable/ic_sysbar_icon_bg" - android:paddingLeft="15dip" - android:paddingRight="15dip" + android:paddingLeft="18dip" + android:clickable="true" + android:paddingRight="18dip" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu" - android:layout_width="wrap_content" + android:layout_width="96dip" android:layout_height="match_parent" - android:paddingLeft="15dip" - android:paddingRight="15dip" + android:paddingLeft="18dip" + android:paddingRight="18dip" android:src="@drawable/ic_sysbar_menu" android:background="@drawable/ic_sysbar_icon_bg" systemui:keyCode="82" @@ -144,11 +142,11 @@ /> <com.android.systemui.statusbar.tablet.ShirtPocket android:id="@+id/pocket" - android:layout_width="71dip" + android:layout_width="96dip" android:layout_height="match_parent" android:background="@drawable/ic_sysbar_icon_bg" - android:paddingLeft="15dip" - android:paddingRight="15dip" + android:paddingLeft="18dip" + android:paddingRight="18dip" android:animateLayoutChanges="true" android:clickable="true" android:descendantFocusability="blocksDescendants" @@ -173,18 +171,76 @@ android:visibility="invisible" /> </LinearLayout> - </RelativeLayout> - <!-- It's curtains for you. --> - <ImageView - android:id="@+id/lights_out" - android:src="@drawable/ic_sysbar_lightsout" - android:gravity="center" - android:background="#FF000000" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" - android:clickable="true" - /> -</com.android.systemui.statusbar.tablet.TabletStatusBarView> + <!-- lights out mode: "shadow" views --> + <ImageView + android:id="@+id/notification_shadow" + android:layout_width="176dip" + android:layout_height="match_parent" + android:paddingRight="48dip" + android:layout_alignParentRight="true" + android:layout_alignParentBottom="true" + android:src="@drawable/ic_sysbar_shadow" + android:visibility="gone" + android:scaleType="fitXY" + /> + + <ImageView + android:id="@+id/back_shadow" + android:layout_width="96dip" + android:layout_height="match_parent" + android:paddingLeft="18dip" + android:paddingRight="18dip" + android:layout_alignParentLeft="true" + android:layout_alignParentBottom="true" + android:src="@drawable/ic_sysbar_shadow" + android:visibility="gone" + /> + <ImageView + android:id="@+id/home_shadow" + android:layout_width="96dip" + android:layout_height="match_parent" + android:paddingLeft="18dip" + android:paddingRight="18dip" + android:layout_toRightOf="@id/back_shadow" + android:layout_alignParentBottom="true" + android:src="@drawable/ic_sysbar_shadow" + android:visibility="gone" + /> + <ImageView + android:id="@+id/recent_shadow" + android:layout_width="96dip" + android:layout_height="match_parent" + android:paddingLeft="18dip" + android:paddingRight="18dip" + android:layout_toRightOf="@id/home_shadow" + android:layout_alignParentBottom="true" + android:src="@drawable/ic_sysbar_shadow" + android:visibility="gone" + /> + <ImageView + android:id="@+id/menu_shadow" + android:layout_width="96dip" + android:layout_height="match_parent" + android:paddingLeft="18dip" + android:paddingRight="18dip" + android:layout_toRightOf="@id/recent_shadow" + android:layout_alignParentBottom="true" + android:src="@drawable/ic_sysbar_shadow" + android:visibility="gone" + /> + <!-- ticker: transient incoming notification information --> + <FrameLayout + android:id="@+id/ticker" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignParentRight="true" + android:layout_toRightOf="@+id/systemInfo" + android:paddingLeft="6dip" + android:gravity="center_vertical" + android:animateLayoutChanges="true" + /> + + </RelativeLayout> +</com.android.systemui.statusbar.tablet.TabletStatusBarView> diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml b/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml index 049a1cc..b6679a5 100644 --- a/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml +++ b/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml @@ -1,36 +1,35 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="65sp" - android:orientation="vertical" - android:background="@android:drawable/status_bar_item_background" + android:layout_height="65dp" + android:background="@drawable/status_bar_item_background" > <ImageButton android:id="@+id/veto" - android:layout_width="wrap_content" + android:layout_width="48dp" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:src="@drawable/status_bar_veto" android:scaleType="center" - android:background="@null" - android:paddingLeft="16dip" - android:paddingRight="16dip" + android:background="#ff000000" /> <com.android.systemui.statusbar.LatestItemView android:id="@+id/content" + android:layout_width="wrap_content" + android:layout_height="64sp" android:layout_alignParentTop="true" + android:layout_alignParentLeft="true" android:layout_toLeftOf="@id/veto" - android:layout_width="match_parent" - android:layout_height="64sp" + android:layout_marginLeft="16dp" android:focusable="true" android:clickable="true" - android:paddingRight="6sp" /> <View android:layout_width="match_parent" - android:layout_height="1sp" + android:layout_height="1dp" + android:layout_marginLeft="16dp" android:layout_alignParentBottom="true" android:background="@android:drawable/divider_horizontal_dark" /> diff --git a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml index 3e085f3..186aa64 100644 --- a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml +++ b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml @@ -22,10 +22,9 @@ <com.android.systemui.statusbar.tablet.NotificationPanel xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" - android:layout_width="wrap_content" + android:layout_width="540dp" android:animateLayoutChanges="true" android:background="@drawable/bg_scrim_notification" - android:paddingLeft="140dp" android:paddingBottom="32dp" > @@ -34,10 +33,11 @@ android:layout_height="wrap_content" android:layout_width="384dp" android:layout_above="@+id/content_frame" - android:layout_marginLeft="16dp" + android:layout_marginLeft="24dp" android:paddingBottom="16dp" android:orientation="vertical" android:animateLayoutChanges="true" + android:layout_alignParentRight="true" > <com.android.systemui.statusbar.policy.Clock @@ -108,7 +108,7 @@ android:layout_alignParentRight="true" android:layout_alignBaseline="@id/battery" android:paddingRight="16dp" - android:src="@drawable/ic_sysbar_quicksettings" + android:src="@drawable/ic_notification_open" android:baseline="17dp" /> @@ -128,8 +128,9 @@ <FrameLayout android:id="@+id/content_frame" android:layout_height="wrap_content" - android:layout_width="400dp" + android:layout_width="408dp" android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" > <ScrollView android:id="@+id/notificationScroller" @@ -144,7 +145,6 @@ android:animateLayoutChanges="true" android:animationCache="false" android:orientation="vertical" - android:background="@drawable/status_bar_background" android:clickable="true" android:focusable="true" android:descendantFocusability="afterDescendants" diff --git a/packages/SystemUI/res/values-cs-xlarge/strings.xml b/packages/SystemUI/res/values-cs-xlarge/strings.xml index 33a3a08..a0301bb 100644 --- a/packages/SystemUI/res/values-cs-xlarge/strings.xml +++ b/packages/SystemUI/res/values-cs-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Baterie: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"žádné připojení k internetu"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: připojeno"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: připojování"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mob. data: připojeno"</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 828fae8..4e7f5cf 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Vymazat"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-da-xlarge/strings.xml b/packages/SystemUI/res/values-da-xlarge/strings.xml index 3d99be3..d75b5a5 100644 --- a/packages/SystemUI/res/values-da-xlarge/strings.xml +++ b/packages/SystemUI/res/values-da-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batteri: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"ingen forbindelse"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi forbundet"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: forbinder..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mobildata tilsluttet"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 74def1c..aad6d71 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Ryd"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-de-xlarge/strings.xml b/packages/SystemUI/res/values-de-xlarge/strings.xml index 0717429..eb402da 100644 --- a/packages/SystemUI/res/values-de-xlarge/strings.xml +++ b/packages/SystemUI/res/values-de-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Akku: <xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"Keine Verbindung"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"WLAN: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"WLAN: verbunden"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"WLAN: verbindet..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mobile Daten: aktiv"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index e033982..1674c22 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Löschen"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-el-xlarge/strings.xml b/packages/SystemUI/res/values-el-xlarge/strings.xml index 9c29e8b..63e59aa 100644 --- a/packages/SystemUI/res/values-el-xlarge/strings.xml +++ b/packages/SystemUI/res/values-el-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Μπαταρία: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"χωρίς σύνδ. σε Διαδ."</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: συνδέθηκε"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: σύνδεση..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Δεδ. κιν.: συνδέθηκε"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index ddcfc2c..bb7fab1 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Εκκαθάριση"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml b/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml new file mode 100644 index 0000000..b4f8f27 --- /dev/null +++ b/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Copyright (c) 2010, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> + <skip /> + <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"no hay conexión a Internet"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> + <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: conectado"</string> + <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: conectando…"</string> + <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Datos para cel: conectado"</string> + <string name="system_panel_signal_meter_data_connecting" msgid="7183001278053801143">"Datos para cel: conectando"</string> +</resources> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index aff9f4ca..c18de7d 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Borrar"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> @@ -35,8 +35,7 @@ <!-- no translation found for invalid_charger (4549105996740522523) --> <skip /> <string name="battery_low_why" msgid="7279169609518386372">"Uso de la batería"</string> - <!-- no translation found for system_panel_settings_button (7832600575390861653) --> - <skip /> + <string name="system_panel_settings_button" msgid="7832600575390861653">"Configuración"</string> <string name="recent_tasks_title" msgid="3691764623638127888">"Reciente"</string> <!-- no translation found for recent_tasks_empty (1905484479067697884) --> <skip /> diff --git a/packages/SystemUI/res/values-es-xlarge/strings.xml b/packages/SystemUI/res/values-es-xlarge/strings.xml index e7214b6..2045aa8 100644 --- a/packages/SystemUI/res/values-es-xlarge/strings.xml +++ b/packages/SystemUI/res/values-es-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batería: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"sin conexión"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"WiFi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"WiFi: conectado"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"WiFi: conectando..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Datos móviles: conectados"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 0b6af34..84b7e32 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Borrar"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-fr-xlarge/strings.xml b/packages/SystemUI/res/values-fr-xlarge/strings.xml index 8566a96..36c6f77 100644 --- a/packages/SystemUI/res/values-fr-xlarge/strings.xml +++ b/packages/SystemUI/res/values-fr-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batterie : <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"Internet indisponible"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi : <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi : connecté"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi : connexion..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Données mobiles connectées"</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 0e2a765..914e98e 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Effacer"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-it-xlarge/strings.xml b/packages/SystemUI/res/values-it-xlarge/strings.xml index 62ce9f2..512dfa4 100644 --- a/packages/SystemUI/res/values-it-xlarge/strings.xml +++ b/packages/SystemUI/res/values-it-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batteria: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"no conness. Internet"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: connesso"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: connessione…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Dati cell.: connesso"</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index c45bb4c..849be2e 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Cancella"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-ja-xlarge/strings.xml b/packages/SystemUI/res/values-ja-xlarge/strings.xml index 72e6025..01dacb3 100644 --- a/packages/SystemUI/res/values-ja-xlarge/strings.xml +++ b/packages/SystemUI/res/values-ja-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"電池: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"インターネット接続なし"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: 接続されました"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: 接続中..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"データ通信: 接続されました"</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index f6a8e5f..f787541 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"通知を消去"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-ko-xlarge/strings.xml b/packages/SystemUI/res/values-ko-xlarge/strings.xml index 8aa38e1..a26940a 100644 --- a/packages/SystemUI/res/values-ko-xlarge/strings.xml +++ b/packages/SystemUI/res/values-ko-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"배터리: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"인터넷에 연결되지 않음"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: 연결됨"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: 연결 중…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"모바일 데이터: 연결됨"</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 1189194..ff82d99 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"지우기"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-nb-xlarge/strings.xml b/packages/SystemUI/res/values-nb-xlarge/strings.xml index 8d59b43..9a95faf 100644 --- a/packages/SystemUI/res/values-nb-xlarge/strings.xml +++ b/packages/SystemUI/res/values-nb-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batteri: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"ingen Int.-tilkobl."</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: tilkoblet"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: kobler til"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mob.data: tilkoblet"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index b5f4676..aefd2ec 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Fjern"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-nl-xlarge/strings.xml b/packages/SystemUI/res/values-nl-xlarge/strings.xml index 750f20f..8ab6234 100644 --- a/packages/SystemUI/res/values-nl-xlarge/strings.xml +++ b/packages/SystemUI/res/values-nl-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Accu: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"geen internet"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: verbonden"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: verbinden…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mobiel: verbonden"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index ec8fcfb..e7fd55b 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Wissen"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-pl-xlarge/strings.xml b/packages/SystemUI/res/values-pl-xlarge/strings.xml index d816068..a11754b 100644 --- a/packages/SystemUI/res/values-pl-xlarge/strings.xml +++ b/packages/SystemUI/res/values-pl-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Bateria: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"brak połączenia internetowego"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: połączono"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: łączenie…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Sieć komórkowa: połączono"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 7034a6d..108ef13 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Wyczyść"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml b/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml index 4aa75b8..9f20932 100644 --- a/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Bateria: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"Sem ligação à internet"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: ligado"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: a ligar…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Dados móveis: ligado"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 80028a2..1f38ed7 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Limpar"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-pt-xlarge/strings.xml b/packages/SystemUI/res/values-pt-xlarge/strings.xml index 811dae8..481263f 100644 --- a/packages/SystemUI/res/values-pt-xlarge/strings.xml +++ b/packages/SystemUI/res/values-pt-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Bateria: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"Sem conex. à intern."</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: conectado"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: conectando…"</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Dados móv: conectado"</string> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 006379c..83bde68 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Limpar"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-rm/strings.xml b/packages/SystemUI/res/values-rm/strings.xml index 646d7f5..8a5014e 100644 --- a/packages/SystemUI/res/values-rm/strings.xml +++ b/packages/SystemUI/res/values-rm/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Stizzar"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-ru-xlarge/strings.xml b/packages/SystemUI/res/values-ru-xlarge/strings.xml index f602b34..7514d4b 100644 --- a/packages/SystemUI/res/values-ru-xlarge/strings.xml +++ b/packages/SystemUI/res/values-ru-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Батарея: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"связь отсутствует"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: подключено"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: подключение..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Моб. данные: подключено"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index d598ff3..f701fe3 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Очистить"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-sv-xlarge/strings.xml b/packages/SystemUI/res/values-sv-xlarge/strings.xml index 20d7081..ccc30ec 100644 --- a/packages/SystemUI/res/values-sv-xlarge/strings.xml +++ b/packages/SystemUI/res/values-sv-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Batteri: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"ingen Internetanslutn."</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: ansluten"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: ansluter..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mobildata: ansluten"</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 6ecdfa8..4f9cfd0 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Ta bort"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-tr-xlarge/strings.xml b/packages/SystemUI/res/values-tr-xlarge/strings.xml index 7782627..008006d 100644 --- a/packages/SystemUI/res/values-tr-xlarge/strings.xml +++ b/packages/SystemUI/res/values-tr-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"Pil: <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"internet bağlantısı yok"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Kablosuz: <xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Kablosuz: bağlı"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Kablosuz: bağlanıyor..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"Mobil veri: bağlı"</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 059a4f1..cef5539 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Temizle"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml b/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml index 1c3624b..68b0fac 100644 --- a/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"电池:<xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"无互联网连接"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi:<xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi:已连接"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi:正在连接..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"移动数据:已连接"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 9c1f71f..9ed98c9 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"清除"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml b/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml index 720c043..bc41d11 100644 --- a/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml @@ -21,9 +21,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- no translation found for status_bar_clear_all_button (4722520806446512408) --> <skip /> - <string name="system_panel_battery_meter_format" msgid="5960820602924445469">"電池:<xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="system_panel_signal_meter_disconnected" msgid="2123001074951934237">"沒有網際網路連線"</string> - <string name="system_panel_signal_meter_wifi_ssid_format" msgid="5953412790748091921">"Wi-Fi:<xliff:g id="SSID">%s</xliff:g>"</string> + <!-- no translation found for system_panel_signal_meter_wifi_ssid_format (6261810256542749384) --> + <skip /> <string name="system_panel_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-F:已連線"</string> <string name="system_panel_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi:連線中..."</string> <string name="system_panel_signal_meter_data_connected" msgid="2171100321540926054">"行動數據:已連線"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 11051be..4dc323b 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_label (4489004083283879149) --> + <!-- no translation found for app_label (7164937344850004466) --> <skip /> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"清除"</string> <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) --> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index a0def6b..fd2cf99 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -18,4 +18,5 @@ --> <resources> <drawable name="notification_number_text_color">#ffffffff</drawable> + <drawable name="notification_item_background_color">#ff000000</drawable> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java index 0531f9d..7c97ac7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java @@ -31,6 +31,8 @@ import android.content.Intent; import android.content.res.Resources; import android.graphics.PixelFormat; import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.LayerDrawable; import android.os.Handler; import android.os.IBinder; import android.os.Message; @@ -75,12 +77,15 @@ public class TabletStatusBar extends StatusBar { public static final int MSG_CLOSE_NOTIFICATION_PEEK = 1003; public static final int MSG_OPEN_RECENTS_PANEL = 1020; public static final int MSG_CLOSE_RECENTS_PANEL = 1021; - public static final int MSG_LIGHTS_ON = 1030; - public static final int MSG_LIGHTS_OUT = 1031; + public static final int MSG_HIDE_SHADOWS = 1030; + public static final int MSG_SHOW_SHADOWS = 1031; + public static final int MSG_RESTORE_SHADOWS = 1032; private static final int MAX_IMAGE_LEVEL = 10000; private static final boolean USE_2D_RECENTS = true; + public static final int LIGHTS_ON_DELAY = 5000; + int mIconSize; H mHandler = new H(); @@ -93,6 +98,9 @@ public class TabletStatusBar extends StatusBar { View mNotificationTrigger; NotificationIconArea mNotificationIconArea; View mNavigationArea; + + View mBackButton; + View mHomeButton; View mMenuButton; View mRecentButton; @@ -113,7 +121,10 @@ public class TabletStatusBar extends StatusBar { NetworkController mNetworkController; View mBarContents; - View mCurtains; + + // lights out support + View mBackShadow, mHomeShadow, mRecentShadow, mMenuShadow, mNotificationShadow; + ShadowController mShadowController; NotificationIconArea.IconLayout mIconLayout; @@ -245,14 +256,21 @@ public class TabletStatusBar extends StatusBar { sb.setHandler(mHandler); mBarContents = sb.findViewById(R.id.bar_contents); - mCurtains = sb.findViewById(R.id.lights_out); - mRecentButton = sb.findViewById(R.id.recent_apps); - mRecentButton.setOnClickListener(mOnClickListener); + // "shadows" of the status bar features, for lights-out mode + mBackShadow = sb.findViewById(R.id.back_shadow); + mHomeShadow = sb.findViewById(R.id.home_shadow); + mRecentShadow = sb.findViewById(R.id.recent_shadow); + mMenuShadow = sb.findViewById(R.id.menu_shadow); + mNotificationShadow = sb.findViewById(R.id.notification_shadow); - SetLightsOnListener on = new SetLightsOnListener(true); - mCurtains.setOnClickListener(on); - mCurtains.setOnLongClickListener(on); + mShadowController = new ShadowController(false); + + mBackShadow.setOnTouchListener(mShadowController.makeTouchListener()); + mHomeShadow.setOnTouchListener(mShadowController.makeTouchListener()); + mRecentShadow.setOnTouchListener(mShadowController.makeTouchListener()); + mMenuShadow.setOnTouchListener(mShadowController.makeTouchListener()); + mNotificationShadow.setOnTouchListener(mShadowController.makeTouchListener()); // the whole right-hand side of the bar mNotificationArea = sb.findViewById(R.id.notificationArea); @@ -282,10 +300,15 @@ public class TabletStatusBar extends StatusBar { // The navigation buttons mNavigationArea = sb.findViewById(R.id.navigationArea); + mBackButton = mNavigationArea.findViewById(R.id.back); + mHomeButton = mNavigationArea.findViewById(R.id.home); mMenuButton = mNavigationArea.findViewById(R.id.menu); + mRecentButton = mNavigationArea.findViewById(R.id.recent_apps); + Slog.d(TAG, "rec=" + mRecentButton + ", listener=" + mOnClickListener); + mRecentButton.setOnClickListener(mOnClickListener); // The bar contents buttons - mInputMethodButton = (InputMethodButton) mBarContents.findViewById(R.id.imeButton); + mInputMethodButton = (InputMethodButton) sb.findViewById(R.id.imeButton); // set the initial view visibility setAreThereNotifications(); @@ -362,6 +385,8 @@ public class TabletStatusBar extends StatusBar { mNotificationPeekWindow.setVisibility(View.GONE); mNotificationPanel.setVisibility(View.VISIBLE); + + // XXX: need to synchronize with shadows here mNotificationArea.setVisibility(View.GONE); } break; @@ -369,6 +394,8 @@ public class TabletStatusBar extends StatusBar { if (DEBUG) Slog.d(TAG, "closing notifications panel"); if (mNotificationPanel.getVisibility() == View.VISIBLE) { mNotificationPanel.setVisibility(View.GONE); + + // XXX: need to synchronize with shadows here mNotificationArea.setVisibility(View.VISIBLE); } break; @@ -380,14 +407,18 @@ public class TabletStatusBar extends StatusBar { if (DEBUG) Slog.d(TAG, "closing recents panel"); if (mRecentsPanel != null) mRecentsPanel.setVisibility(View.GONE); break; - case MSG_LIGHTS_ON: - setViewVisibility(mCurtains, View.GONE, R.anim.lights_out_out); - setViewVisibility(mBarContents, View.VISIBLE, R.anim.status_bar_in); + case MSG_HIDE_SHADOWS: + if (DEBUG) Slog.d(TAG, "hiding shadows (lights on)"); + mShadowController.hideAllShadows(); break; - case MSG_LIGHTS_OUT: + case MSG_SHOW_SHADOWS: + if (DEBUG) Slog.d(TAG, "showing shadows (lights out)"); animateCollapse(); - setViewVisibility(mCurtains, View.VISIBLE, R.anim.lights_out_in); - setViewVisibility(mBarContents, View.GONE, R.anim.status_bar_out); + mShadowController.showAllShadows(); + break; + case MSG_RESTORE_SHADOWS: + if (DEBUG) Slog.d(TAG, "quickly re-showing shadows if appropriate"); + mShadowController.refresh(); break; } } @@ -605,16 +636,16 @@ public class TabletStatusBar extends StatusBar { // called by StatusBar @Override public void setLightsOn(boolean on) { - mHandler.removeMessages(MSG_LIGHTS_OUT); - mHandler.removeMessages(MSG_LIGHTS_ON); - mHandler.sendEmptyMessage(on ? MSG_LIGHTS_ON : MSG_LIGHTS_OUT); + mHandler.removeMessages(MSG_SHOW_SHADOWS); + mHandler.removeMessages(MSG_HIDE_SHADOWS); + mHandler.sendEmptyMessage(on ? MSG_HIDE_SHADOWS : MSG_SHOW_SHADOWS); } public void setMenuKeyVisible(boolean visible) { if (DEBUG) { Slog.d(TAG, (visible?"showing":"hiding") + " the MENU button"); } - mMenuButton.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); + mMenuButton.setVisibility(visible ? View.VISIBLE : View.GONE); } public void setIMEButtonVisible(boolean visible) { @@ -664,7 +695,7 @@ public class TabletStatusBar extends StatusBar { }; public void onClickNotificationTrigger() { - if (DEBUG) Slog.d(TAG, "clicked notification icons"); + if (DEBUG) Slog.d(TAG, "clicked notification icons; disabled=" + mDisabled); if ((mDisabled & StatusBarManager.DISABLE_EXPAND) == 0) { if (!mNotificationsOn) { mNotificationsOn = true; @@ -681,7 +712,7 @@ public class TabletStatusBar extends StatusBar { } public void onClickRecentButton() { - if (DEBUG) Slog.d(TAG, "clicked recent apps"); + if (DEBUG) Slog.d(TAG, "clicked recent apps; disabled=" + mDisabled); if (mRecentsPanel == null) { Intent intent = new Intent(); intent.setClass(mContext, RecentApplicationsActivity.class); @@ -939,6 +970,13 @@ public class TabletStatusBar extends StatusBar { } } + void workAroundBadLayerDrawableOpacity(View v) { + LayerDrawable d = (LayerDrawable)v.getBackground(); + v.setBackgroundDrawable(null); + d.setOpacity(PixelFormat.TRANSLUCENT); + v.setBackgroundDrawable(d); + } + private boolean inflateViews(NotificationData.Entry entry, ViewGroup parent) { StatusBarNotification sbn = entry.notification; RemoteViews remoteViews = sbn.notification.contentView; @@ -950,6 +988,7 @@ public class TabletStatusBar extends StatusBar { LayoutInflater inflater = (LayoutInflater)mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE); View row = inflater.inflate(R.layout.status_bar_latest_event, parent, false); + workAroundBadLayerDrawableOpacity(row); View vetoButton = row.findViewById(R.id.veto); if (entry.notification.isClearable()) { final String _pkg = sbn.pkg; @@ -1006,23 +1045,108 @@ public class TabletStatusBar extends StatusBar { return true; } - public class SetLightsOnListener implements View.OnLongClickListener, - View.OnClickListener { - private boolean mOn; + public class ShadowController { + boolean mShowShadows; + View mTouchTarget; - SetLightsOnListener(boolean on) { - mOn = on; + ShadowController(boolean showShadows) { + mShowShadows = showShadows; + mTouchTarget = null; } - public void onClick(View v) { - setLightsOn(mOn); + public boolean getShadowState() { + return mShowShadows; } - public boolean onLongClick(View v) { - setLightsOn(mOn); - return true; + public View.OnTouchListener makeTouchListener() { + return new View.OnTouchListener() { + public boolean onTouch(View v, MotionEvent ev) { + final int action = ev.getAction(); + + if (DEBUG) Slog.d(TAG, "ShadowController: v=" + v + ", ev=" + ev); + + // currently redirecting events? + if (mTouchTarget == null) { + if (v == mBackShadow) { + mTouchTarget = mBackButton; + } else if (v == mHomeShadow) { + mTouchTarget = mHomeButton; + } else if (v == mMenuShadow) { + mTouchTarget = mMenuButton; + } else if (v == mRecentShadow) { + mTouchTarget = mRecentButton; + } else if (v == mNotificationShadow) { + mTouchTarget = mNotificationArea; + } + } + + if (mTouchTarget != null && mTouchTarget.getVisibility() != View.GONE) { + boolean last = false; + switch (action) { + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: + mHandler.removeMessages(MSG_RESTORE_SHADOWS); + if (mShowShadows) { + mHandler.sendEmptyMessageDelayed(MSG_RESTORE_SHADOWS, + v == mNotificationShadow ? 5000 : 500); + } + last = true; + break; + case MotionEvent.ACTION_DOWN: + mHandler.removeMessages(MSG_RESTORE_SHADOWS); + setShadowForButton(mTouchTarget, false); + break; + } + mTouchTarget.dispatchTouchEvent(ev); + if (last) mTouchTarget = null; + return true; + } + + return false; + } + }; + } + + public void refresh() { + setShadowForButton(mBackButton, mShowShadows); + setShadowForButton(mHomeButton, mShowShadows); + setShadowForButton(mRecentButton, mShowShadows); + setShadowForButton(mMenuButton, mShowShadows); + setShadowForButton(mNotificationArea, mShowShadows); + } + + public void showAllShadows() { + mShowShadows = true; + refresh(); + } + + public void hideAllShadows() { + mShowShadows = false; + refresh(); } + // Use View.INVISIBLE for things hidden due to shadowing, and View.GONE for things that are + // disabled (and should not be shadowed or re-shown) + public void setShadowForButton(View button, boolean shade) { + View shadow = null; + if (button == mBackButton) { + shadow = mBackShadow; + } else if (button == mHomeButton) { + shadow = mHomeShadow; + } else if (button == mMenuButton) { + shadow = mMenuShadow; + } else if (button == mRecentButton) { + shadow = mRecentShadow; + } else if (button == mNotificationArea) { + shadow = mNotificationShadow; + } + if (shadow != null) { + if (button.getVisibility() != View.GONE) { + shadow.setVisibility(shade ? View.VISIBLE : View.INVISIBLE); + button.setVisibility(shade ? View.INVISIBLE : View.VISIBLE); + } + } + } } public class TouchOutsideListener implements View.OnTouchListener { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarView.java index bd8266a..823b793 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarView.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.tablet; import android.content.Context; import android.os.Handler; import android.util.AttributeSet; +import android.util.Slog; import android.view.View; import android.view.MotionEvent; import android.widget.FrameLayout; @@ -40,6 +41,9 @@ public class TabletStatusBarView extends FrameLayout { public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { + if (TabletStatusBar.DEBUG) { + Slog.d(TabletStatusBar.TAG, "TabletStatusBarView intercepting touch event: " + ev); + } mHandler.removeMessages(TabletStatusBar.MSG_CLOSE_NOTIFICATION_PANEL); mHandler.sendEmptyMessage(TabletStatusBar.MSG_CLOSE_NOTIFICATION_PANEL); mHandler.removeMessages(TabletStatusBar.MSG_CLOSE_RECENTS_PANEL); @@ -48,6 +52,9 @@ public class TabletStatusBarView extends FrameLayout { for (int i=0; i < mPanels.length; i++) { if (mPanels[i] != null && mPanels[i].getVisibility() == View.VISIBLE) { if (eventInside(mIgnoreChildren[i], ev)) { + if (TabletStatusBar.DEBUG) { + Slog.d(TabletStatusBar.TAG, "TabletStatusBarView eating event for view: " + mIgnoreChildren[i]); + } return true; } } diff --git a/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java b/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java index 5518e11..486e7aa 100644 --- a/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java +++ b/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java @@ -130,9 +130,10 @@ public class SimUnlockScreen extends LinearLayout implements KeyguardScreen, Vie /** {@inheritDoc} */ public void cleanUp() { - // hide the dialog. + // dismiss the dialog. if (mSimUnlockProgressDialog != null) { - mSimUnlockProgressDialog.hide(); + mSimUnlockProgressDialog.dismiss(); + mSimUnlockProgressDialog = null; } mUpdateMonitor.removeCallback(this); } diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index cd9b07e..84dd022 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -5808,7 +5808,8 @@ uint32_t AudioFlinger::EffectModule::deviceAudioSystemToEffectApi(uint32_t devic const uint32_t AudioFlinger::EffectModule::sModeConvTable[] = { AUDIO_MODE_NORMAL, // AudioSystem::MODE_NORMAL AUDIO_MODE_RINGTONE, // AudioSystem::MODE_RINGTONE - AUDIO_MODE_IN_CALL // AudioSystem::MODE_IN_CALL + AUDIO_MODE_IN_CALL, // AudioSystem::MODE_IN_CALL + AUDIO_MODE_IN_CALL // AudioSystem::MODE_IN_COMMUNICATION, same conversion as for MODE_IN_CALL }; int AudioFlinger::EffectModule::modeAudioSystemToEffectApi(uint32_t mode) diff --git a/services/audioflinger/AudioPolicyManagerBase.cpp b/services/audioflinger/AudioPolicyManagerBase.cpp index b17584a..e3b5db1 100644 --- a/services/audioflinger/AudioPolicyManagerBase.cpp +++ b/services/audioflinger/AudioPolicyManagerBase.cpp @@ -246,7 +246,7 @@ void AudioPolicyManagerBase::setPhoneState(int state) // if leaving call state, handle special case of active streams // pertaining to sonification strategy see handleIncallSonification() - if (mPhoneState == AudioSystem::MODE_IN_CALL) { + if (isInCall()) { LOGV("setPhoneState() in call state management: new state is %d", state); for (int stream = 0; stream < AudioSystem::NUM_STREAM_TYPES; stream++) { handleIncallSonification(stream, false, true); @@ -259,16 +259,21 @@ void AudioPolicyManagerBase::setPhoneState(int state) bool force = false; // are we entering or starting a call - if ((oldState != AudioSystem::MODE_IN_CALL) && (state == AudioSystem::MODE_IN_CALL)) { + if (!isStateInCall(oldState) && isStateInCall(state)) { LOGV(" Entering call in setPhoneState()"); // force routing command to audio hardware when starting a call // even if no device change is needed force = true; - } else if ((oldState == AudioSystem::MODE_IN_CALL) && (state != AudioSystem::MODE_IN_CALL)) { + } else if (isStateInCall(oldState) && !isStateInCall(state)) { LOGV(" Exiting call in setPhoneState()"); // force routing command to audio hardware when exiting a call // even if no device change is needed force = true; + } else if (isStateInCall(state) && (state != oldState)) { + LOGV(" Switching between telephony and VoIP in setPhoneState()"); + // force routing command to audio hardware when switching between telephony and VoIP + // even if no device change is needed + force = true; } // check for device and output changes triggered by new phone state @@ -290,7 +295,7 @@ void AudioPolicyManagerBase::setPhoneState(int state) // force routing command to audio hardware when ending call // even if no device change is needed - if (oldState == AudioSystem::MODE_IN_CALL && newDevice == 0) { + if (isStateInCall(oldState) && newDevice == 0) { newDevice = hwOutputDesc->device(); } @@ -298,7 +303,7 @@ void AudioPolicyManagerBase::setPhoneState(int state) // immediately and delay the route change to avoid sending the ring tone // tail into the earpiece or headset. int delayMs = 0; - if (state == AudioSystem::MODE_IN_CALL && oldState == AudioSystem::MODE_RINGTONE) { + if (isStateInCall(state) && oldState == AudioSystem::MODE_RINGTONE) { // delay the device change command by twice the output latency to have some margin // and be sure that audio buffers not yet affected by the mute are out when // we actually apply the route change @@ -311,7 +316,7 @@ void AudioPolicyManagerBase::setPhoneState(int state) // if entering in call state, handle special case of active streams // pertaining to sonification strategy see handleIncallSonification() - if (state == AudioSystem::MODE_IN_CALL) { + if (isStateInCall(state)) { LOGV("setPhoneState() in call state management: new state is %d", state); // unmute the ringing tone after a sufficient delay if it was muted before // setting output device above @@ -586,7 +591,7 @@ status_t AudioPolicyManagerBase::startOutput(audio_io_handle_t output, setOutputDevice(output, getNewDevice(output)); // handle special case for sonification while in call - if (mPhoneState == AudioSystem::MODE_IN_CALL) { + if (isInCall()) { handleIncallSonification(stream, true, false); } @@ -611,7 +616,7 @@ status_t AudioPolicyManagerBase::stopOutput(audio_io_handle_t output, routing_strategy strategy = getStrategy((AudioSystem::stream_type)stream); // handle special case for sonification while in call - if (mPhoneState == AudioSystem::MODE_IN_CALL) { + if (isInCall()) { handleIncallSonification(stream, false, false); } @@ -1478,7 +1483,7 @@ uint32_t AudioPolicyManagerBase::getNewDevice(audio_io_handle_t output, bool fro // use device for strategy media // 4: the strategy DTMF is active on the hardware output: // use device for strategy DTMF - if (mPhoneState == AudioSystem::MODE_IN_CALL || + if (isInCall() || outputDesc->isUsedByStrategy(STRATEGY_PHONE)) { device = getDeviceForStrategy(STRATEGY_PHONE, fromCache); } else if (outputDesc->isUsedByStrategy(STRATEGY_SONIFICATION)) { @@ -1533,7 +1538,7 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, switch (strategy) { case STRATEGY_DTMF: - if (mPhoneState != AudioSystem::MODE_IN_CALL) { + if (!isInCall()) { // when off call, DTMF strategy follows the same rules as MEDIA strategy device = getDeviceForStrategy(STRATEGY_MEDIA, false); break; @@ -1546,7 +1551,7 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, // of priority switch (mForceUse[AudioSystem::FOR_COMMUNICATION]) { case AudioSystem::FORCE_BT_SCO: - if (mPhoneState != AudioSystem::MODE_IN_CALL || strategy != STRATEGY_DTMF) { + if (!isInCall() || strategy != STRATEGY_DTMF) { device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT; if (device) break; } @@ -1566,7 +1571,7 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, if (device) break; #ifdef WITH_A2DP // when not in a phone call, phone strategy should route STREAM_VOICE_CALL to A2DP - if (mPhoneState != AudioSystem::MODE_IN_CALL) { + if (!isInCall()) { device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP; if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES; @@ -1580,14 +1585,14 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, break; case AudioSystem::FORCE_SPEAKER: - if (mPhoneState != AudioSystem::MODE_IN_CALL || strategy != STRATEGY_DTMF) { + if (!isInCall() || strategy != STRATEGY_DTMF) { device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT; if (device) break; } #ifdef WITH_A2DP // when not in a phone call, phone strategy should route STREAM_VOICE_CALL to // A2DP speaker when forcing to speaker output - if (mPhoneState != AudioSystem::MODE_IN_CALL) { + if (!isInCall()) { device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER; if (device) break; } @@ -1604,7 +1609,7 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, // If incall, just select the STRATEGY_PHONE device: The rest of the behavior is handled by // handleIncallSonification(). - if (mPhoneState == AudioSystem::MODE_IN_CALL) { + if (isInCall()) { device = getDeviceForStrategy(STRATEGY_PHONE, false); break; } @@ -1971,6 +1976,16 @@ void AudioPolicyManagerBase::handleIncallSonification(int stream, bool starting, } } +bool AudioPolicyManagerBase::isInCall() +{ + return isStateInCall(mPhoneState); +} + +bool AudioPolicyManagerBase::isStateInCall(int state) { + return ((state == AudioSystem::MODE_IN_CALL) || + (state == AudioSystem::MODE_IN_COMMUNICATION)); +} + bool AudioPolicyManagerBase::needsDirectOuput(AudioSystem::stream_type stream, uint32_t samplingRate, uint32_t format, diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 8d25d50..84bc100 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -557,6 +557,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi) { synchronized (mMethodMap) { + if (imi == null && mCurMethodId != null) { + imi = mMethodMap.get(mCurMethodId); + } return mSettings.getEnabledInputMethodSubtypeListLocked(imi); } } @@ -2043,18 +2046,20 @@ public class InputMethodManagerService extends IInputMethodManager.Stub getEnabledInputMethodsAndSubtypeListLocked(); ArrayList<InputMethodSubtype> enabledSubtypes = new ArrayList<InputMethodSubtype>(); - for (Pair<String, ArrayList<String>> imsPair : imsList) { - InputMethodInfo info = mMethodMap.get(imsPair.first); - if (info != null && info.getId().equals(imi.getId())) { - ArrayList<InputMethodSubtype> subtypes = info.getSubtypes(); - for (InputMethodSubtype ims: subtypes) { - for (String s: imsPair.second) { - if (String.valueOf(ims.hashCode()).equals(s)) { - enabledSubtypes.add(ims); + if (imi != null) { + for (Pair<String, ArrayList<String>> imsPair : imsList) { + InputMethodInfo info = mMethodMap.get(imsPair.first); + if (info != null && info.getId().equals(imi.getId())) { + ArrayList<InputMethodSubtype> subtypes = info.getSubtypes(); + for (InputMethodSubtype ims: subtypes) { + for (String s: imsPair.second) { + if (String.valueOf(ims.hashCode()).equals(s)) { + enabledSubtypes.add(ims); + } } } + break; } - break; } } return enabledSubtypes; diff --git a/services/java/com/android/server/WiredAccessoryObserver.java b/services/java/com/android/server/WiredAccessoryObserver.java index 4a85aff..0529080 100644 --- a/services/java/com/android/server/WiredAccessoryObserver.java +++ b/services/java/com/android/server/WiredAccessoryObserver.java @@ -86,33 +86,40 @@ class WiredAccessoryObserver extends UEventObserver { if (LOG) Slog.v(TAG, "Headset UEVENT: " + event.toString()); try { - if ((event.get("SWITCH_NAME")).equals("usb_audio")) { - if (Integer.parseInt(event.get("SWITCH_STATE")) == 1) { - switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| - BIT_USB_HEADSET_DGTL)) | - (Integer.parseInt(event.get("SWITCH_STATE")) << 2)); - } else if (Integer.parseInt(event.get("SWITCH_STATE")) == 2) { - switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| - BIT_USB_HEADSET_ANLG)) | - (Integer.parseInt(event.get("SWITCH_STATE")) << 3)); - } - else switchState = (mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC)); - } - else if ((event.get("SWITCH_NAME")).equals("hdmi")) { - switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| - BIT_USB_HEADSET_DGTL|BIT_USB_HEADSET_ANLG)) | - (Integer.parseInt(event.get("SWITCH_STATE")) << 4)); - } - else { - switchState = ((mHeadsetState & (BIT_USB_HEADSET_ANLG|BIT_USB_HEADSET_DGTL)) | - (Integer.parseInt(event.get("SWITCH_STATE")))); - } - update(event.get("SWITCH_NAME"), switchState); + String name = event.get("SWITCH_NAME"); + int state = Integer.parseInt(event.get("SWITCH_STATE")); + updateState(name, state); } catch (NumberFormatException e) { Slog.e(TAG, "Could not parse switch state from event " + event); } } + private synchronized final void updateState(String name, int state) + { + if (name.equals("usb_audio")) { + if (state == 1) { + switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| + BIT_USB_HEADSET_DGTL|BIT_HDMI_AUDIO)) | + (state << 2)); + } else if (state == 2) { + switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| + BIT_USB_HEADSET_ANLG|BIT_HDMI_AUDIO)) | + (state << 3)); + } else switchState = (mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC|BIT_HDMI_AUDIO)); + } + else if (name.equals("hdmi")) { + switchState = ((mHeadsetState & (BIT_HEADSET|BIT_HEADSET_NO_MIC| + BIT_USB_HEADSET_DGTL|BIT_USB_HEADSET_ANLG)) | + (state << 4)); + } + else { + switchState = ((mHeadsetState & (BIT_HDMI_AUDIO|BIT_USB_HEADSET_ANLG| + BIT_USB_HEADSET_DGTL)) | + state); + } + update(name, switchState); + } + private synchronized final void init() { char[] buffer = new char[1024]; @@ -132,13 +139,15 @@ class WiredAccessoryObserver extends UEventObserver { file.close(); newName = new String(buffer, 0, len).trim(); + if (newState > 0) { + updateState(newName, newState); + } + } catch (FileNotFoundException e) { Slog.w(TAG, "This kernel does not have wired headset support"); } catch (Exception e) { Slog.e(TAG, "" , e); } - - update(newName, newState); } } diff --git a/telephony/java/com/android/internal/telephony/CallManager.java b/telephony/java/com/android/internal/telephony/CallManager.java index d74a547..5b49305 100644 --- a/telephony/java/com/android/internal/telephony/CallManager.java +++ b/telephony/java/com/android/internal/telephony/CallManager.java @@ -380,12 +380,17 @@ public final class CallManager { break; case OFFHOOK: Phone fgPhone = getFgPhone(); - // Enable IN_CALL mode while foreground call is in DIALING, - // ALERTING, ACTIVE and DISCONNECTING state and not from sipPhone + // While foreground call is in DIALING, + // ALERTING, ACTIVE and DISCONNECTING state if (getActiveFgCallState() != Call.State.IDLE - && getActiveFgCallState() != Call.State.DISCONNECTED - && !(fgPhone instanceof SipPhone)) { - mode = AudioManager.MODE_IN_CALL; + && getActiveFgCallState() != Call.State.DISCONNECTED) { + if (fgPhone instanceof SipPhone) { + // enable IN_COMMUNICATION audio mode for sipPhone + mode = AudioManager.MODE_IN_COMMUNICATION; + } else { + // enable IN_CALL audio mode for telephony + mode = AudioManager.MODE_IN_CALL; + } } break; } diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java index 35d5564..a77e73e 100644 --- a/telephony/java/com/android/internal/telephony/RIL.java +++ b/telephony/java/com/android/internal/telephony/RIL.java @@ -141,6 +141,7 @@ class RILRequest { this.mNext = sPool; sPool = this; sPoolSize++; + mResult = null; } } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java index b9d5673..099bc30 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -934,13 +934,13 @@ public class CDMAPhone extends PhoneBase { switch(action) { case CANCEL_ECM_TIMER: removeCallbacks(mExitEcmRunnable); - mEcmTimerResetRegistrants.notifyResult(new Boolean(true)); + mEcmTimerResetRegistrants.notifyResult(Boolean.TRUE); break; case RESTART_ECM_TIMER: long delayInMillis = SystemProperties.getLong( TelephonyProperties.PROPERTY_ECM_EXIT_TIMER, DEFAULT_ECM_EXIT_TIMER_VALUE); postDelayed(mExitEcmRunnable, delayInMillis); - mEcmTimerResetRegistrants.notifyResult(new Boolean(false)); + mEcmTimerResetRegistrants.notifyResult(Boolean.FALSE); break; default: Log.e(LOG_TAG, "handleTimerInEmergencyCallbackMode, unsupported action " + action); diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index effb743..70328f7 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -106,7 +106,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { * It is a subset of allApns and has the same format */ private ArrayList<ApnSetting> mWaitingApns = null; - + private int mWaitingApnsPermanentFailureCountDown = 0; private ApnSetting mPreferredApn = null; /* Currently active APN */ @@ -361,6 +361,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if (mState == State.IDLE) { mWaitingApns = buildWaitingApns(mRequestedApnType); + mWaitingApnsPermanentFailureCountDown = mWaitingApns.size(); if (mWaitingApns.isEmpty()) { if (DBG) log("No APN found"); notifyNoData(GsmDataConnection.FailCause.MISSING_UNKNOWN_APN); @@ -996,6 +997,9 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { } if (ar.exception == null) { + if(DBG) { + log(String.format("onDataSetupComplete: success apn=%s", mWaitingApns.get(0).apn)); + } // TODO: We should clear LinkProperties/Capabilities when torn down or disconnected mLinkProperties = getLinkProperties(mPendingDataConnection); mLinkCapabilities = getLinkCapabilities(mPendingDataConnection); @@ -1047,27 +1051,32 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { log(String.format("onDataSetupComplete: error apn=%s cause=%s", apnString, cause)); } if (cause.isEventLoggable()) { + // Log this failure to the Event Logs. GsmCellLocation loc = ((GsmCellLocation)mPhone.getCellLocation()); EventLog.writeEvent(EventLogTags.PDP_SETUP_FAIL, cause.ordinal(), loc != null ? loc.getCid() : -1, TelephonyManager.getDefault().getNetworkType()); } - // Do not retry on permanent failure - // TODO: We should not fail permanently if more Apns to try! - if (cause.isPermanentFail()) { - notifyNoData(cause); - notifyDataConnection(Phone.REASON_APN_FAILED); - onEnableApn(apnTypeToId(mRequestedApnType), DISABLED); - return; - } - + // Count permanent failures and remove the APN we just tried + mWaitingApnsPermanentFailureCountDown -= cause.isPermanentFail() ? 1 : 0; mWaitingApns.remove(0); + if (DBG) log(String.format("onDataSetupComplete: mWaitingApns.size=%d" + + " mWaitingApnsPermanenatFailureCountDown=%d", + mWaitingApns.size(), mWaitingApnsPermanentFailureCountDown)); + + // See if there are more APN's to try if (mWaitingApns.isEmpty()) { - // No more to try, start delayed retry - startDelayedRetry(cause, reason); + if (mWaitingApnsPermanentFailureCountDown == 0) { + if (DBG) log("onDataSetupComplete: Permanent failures stop retrying"); + notifyNoData(cause); + notifyDataConnection(Phone.REASON_APN_FAILED); + } else { + if (DBG) log("onDataSetupComplete: Not all permanent failures, retry"); + startDelayedRetry(cause, reason); + } } else { - // we still have more apns to try + if (DBG) log("onDataSetupComplete: Try next APN"); setState(State.SCANNING); // Wait a bit before trying the next APN, so that // we're not tying up the RIL command channel diff --git a/telephony/java/com/android/internal/telephony/sip/SipPhoneBase.java b/telephony/java/com/android/internal/telephony/sip/SipPhoneBase.java index afd4d0c..db9e35a 100755 --- a/telephony/java/com/android/internal/telephony/sip/SipPhoneBase.java +++ b/telephony/java/com/android/internal/telephony/sip/SipPhoneBase.java @@ -101,12 +101,12 @@ abstract class SipPhoneBase extends PhoneBase { } protected void startRingbackTone() { - AsyncResult result = new AsyncResult(null, new Boolean(true), null); + AsyncResult result = new AsyncResult(null, Boolean.TRUE, null); mRingbackRegistrants.notifyRegistrants(result); } protected void stopRingbackTone() { - AsyncResult result = new AsyncResult(null, new Boolean(false), null); + AsyncResult result = new AsyncResult(null, Boolean.FALSE, null); mRingbackRegistrants.notifyRegistrants(result); } diff --git a/test-runner/src/android/test/InstrumentationTestRunner.java b/test-runner/src/android/test/InstrumentationTestRunner.java index 3ac74f7..5ce3efc 100644 --- a/test-runner/src/android/test/InstrumentationTestRunner.java +++ b/test-runner/src/android/test/InstrumentationTestRunner.java @@ -785,7 +785,7 @@ public class InstrumentationTestRunner extends Instrumentation implements TestSu mIncludeDetailedStats = false; try { // Look for TimedTest annotation on both test class and test method - if (testMethod.isAnnotationPresent(TimedTest.class)) { + if (testMethod != null && testMethod.isAnnotationPresent(TimedTest.class)) { mIsTimedTest = true; mIncludeDetailedStats = testMethod.getAnnotation( TimedTest.class).includeDetailedStats(); diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java index c62f4de..d545018 100644 --- a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java +++ b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java @@ -80,9 +80,6 @@ public class FileFilter { "fast/regex/test1.html", // Causes DumpRenderTree to hang with V8 "fast/regex/slow.html", // Causes DumpRenderTree to hang with V8 "http/tests/xmlhttprequest/simple-cross-origin-progress-events.html", // runs webcore into bad state, http://b/2929261 - "ietestcenter/Javascript/15.4.4.15-3-14.html", // hangs the layout tests, http://b/2889595 - "ietestcenter/Javascript/15.4.4.15-3-29.html", // hangs the layout tests, http://b/2889596 - "ietestcenter/Javascript/15.4.4.15-3-8.html", // hangs the layout tests, http://b/2889598 }; static void fillIgnoreResultList() { |