diff options
163 files changed, 1592 insertions, 670 deletions
diff --git a/api/current.txt b/api/current.txt index 91e5ddd22768..ea26c9a0e43c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -4476,6 +4476,7 @@ package android.appwidget { public class AppWidgetProviderInfo implements android.os.Parcelable { ctor public AppWidgetProviderInfo(); ctor public AppWidgetProviderInfo(android.os.Parcel); + method public android.appwidget.AppWidgetProviderInfo clone(); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; diff --git a/core/java/android/app/backup/FullBackup.java b/core/java/android/app/backup/FullBackup.java index d7f1c9f0fab4..f859599e18ce 100644 --- a/core/java/android/app/backup/FullBackup.java +++ b/core/java/android/app/backup/FullBackup.java @@ -64,7 +64,9 @@ public class FullBackup { /** * Copy data from a socket to the given File location on permanent storage. The - * modification time and access mode of the resulting file will be set if desired. + * modification time and access mode of the resulting file will be set if desired, + * although group/all rwx modes will be stripped: the restored file will not be + * accessible from outside the target application even if the original file was. * If the {@code type} parameter indicates that the result should be a directory, * the socket parameter may be {@code null}; even if it is valid, no data will be * read from it in this case. @@ -79,8 +81,9 @@ public class FullBackup { * @param type Must be either {@link BackupAgent#TYPE_FILE} for ordinary file data * or {@link BackupAgent#TYPE_DIRECTORY} for a directory. * @param mode Unix-style file mode (as used by the chmod(2) syscall) to be set on - * the output file or directory. If this parameter is negative then neither - * the mode nor the mtime parameters will be used. + * the output file or directory. group/all rwx modes are stripped even if set + * in this parameter. If this parameter is negative then neither + * the mode nor the mtime values will be applied to the restored file. * @param mtime A timestamp in the standard Unix epoch that will be imposed as the * last modification time of the output file. if the {@code mode} parameter is * negative then this parameter will be ignored. @@ -105,8 +108,6 @@ public class FullBackup { if (!parent.exists()) { // in practice this will only be for the default semantic directories, // and using the default mode for those is appropriate. - // TODO: support the edge case of apps that have adjusted the - // permissions on these core directories parent.mkdirs(); } out = new FileOutputStream(outFile); @@ -146,6 +147,8 @@ public class FullBackup { // Now twiddle the state to match the backup, assuming all went well if (mode >= 0 && outFile != null) { try { + // explicitly prevent emplacement of files accessible by outside apps + mode &= 0700; Libcore.os.chmod(outFile.getPath(), (int)mode); } catch (ErrnoException e) { e.rethrowAsIOException(); diff --git a/core/java/android/appwidget/AppWidgetHost.java b/core/java/android/appwidget/AppWidgetHost.java index 185fb5a8de59..cb61a71b147a 100644 --- a/core/java/android/appwidget/AppWidgetHost.java +++ b/core/java/android/appwidget/AppWidgetHost.java @@ -21,6 +21,7 @@ import java.util.HashMap; import android.app.ActivityThread; import android.content.Context; +import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.Looper; @@ -57,6 +58,9 @@ public class AppWidgetHost { class Callbacks extends IAppWidgetHost.Stub { public void updateAppWidget(int appWidgetId, RemoteViews views) { + if (isLocalBinder() && views != null) { + views = views.clone(); + } Message msg = mHandler.obtainMessage(HANDLE_UPDATE); msg.arg1 = appWidgetId; msg.obj = views; @@ -64,6 +68,9 @@ public class AppWidgetHost { } public void providerChanged(int appWidgetId, AppWidgetProviderInfo info) { + if (isLocalBinder() && info != null) { + info = info.clone(); + } Message msg = mHandler.obtainMessage(HANDLE_PROVIDER_CHANGED); msg.arg1 = appWidgetId; msg.obj = info; @@ -225,6 +232,10 @@ public class AppWidgetHost { throw new SecurityException("Disallowed call for uid " + uid); } + private boolean isLocalBinder() { + return Process.myPid() == Binder.getCallingPid(); + } + /** * Stop listening to changes for this AppWidget. */ diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java index 5ef3d3979253..50744808c882 100644 --- a/core/java/android/appwidget/AppWidgetProviderInfo.java +++ b/core/java/android/appwidget/AppWidgetProviderInfo.java @@ -281,6 +281,28 @@ public class AppWidgetProviderInfo implements Parcelable { out.writeInt(this.widgetFeatures); } + @Override + public AppWidgetProviderInfo clone() { + AppWidgetProviderInfo that = new AppWidgetProviderInfo(); + that.provider = this.provider == null ? null : this.provider.clone(); + that.minWidth = this.minWidth; + that.minHeight = this.minHeight; + that.minResizeWidth = this.minResizeHeight; + that.minResizeHeight = this.minResizeHeight; + that.updatePeriodMillis = this.updatePeriodMillis; + that.initialLayout = that.initialLayout; + that.initialKeyguardLayout = this.initialKeyguardLayout; + that.configure = this.configure == null ? null : this.configure.clone(); + that.label = this.label == null ? null : this.label.substring(0); + that.icon = this.icon; + that.previewImage = this.previewImage; + that.autoAdvanceViewId = this.autoAdvanceViewId; + that.resizeMode = this.resizeMode; + that.widgetCategory = this.widgetCategory; + that.widgetFeatures = this.widgetFeatures; + return that; + } + public int describeContents() { return 0; } diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index 54a2273bf076..b3ab3857374e 100755 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -37,6 +37,7 @@ import android.graphics.Rect; import android.net.Uri; import android.os.Bundle; import android.os.RemoteException; +import android.os.UserHandle; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Pair; @@ -7744,7 +7745,7 @@ public final class ContactsContract { intent.setSourceBounds(target); intent.putExtra(EXTRA_MODE, mode); intent.putExtra(EXTRA_EXCLUDE_MIMES, excludeMimes); - context.startActivity(intent); + context.startActivityAsUser(intent, new UserHandle(UserHandle.USER_CURRENT)); } } diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 12eb800fc3a3..750badd52ff6 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -2150,7 +2150,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * Group of bits indicating that RTL properties resolution is done. */ static final int ALL_RTL_PROPERTIES_RESOLVED = PFLAG2_LAYOUT_DIRECTION_RESOLVED | - PFLAG2_TEXT_DIRECTION_RESOLVED | PFLAG2_TEXT_ALIGNMENT_RESOLVED; + PFLAG2_TEXT_DIRECTION_RESOLVED | + PFLAG2_TEXT_ALIGNMENT_RESOLVED | + PFLAG2_PADDING_RESOLVED | + PFLAG2_DRAWABLE_RESOLVED; // There are a couple of flags left in mPrivateFlags2 @@ -3299,6 +3302,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, int overScrollMode = mOverScrollMode; boolean initializeScrollbars = false; + boolean leftPaddingDefined = false; + boolean rightPaddingDefined = false; + boolean startPaddingDefined = false; + boolean endPaddingDefined = false; + final int targetSdkVersion = context.getApplicationInfo().targetSdkVersion; final int N = a.getIndexCount(); @@ -3312,10 +3320,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback, padding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftInitial = padding; mUserPaddingRightInitial = padding; + leftPaddingDefined = true; + rightPaddingDefined = true; break; case com.android.internal.R.styleable.View_paddingLeft: leftPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftInitial = leftPadding; + leftPaddingDefined = true; break; case com.android.internal.R.styleable.View_paddingTop: topPadding = a.getDimensionPixelSize(attr, -1); @@ -3323,15 +3334,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, case com.android.internal.R.styleable.View_paddingRight: rightPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingRightInitial = rightPadding; + rightPaddingDefined = true; break; case com.android.internal.R.styleable.View_paddingBottom: bottomPadding = a.getDimensionPixelSize(attr, -1); break; case com.android.internal.R.styleable.View_paddingStart: startPadding = a.getDimensionPixelSize(attr, UNDEFINED_PADDING); + startPaddingDefined = true; break; case com.android.internal.R.styleable.View_paddingEnd: endPadding = a.getDimensionPixelSize(attr, UNDEFINED_PADDING); + endPaddingDefined = true; break; case com.android.internal.R.styleable.View_scrollX: x = a.getDimensionPixelOffset(attr, 0); @@ -3629,10 +3643,24 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mUserPaddingRightInitial = padding; } + // RTL compatibility mode: pre Jelly Bean MR1 case OR no RTL support case. + // left / right padding are used if defined (meaning here nothing to do). If they are not + // defined and start / end padding are defined (e.g. in Frameworks resources), then we use + // start / end and resolve them as left / right (layout direction is not taken into account). + if (isRtlCompatibilityMode()) { + if (!leftPaddingDefined && startPaddingDefined) { + leftPadding = startPadding; + } + if (!rightPaddingDefined && endPaddingDefined) { + rightPadding = endPadding; + } + } + // If the user specified the padding (either with android:padding or // android:paddingLeft/Top/Right/Bottom), use this padding, otherwise // use the default padding or the padding from the background drawable - // (stored at this point in mPadding*) + // (stored at this point in mPadding*). Padding resolution will happen later if + // RTL is supported. mUserPaddingLeftInitial = leftPadding >= 0 ? leftPadding : mPaddingLeft; mUserPaddingRightInitial = rightPadding >= 0 ? rightPadding : mPaddingRight; internalSetPadding( @@ -11569,6 +11597,15 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** + * Return true if we are in RTL compatibility mode (either before Jelly Bean MR1 or + * RTL not supported) + */ + private boolean isRtlCompatibilityMode() { + final int targetSdkVersion = getContext().getApplicationInfo().targetSdkVersion; + return targetSdkVersion < JELLY_BEAN_MR1 || !hasRtlSupport(); + } + + /** * @return true if RTL properties need resolution. */ private boolean needRtlPropertiesResolution() { @@ -11693,26 +11730,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @hide */ public void resolvePadding() { - final int targetSdkVersion = getContext().getApplicationInfo().targetSdkVersion; - if (targetSdkVersion < JELLY_BEAN_MR1 || !hasRtlSupport()) { - // Pre Jelly Bean MR1 case (compatibility mode) OR no RTL support case: - // left / right padding are used if defined. If they are not defined and start / end - // padding are defined (e.g. in Frameworks resources), then we use start / end and - // resolve them as left / right (layout direction is not taken into account). - if (mUserPaddingLeftInitial == UNDEFINED_PADDING && - mUserPaddingStart != UNDEFINED_PADDING) { - mUserPaddingLeft = mUserPaddingStart; - } - if (mUserPaddingRightInitial == UNDEFINED_PADDING && - mUserPaddingEnd != UNDEFINED_PADDING) { - mUserPaddingRight = mUserPaddingEnd; - } - - mUserPaddingBottom = (mUserPaddingBottom >= 0) ? mUserPaddingBottom : mPaddingBottom; - - internalSetPadding(mUserPaddingLeft, mPaddingTop, mUserPaddingRight, - mUserPaddingBottom); - } else { + if (!isRtlCompatibilityMode()) { // Post Jelly Bean MR1 case: we need to take the resolved layout direction into account. // If start / end padding are defined, they will be resolved (hence overriding) to // left / right or right / left depending on the resolved layout direction. diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 6db40ba04bef..438f792f2c62 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1616,6 +1616,7 @@ public final class ViewRootImpl implements ViewParent, mAttachInfo.mHardwareRenderer.setup(mWidth, mHeight); if (!hwInitialized) { mAttachInfo.mHardwareRenderer.invalidate(mHolder.getSurface()); + mFullRedrawNeeded = true; } } } diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 62643154cbfd..7f0af09fca01 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -65,6 +65,7 @@ import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputConnectionWrapper; import android.view.inputmethod.InputMethodManager; +import android.widget.RemoteViews.OnClickHandler; import com.android.internal.R; @@ -5875,6 +5876,21 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } /** + * Sets up the onClickHandler to be used by the RemoteViewsAdapter when inflating RemoteViews + * + * @param handler The OnClickHandler to use when inflating RemoteViews. + * + * @hide + */ + public void setRemoteViewsOnClickHandler(OnClickHandler handler) { + // Ensure that we don't already have a RemoteViewsAdapter that is bound to an existing + // service handling the specified intent. + if (mRemoteAdapter != null) { + mRemoteAdapter.setRemoteViewsOnClickHandler(handler); + } + } + + /** * This defers a notifyDataSetChanged on the pending RemoteViewsAdapter if it has not * connected yet. */ diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java index 2266cea8a92c..90e949aef934 100644 --- a/core/java/android/widget/AdapterViewAnimator.java +++ b/core/java/android/widget/AdapterViewAnimator.java @@ -31,6 +31,7 @@ import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; +import android.widget.RemoteViews.OnClickHandler; import java.util.ArrayList; import java.util.HashMap; @@ -992,6 +993,21 @@ public abstract class AdapterViewAnimator extends AdapterView<Adapter> } } + /** + * Sets up the onClickHandler to be used by the RemoteViewsAdapter when inflating RemoteViews + * + * @param handler The OnClickHandler to use when inflating RemoteViews. + * + * @hide + */ + public void setRemoteViewsOnClickHandler(OnClickHandler handler) { + // Ensure that we don't already have a RemoteViewsAdapter that is bound to an existing + // service handling the specified intent. + if (mRemoteViewsAdapter != null) { + mRemoteViewsAdapter.setRemoteViewsOnClickHandler(handler); + } + } + @Override public void setSelection(int position) { setDisplayedChild(position); diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 4b5dfb84d742..8d837743fb29 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -237,12 +237,11 @@ public class RemoteViews implements Parcelable, Filter { * @hide */ public void mergeRemoteViews(RemoteViews newRv) { + if (newRv == null) return; // We first copy the new RemoteViews, as the process of merging modifies the way the actions // reference the bitmap cache. We don't want to modify the object as it may need to // be merged and applied multiple times. - Parcel p = Parcel.obtain(); - newRv.writeToParcel(p, 0); - RemoteViews copy = new RemoteViews(p); + RemoteViews copy = newRv.clone(); HashMap<String, Action> map = new HashMap<String, Action>(); if (mActions == null) { @@ -261,7 +260,7 @@ public class RemoteViews implements Parcelable, Filter { for (int i = 0; i < count; i++) { Action a = newActions.get(i); String key = newActions.get(i).getUniqueKey(); - int mergeBehavior = map.get(key).mergeBehavior(); + int mergeBehavior = newActions.get(i).mergeBehavior(); if (map.containsKey(key) && mergeBehavior == Action.MERGE_REPLACE) { mActions.remove(map.get(key)); map.remove(key); @@ -530,9 +529,11 @@ public class RemoteViews implements Parcelable, Filter { if (target instanceof AbsListView) { AbsListView v = (AbsListView) target; v.setRemoteViewsAdapter(intent); + v.setRemoteViewsOnClickHandler(handler); } else if (target instanceof AdapterViewAnimator) { AdapterViewAnimator v = (AdapterViewAnimator) target; v.setRemoteViewsAdapter(intent); + v.setRemoteViewsOnClickHandler(handler); } } @@ -1579,23 +1580,12 @@ public class RemoteViews implements Parcelable, Filter { recalculateMemoryUsage(); } - @Override - public RemoteViews clone() { - RemoteViews that; - if (!hasLandscapeAndPortraitLayouts()) { - that = new RemoteViews(mPackage, mLayoutId); - if (mActions != null) { - that.mActions = (ArrayList<Action>)mActions.clone(); - } - } else { - RemoteViews land = mLandscape.clone(); - RemoteViews port = mPortrait.clone(); - that = new RemoteViews(land, port); - } - // update the memory usage stats of the cloned RemoteViews - that.recalculateMemoryUsage(); - return that; + public RemoteViews clone() { + Parcel p = Parcel.obtain(); + writeToParcel(p, 0); + p.setDataPosition(0); + return new RemoteViews(p); } public String getPackage() { diff --git a/core/java/android/widget/RemoteViewsAdapter.java b/core/java/android/widget/RemoteViewsAdapter.java index f0109ce947ce..e4817025c347 100644 --- a/core/java/android/widget/RemoteViewsAdapter.java +++ b/core/java/android/widget/RemoteViewsAdapter.java @@ -36,6 +36,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.View.MeasureSpec; import android.view.ViewGroup; +import android.widget.RemoteViews.OnClickHandler; import com.android.internal.widget.IRemoteViewsAdapterConnection; import com.android.internal.widget.IRemoteViewsFactory; @@ -68,6 +69,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback private LayoutInflater mLayoutInflater; private RemoteViewsAdapterServiceConnection mServiceConnection; private WeakReference<RemoteAdapterConnectionCallback> mCallback; + private OnClickHandler mRemoteViewsOnClickHandler; private FixedSizeRemoteViewsCache mCache; private int mVisibleWindowLowerBound; private int mVisibleWindowUpperBound; @@ -277,11 +279,11 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback * @param view the RemoteViews that was loaded. If null, the RemoteViews was not loaded * successfully. */ - public void onRemoteViewsLoaded(RemoteViews view) { + public void onRemoteViewsLoaded(RemoteViews view, OnClickHandler handler) { try { // Remove all the children of this layout first removeAllViews(); - addView(view.apply(getContext(), this)); + addView(view.apply(getContext(), this, handler)); } catch (Exception e) { Log.e(TAG, "Failed to apply RemoteViews."); } @@ -330,7 +332,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback // Notify all the references for that position of the newly loaded RemoteViews final LinkedList<RemoteViewsFrameLayout> refs = mReferences.get(pos); for (final RemoteViewsFrameLayout ref : refs) { - ref.onRemoteViewsLoaded(view); + ref.onRemoteViewsLoaded(view, mRemoteViewsOnClickHandler); } refs.clear(); @@ -421,7 +423,8 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback } private RemoteViewsFrameLayout createLoadingView(int position, View convertView, - ViewGroup parent, Object lock, LayoutInflater layoutInflater) { + ViewGroup parent, Object lock, LayoutInflater layoutInflater, OnClickHandler + handler) { // Create and return a new FrameLayout, and setup the references for this position final Context context = parent.getContext(); RemoteViewsFrameLayout layout = new RemoteViewsFrameLayout(context); @@ -433,7 +436,8 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback if (mUserLoadingView != null) { // Try to inflate user-specified loading view try { - View loadingView = mUserLoadingView.apply(parent.getContext(), parent); + View loadingView = mUserLoadingView.apply(parent.getContext(), parent, + handler); loadingView.setTagInternal(com.android.internal.R.id.rowTypeId, new Integer(0)); layout.addView(loadingView); @@ -448,7 +452,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback // Use the size of the first row as a guide for the size of the loading view if (mFirstViewHeight < 0) { try { - View firstView = mFirstView.apply(parent.getContext(), parent); + View firstView = mFirstView.apply(parent.getContext(), parent, handler); firstView.measure( MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); @@ -815,6 +819,10 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback return mDataReady; } + public void setRemoteViewsOnClickHandler(OnClickHandler handler) { + mRemoteViewsOnClickHandler = handler; + } + public void saveRemoteViewsCache() { final Pair<Intent.FilterComparison, Integer> key = new Pair<Intent.FilterComparison, Integer> (new Intent.FilterComparison(mIntent), mAppWidgetId); @@ -1102,7 +1110,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback // Reuse the convert view where possible if (layout != null) { if (convertViewTypeId == typeId) { - rv.reapply(context, convertViewChild); + rv.reapply(context, convertViewChild, mRemoteViewsOnClickHandler); return layout; } layout.removeAllViews(); @@ -1111,7 +1119,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback } // Otherwise, create a new view to be returned - View newView = rv.apply(context, parent); + View newView = rv.apply(context, parent, mRemoteViewsOnClickHandler); newView.setTagInternal(com.android.internal.R.id.rowTypeId, new Integer(typeId)); layout.addView(newView); @@ -1127,7 +1135,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback final RemoteViewsMetaData metaData = mCache.getMetaData(); synchronized (metaData) { loadingView = metaData.createLoadingView(position, convertView, parent, - mCache, mLayoutInflater); + mCache, mLayoutInflater, mRemoteViewsOnClickHandler); } return loadingView; } finally { @@ -1140,7 +1148,7 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback final RemoteViewsMetaData metaData = mCache.getMetaData(); synchronized (metaData) { loadingView = metaData.createLoadingView(position, convertView, parent, - mCache, mLayoutInflater); + mCache, mLayoutInflater, mRemoteViewsOnClickHandler); } mRequestedViews.add(position, loadingView); diff --git a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java index 26518ebdd2a7..f8332c48783a 100644 --- a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java +++ b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java @@ -31,6 +31,7 @@ import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; import android.view.ViewRootImpl; import com.android.internal.R; @@ -55,23 +56,56 @@ public class PasswordEntryKeyboardHelper implements OnKeyboardActionListener { private long[] mVibratePattern; private boolean mEnableHaptics = false; + private static final int NUMERIC = 0; + private static final int QWERTY = 1; + private static final int QWERTY_SHIFTED = 2; + private static final int SYMBOLS = 3; + private static final int SYMBOLS_SHIFTED = 4; + + int mLayouts[] = new int[] { + R.xml.password_kbd_numeric, + R.xml.password_kbd_qwerty, + R.xml.password_kbd_qwerty_shifted, + R.xml.password_kbd_symbols, + R.xml.password_kbd_symbols_shift + }; + + private boolean mUsingScreenWidth; + public PasswordEntryKeyboardHelper(Context context, KeyboardView keyboardView, View targetView) { - this(context, keyboardView, targetView, true); + this(context, keyboardView, targetView, true, null); } public PasswordEntryKeyboardHelper(Context context, KeyboardView keyboardView, View targetView, boolean useFullScreenWidth) { + this(context, keyboardView, targetView, useFullScreenWidth, null); + } + + public PasswordEntryKeyboardHelper(Context context, KeyboardView keyboardView, View targetView, + boolean useFullScreenWidth, int layouts[]) { mContext = context; mTargetView = targetView; mKeyboardView = keyboardView; - if (useFullScreenWidth - || mKeyboardView.getLayoutParams().width == ViewGroup.LayoutParams.MATCH_PARENT) { - createKeyboards(); + mKeyboardView.setOnKeyboardActionListener(this); + mUsingScreenWidth = useFullScreenWidth; + if (layouts != null) { + if (layouts.length != mLayouts.length) { + throw new RuntimeException("Wrong number of layouts"); + } + for (int i = 0; i < mLayouts.length; i++) { + mLayouts[i] = layouts[i]; + } + } + createKeyboards(); + } + + public void createKeyboards() { + LayoutParams lp = mKeyboardView.getLayoutParams(); + if (mUsingScreenWidth || lp.width == ViewGroup.LayoutParams.MATCH_PARENT) { + createKeyboardsWithDefaultWidth(); } else { - createKeyboardsWithSpecificSize(mKeyboardView.getLayoutParams().width, - mKeyboardView.getLayoutParams().height); + createKeyboardsWithSpecificSize(lp.width, lp.height); } - mKeyboardView.setOnKeyboardActionListener(this); } public void setEnableHaptics(boolean enabled) { @@ -82,46 +116,40 @@ public class PasswordEntryKeyboardHelper implements OnKeyboardActionListener { return mKeyboardMode == KEYBOARD_MODE_ALPHA; } - private void createKeyboardsWithSpecificSize(int viewWidth, int viewHeight) { - mNumericKeyboard = new PasswordEntryKeyboard(mContext, R.xml.password_kbd_numeric, - viewWidth, viewHeight); - mQwertyKeyboard = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_qwerty, R.id.mode_normal, viewWidth, viewHeight); + private void createKeyboardsWithSpecificSize(int width, int height) { + mNumericKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[NUMERIC], width, height); + mQwertyKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[QWERTY], R.id.mode_normal, + width, height); mQwertyKeyboard.enableShiftLock(); - mQwertyKeyboardShifted = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_qwerty_shifted, - R.id.mode_normal, viewWidth, viewHeight); + mQwertyKeyboardShifted = new PasswordEntryKeyboard(mContext, mLayouts[QWERTY_SHIFTED], + R.id.mode_normal, width, height); mQwertyKeyboardShifted.enableShiftLock(); mQwertyKeyboardShifted.setShifted(true); // always shifted. - mSymbolsKeyboard = new PasswordEntryKeyboard(mContext, R.xml.password_kbd_symbols, - viewWidth, viewHeight); + mSymbolsKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[SYMBOLS], width, height); mSymbolsKeyboard.enableShiftLock(); - mSymbolsKeyboardShifted = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_symbols_shift, viewWidth, viewHeight); + mSymbolsKeyboardShifted = new PasswordEntryKeyboard(mContext, mLayouts[SYMBOLS_SHIFTED], + width, height); mSymbolsKeyboardShifted.enableShiftLock(); mSymbolsKeyboardShifted.setShifted(true); // always shifted } - private void createKeyboards() { - mNumericKeyboard = new PasswordEntryKeyboard(mContext, R.xml.password_kbd_numeric); - mQwertyKeyboard = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_qwerty, R.id.mode_normal); + private void createKeyboardsWithDefaultWidth() { + mNumericKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[NUMERIC]); + mQwertyKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[QWERTY], R.id.mode_normal); mQwertyKeyboard.enableShiftLock(); - mQwertyKeyboardShifted = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_qwerty_shifted, + mQwertyKeyboardShifted = new PasswordEntryKeyboard(mContext, mLayouts[QWERTY_SHIFTED], R.id.mode_normal); mQwertyKeyboardShifted.enableShiftLock(); mQwertyKeyboardShifted.setShifted(true); // always shifted. - mSymbolsKeyboard = new PasswordEntryKeyboard(mContext, R.xml.password_kbd_symbols); + mSymbolsKeyboard = new PasswordEntryKeyboard(mContext, mLayouts[SYMBOLS]); mSymbolsKeyboard.enableShiftLock(); - mSymbolsKeyboardShifted = new PasswordEntryKeyboard(mContext, - R.xml.password_kbd_symbols_shift); + mSymbolsKeyboardShifted = new PasswordEntryKeyboard(mContext, mLayouts[SYMBOLS_SHIFTED]); mSymbolsKeyboardShifted.enableShiftLock(); mSymbolsKeyboardShifted.setShifted(true); // always shifted } diff --git a/core/res/res/drawable-hdpi/ic_coins_s.png b/core/res/res/drawable-hdpi/ic_coins_s.png Binary files differnew file mode 100644 index 000000000000..0ada1d008103 --- /dev/null +++ b/core/res/res/drawable-hdpi/ic_coins_s.png diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_alarm.png b/core/res/res/drawable-hdpi/ic_lockscreen_alarm.png Binary files differnew file mode 100644 index 000000000000..d7a8cfcba3c3 --- /dev/null +++ b/core/res/res/drawable-hdpi/ic_lockscreen_alarm.png diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_sim.png b/core/res/res/drawable-hdpi/ic_lockscreen_sim.png Binary files differnew file mode 100644 index 000000000000..7cf9e3699ceb --- /dev/null +++ b/core/res/res/drawable-hdpi/ic_lockscreen_sim.png diff --git a/core/res/res/drawable-hdpi/lockscreen_protection_pattern.png b/core/res/res/drawable-hdpi/lockscreen_protection_pattern.png Binary files differnew file mode 100644 index 000000000000..681d8be1f8c6 --- /dev/null +++ b/core/res/res/drawable-hdpi/lockscreen_protection_pattern.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_delete.png b/core/res/res/drawable-hdpi/sym_keyboard_delete.png Binary files differindex 59d78bec0633..476d90238aa6 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_delete.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_delete.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_enter.png b/core/res/res/drawable-hdpi/sym_keyboard_enter.png Binary files differnew file mode 100644 index 000000000000..d118af289663 --- /dev/null +++ b/core/res/res/drawable-hdpi/sym_keyboard_enter.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num0_no_plus.png b/core/res/res/drawable-hdpi/sym_keyboard_num0_no_plus.png Binary files differindex 0e5f1e2979d6..ad81bb3ed795 100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num0_no_plus.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num0_no_plus.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num1.png b/core/res/res/drawable-hdpi/sym_keyboard_num1.png Binary files differindex 0fc03efa51f5..8d2468c5e456 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num1.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num1.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num2.png b/core/res/res/drawable-hdpi/sym_keyboard_num2.png Binary files differindex 283560b35343..cfa972b31d53 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num2.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num2.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num3.png b/core/res/res/drawable-hdpi/sym_keyboard_num3.png Binary files differindex 9a3b3294b90d..141833ac1526 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num3.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num3.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num4.png b/core/res/res/drawable-hdpi/sym_keyboard_num4.png Binary files differindex f13ff1ae91db..07df14d3c98a 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num4.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num4.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num5.png b/core/res/res/drawable-hdpi/sym_keyboard_num5.png Binary files differindex c251329fa4ed..fbcc9bffbf92 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num5.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num5.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num6.png b/core/res/res/drawable-hdpi/sym_keyboard_num6.png Binary files differindex 4acba4c9103d..9513b331dea8 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num6.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num6.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num7.png b/core/res/res/drawable-hdpi/sym_keyboard_num7.png Binary files differindex 14931c18c53f..5ad25d8e10e5 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num7.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num7.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num8.png b/core/res/res/drawable-hdpi/sym_keyboard_num8.png Binary files differindex d4973fdc900f..97d5c0e1d79f 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num8.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num8.png diff --git a/core/res/res/drawable-hdpi/sym_keyboard_num9.png b/core/res/res/drawable-hdpi/sym_keyboard_num9.png Binary files differindex 49cec66f4d27..a7d6a836c7a7 100755..100644 --- a/core/res/res/drawable-hdpi/sym_keyboard_num9.png +++ b/core/res/res/drawable-hdpi/sym_keyboard_num9.png diff --git a/core/res/res/drawable-mdpi/ic_coins_s.png b/core/res/res/drawable-mdpi/ic_coins_s.png Binary files differnew file mode 100644 index 000000000000..3b8fd8abd527 --- /dev/null +++ b/core/res/res/drawable-mdpi/ic_coins_s.png diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_alarm.png b/core/res/res/drawable-mdpi/ic_lockscreen_alarm.png Binary files differnew file mode 100644 index 000000000000..330ade15fb78 --- /dev/null +++ b/core/res/res/drawable-mdpi/ic_lockscreen_alarm.png diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_sim.png b/core/res/res/drawable-mdpi/ic_lockscreen_sim.png Binary files differnew file mode 100644 index 000000000000..2e259c3e17c1 --- /dev/null +++ b/core/res/res/drawable-mdpi/ic_lockscreen_sim.png diff --git a/core/res/res/drawable-mdpi/lockscreen_protection_pattern.png b/core/res/res/drawable-mdpi/lockscreen_protection_pattern.png Binary files differnew file mode 100644 index 000000000000..30bcea537afd --- /dev/null +++ b/core/res/res/drawable-mdpi/lockscreen_protection_pattern.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_delete.png b/core/res/res/drawable-mdpi/sym_keyboard_delete.png Binary files differindex 43a033ead97d..74b836a12da0 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_delete.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_delete.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_enter.png b/core/res/res/drawable-mdpi/sym_keyboard_enter.png Binary files differnew file mode 100644 index 000000000000..0fa53acfe868 --- /dev/null +++ b/core/res/res/drawable-mdpi/sym_keyboard_enter.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num0_no_plus.png b/core/res/res/drawable-mdpi/sym_keyboard_num0_no_plus.png Binary files differindex d23114daebd7..9fefaeafaab3 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num0_no_plus.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num0_no_plus.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num1.png b/core/res/res/drawable-mdpi/sym_keyboard_num1.png Binary files differindex aaac11b0c7f4..1f37e32ff67a 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num1.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num1.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num2.png b/core/res/res/drawable-mdpi/sym_keyboard_num2.png Binary files differindex 4372eb8f08c4..f899f78083f3 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num2.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num2.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num3.png b/core/res/res/drawable-mdpi/sym_keyboard_num3.png Binary files differindex 6f54c850f5ae..6a0f5ef98ad0 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num3.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num3.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num4.png b/core/res/res/drawable-mdpi/sym_keyboard_num4.png Binary files differindex 3e50bb957cec..3a25bcd33545 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num4.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num4.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num5.png b/core/res/res/drawable-mdpi/sym_keyboard_num5.png Binary files differindex c39ef4404fc1..064d4bf38b72 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num5.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num5.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num6.png b/core/res/res/drawable-mdpi/sym_keyboard_num6.png Binary files differindex ea88ceb94ea9..61ee0a650b47 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num6.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num6.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num7.png b/core/res/res/drawable-mdpi/sym_keyboard_num7.png Binary files differindex ce800ba42980..b931d7bfffee 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num7.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num7.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num8.png b/core/res/res/drawable-mdpi/sym_keyboard_num8.png Binary files differindex 1a8ff94bf73a..f8d2891589e0 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num8.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num8.png diff --git a/core/res/res/drawable-mdpi/sym_keyboard_num9.png b/core/res/res/drawable-mdpi/sym_keyboard_num9.png Binary files differindex 8b344c0a6861..056d06761660 100644 --- a/core/res/res/drawable-mdpi/sym_keyboard_num9.png +++ b/core/res/res/drawable-mdpi/sym_keyboard_num9.png diff --git a/core/res/res/drawable-xhdpi/ic_coins_s.png b/core/res/res/drawable-xhdpi/ic_coins_s.png Binary files differnew file mode 100644 index 000000000000..13d134e6b64e --- /dev/null +++ b/core/res/res/drawable-xhdpi/ic_coins_s.png diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_alarm.png b/core/res/res/drawable-xhdpi/ic_lockscreen_alarm.png Binary files differnew file mode 100644 index 000000000000..e6cceefe6a5b --- /dev/null +++ b/core/res/res/drawable-xhdpi/ic_lockscreen_alarm.png diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_sim.png b/core/res/res/drawable-xhdpi/ic_lockscreen_sim.png Binary files differnew file mode 100644 index 000000000000..f4de96adae30 --- /dev/null +++ b/core/res/res/drawable-xhdpi/ic_lockscreen_sim.png diff --git a/core/res/res/drawable-xhdpi/lockscreen_protection_pattern.png b/core/res/res/drawable-xhdpi/lockscreen_protection_pattern.png Binary files differnew file mode 100644 index 000000000000..c13afe2b795c --- /dev/null +++ b/core/res/res/drawable-xhdpi/lockscreen_protection_pattern.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_delete.png b/core/res/res/drawable-xhdpi/sym_keyboard_delete.png Binary files differindex ca936d1985c6..45c14aa78c1e 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_delete.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_delete.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_enter.png b/core/res/res/drawable-xhdpi/sym_keyboard_enter.png Binary files differnew file mode 100644 index 000000000000..3b034fd89e31 --- /dev/null +++ b/core/res/res/drawable-xhdpi/sym_keyboard_enter.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png b/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png Binary files differindex 95b542d11d07..cdd256d7179d 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num1.png b/core/res/res/drawable-xhdpi/sym_keyboard_num1.png Binary files differindex decd5843838c..d81d4b58f74a 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num1.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num1.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num2.png b/core/res/res/drawable-xhdpi/sym_keyboard_num2.png Binary files differindex 37948fbfcd3b..8ae9fafae3f6 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num2.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num2.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num3.png b/core/res/res/drawable-xhdpi/sym_keyboard_num3.png Binary files differindex 0e36ff2bf6cb..ed6e90ab727c 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num3.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num3.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num4.png b/core/res/res/drawable-xhdpi/sym_keyboard_num4.png Binary files differindex f469a4a8d44b..5cff39f925d6 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num4.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num4.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num5.png b/core/res/res/drawable-xhdpi/sym_keyboard_num5.png Binary files differindex 941f87736034..1c9358efd393 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num5.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num5.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num6.png b/core/res/res/drawable-xhdpi/sym_keyboard_num6.png Binary files differindex eceec55334e7..9a5cb6fac58f 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num6.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num6.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num7.png b/core/res/res/drawable-xhdpi/sym_keyboard_num7.png Binary files differindex 5b5d2055f22c..1bd5c6b6dc4a 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num7.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num7.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num8.png b/core/res/res/drawable-xhdpi/sym_keyboard_num8.png Binary files differindex ea776ebf8d3f..9a3315258a40 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num8.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num8.png diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num9.png b/core/res/res/drawable-xhdpi/sym_keyboard_num9.png Binary files differindex 29047fb01021..caa3113d170c 100644 --- a/core/res/res/drawable-xhdpi/sym_keyboard_num9.png +++ b/core/res/res/drawable-xhdpi/sym_keyboard_num9.png diff --git a/core/res/res/layout-land/keyguard_host_view.xml b/core/res/res/layout-land/keyguard_host_view.xml index 01e1866e4f4d..595762e6c453 100644 --- a/core/res/res/layout-land/keyguard_host_view.xml +++ b/core/res/res/layout-land/keyguard_host_view.xml @@ -24,13 +24,15 @@ android:id="@+id/keyguard_host_view" android:layout_width="match_parent" android:layout_height="match_parent" + android:gravity="center_vertical" android:orientation="horizontal"> <com.android.internal.policy.impl.keyguard.KeyguardWidgetPager android:id="@+id/app_widget_container" android:layout_width="0dip" - android:layout_height="match_parent" - android:layout_weight="1" + android:layout_height="230dip" + android:gravity="center" + android:layout_weight=".45" android:visibility="gone"> <!-- TODO: Remove this once supported as a widget --> @@ -44,7 +46,9 @@ android:id="@+id/view_flipper" android:layout_width="0dip" android:layout_height="match_parent" - android:layout_weight="1" + android:layout_weight="0.55" + android:layout_marginLeft="8dip" + android:layout_marginRight="8dip" android:gravity="center"> <!-- SelectorView is always used, so add it here. The rest are loaded dynamically --> diff --git a/core/res/res/layout/app_permission_item_money.xml b/core/res/res/layout/app_permission_item_money.xml index ab0d5328696e..3fa465393837 100644 --- a/core/res/res/layout/app_permission_item_money.xml +++ b/core/res/res/layout/app_permission_item_money.xml @@ -55,9 +55,11 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" - android:layout_below="@id/perm_name" - android:scaleType="fitCenter" /> + android:layout_alignBottom="@+id/perm_money_label" + android:scaleType="fitCenter" + android:src="@android:drawable/ic_coins_s" /> <TextView + android:id="@+id/perm_money_label" android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="16sp" android:textColor="@color/perms_costs_money" @@ -65,6 +67,7 @@ android:layout_height="wrap_content" android:layout_toEndOf="@id/perm_money_icon" android:layout_below="@id/perm_name" + android:layout_marginStart="8dp" android:text="@string/perm_costs_money" /> </RelativeLayout> diff --git a/core/res/res/layout/keyguard_emergency_carrier_area.xml b/core/res/res/layout/keyguard_emergency_carrier_area.xml new file mode 100644 index 000000000000..62cbac40a33e --- /dev/null +++ b/core/res/res/layout/keyguard_emergency_carrier_area.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2012, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License") +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- This contains emergency call button and carrier as shared by pin/pattern/password screens --> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:gravity="center_horizontal" + android:layout_alignParentBottom="true"> + + <com.android.internal.policy.impl.keyguard.CarrierText + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:ellipsize="marquee" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textSize="@dimen/kg_status_line_font_size" + android:layout_marginLeft="@dimen/kg_emergency_button_shift" + android:textColor="?android:attr/textColorSecondary"/> + + <com.android.internal.policy.impl.keyguard.EmergencyButton + android:id="@+id/emergency_call_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:drawableLeft="@*android:drawable/lockscreen_emergency_button" + android:text="@string/kg_emergency_call_label" + style="?android:attr/buttonBarButtonStyle" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textSize="@dimen/kg_status_line_font_size" + android:textColor="?android:attr/textColorSecondary" + android:layout_marginLeft="@dimen/kg_emergency_button_shift" + android:drawablePadding="8dip" /> + +</LinearLayout> diff --git a/core/res/res/layout/keyguard_navigation.xml b/core/res/res/layout/keyguard_navigation.xml index a03310152119..d52bcb449b4d 100644 --- a/core/res/res/layout/keyguard_navigation.xml +++ b/core/res/res/layout/keyguard_navigation.xml @@ -17,39 +17,19 @@ */ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="left"> + android:id="@+id/keyguard_click_area" + android:gravity="center"> - <LinearLayout - android:id="@+id/keyguard_click_area" - android:layout_width="match_parent" + <!-- message area for security screen --> + <TextView + android:id="@+id/keyguard_message_area" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:orientation="horizontal" - style="?android:attr/buttonBarButtonStyle" - android:padding="10dip" - android:clickable="true"> - - <ImageView - android:src="?android:attr/homeAsUpIndicator" - android:layout_gravity="center_vertical|start" - android:layout_width="wrap_content" - android:layout_height="wrap_content"/> - - <!-- message area for security screen --> - <TextView - android:id="@+id/keyguard_message_area" - android:layout_width="0dip" - android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_gravity="end" - android:singleLine="true" - android:ellipsize="marquee" - android:layout_marginEnd="6dip" - android:layout_marginStart="6dip" - android:textAppearance="?android:attr/textAppearanceMedium"/> - - </LinearLayout> + android:layout_gravity="start" + android:ellipsize="marquee" + android:layout_marginEnd="4dip" + android:layout_marginStart="4dip" + android:textSize="22dip" + android:textAppearance="?android:attr/textAppearanceMedium"/> </LinearLayout> diff --git a/core/res/res/layout/keyguard_password_view.xml b/core/res/res/layout/keyguard_password_view.xml index 4ea471eae298..e8ca98bb3a33 100644 --- a/core/res/res/layout/keyguard_password_view.xml +++ b/core/res/res/layout/keyguard_password_view.xml @@ -24,7 +24,16 @@ android:layout_height="match_parent" android:gravity="center_horizontal"> - <include layout="@layout/keyguard_navigation"/> + <LinearLayout + android:layout_height="0dip" + android:layout_width="match_parent" + android:layout_weight="1" + android:orientation="vertical" + android:gravity="center"> + + <include layout="@layout/keyguard_navigation"/> + + </LinearLayout> <!-- Password entry field --> <!-- Note: the entire container is styled to look like the edit field, @@ -33,9 +42,9 @@ android:layout_gravity="center_vertical|fill_horizontal" android:layout_width="match_parent" android:orientation="horizontal" - android:background="@*android:drawable/lockscreen_password_field_dark" - android:layout_marginStart="16dip" - android:layout_marginEnd="16dip"> + android:background="#70000000" + android:layout_marginStart="4dip" + android:layout_marginEnd="4dip"> <EditText android:id="@+id/passwordEntry" android:layout_width="0dip" @@ -79,11 +88,6 @@ </LinearLayout> - <Space - android:layout_width="match_parent" - android:layout_height="0dip" - android:layout_weight="1"/> - <!-- Numeric keyboard --> <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard" android:layout_width="match_parent" @@ -97,4 +101,9 @@ android:clickable="true" /> + <Space + android:layout_width="match_parent" + android:layout_height="@dimen/kg_secure_padding_height" + android:background="@drawable/lockscreen_protection_pattern" /> + </com.android.internal.policy.impl.keyguard.KeyguardPasswordView> diff --git a/core/res/res/layout/keyguard_pattern_view.xml b/core/res/res/layout/keyguard_pattern_view.xml index 356bce3f41ba..311f77f11ea2 100644 --- a/core/res/res/layout/keyguard_pattern_view.xml +++ b/core/res/res/layout/keyguard_pattern_view.xml @@ -28,18 +28,22 @@ android:layout_height="match_parent" android:gravity="center_horizontal"> - <include layout="@layout/keyguard_navigation"/> + <LinearLayout + android:layout_height="0dip" + android:layout_width="match_parent" + android:layout_weight="1" + android:orientation="vertical" + android:gravity="center"> + + <include layout="@layout/keyguard_navigation"/> - <Space android:layout_gravity="fill" /> + <Button android:id="@+id/forgot_password_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="@dimen/kg_status_line_font_size" + android:visibility="gone"/> - <Button android:id="@+id/forgot_password_button" - android:layout_gravity="right" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="@*android:dimen/keyguard_lockscreen_status_line_font_size" - android:drawableLeft="@*android:drawable/lockscreen_forgot_password_button" - android:drawablePadding="0dip" - android:visibility="gone"/> + </LinearLayout> <!-- We need MATCH_PARENT here only to force the size of the parent to be passed to the pattern view for it to compute its size. This is an unusual case, caused by @@ -52,7 +56,11 @@ android:layout_marginEnd="8dip" android:layout_marginBottom="4dip" android:layout_marginStart="8dip" - android:layout_gravity="center_horizontal" - /> + android:layout_gravity="center_horizontal" /> + + <Space + android:layout_width="match_parent" + android:layout_height="@dimen/kg_secure_padding_height" + android:background="@drawable/lockscreen_protection_pattern" /> </com.android.internal.policy.impl.keyguard.KeyguardPatternView> diff --git a/core/res/res/layout/keyguard_selector_view.xml b/core/res/res/layout/keyguard_selector_view.xml index bf2fc227b36c..8b2865e938b7 100644 --- a/core/res/res/layout/keyguard_selector_view.xml +++ b/core/res/res/layout/keyguard_selector_view.xml @@ -31,6 +31,9 @@ android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="0.45" + android:layout_marginTop="35dip" + android:layout_marginLeft="33dip" + android:layout_marginRight="33dip" android:visibility="gone"> <!-- TODO: Remove this when supported as a widget --> <include layout="@layout/keyguard_status_view"/> @@ -50,6 +53,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="true" + android:gravity="@integer/kg_selector_gravity" prvandroid:targetDrawables="@*android:array/lockscreen_targets_with_camera" prvandroid:targetDescriptions="@*android:array/lockscreen_target_descriptions_with_camera" @@ -64,34 +68,13 @@ prvandroid:glowRadius="@*android:dimen/glowpadview_glow_radius" prvandroid:pointDrawable="@*android:drawable/ic_lockscreen_glowdot"/> - <LinearLayout + <include layout="@layout/keyguard_emergency_carrier_area" android:id="@+id/keyguard_selector_fade_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal" - android:layout_alignParentBottom="true"> - - <com.android.internal.policy.impl.keyguard.CarrierText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:singleLine="true" - android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textSize="@*android:dimen/keyguard_lockscreen_status_line_font_size" - android:textColor="?android:attr/textColorSecondary" - /> - - <com.android.internal.policy.impl.keyguard.EmergencyButton - android:id="@+id/emergency_call_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:drawableLeft="@*android:drawable/lockscreen_emergency_button" - android:text="@string/kg_emergency_call_label" - style="?android:attr/buttonBarButtonStyle" - android:drawablePadding="8dip" /> - - </LinearLayout> + android:layout_alignParentBottom="true" /> </RelativeLayout> diff --git a/core/res/res/layout/keyguard_sim_pin_view.xml b/core/res/res/layout/keyguard_sim_pin_view.xml index 122484a9c542..57c7ac61d6ca 100644 --- a/core/res/res/layout/keyguard_sim_pin_view.xml +++ b/core/res/res/layout/keyguard_sim_pin_view.xml @@ -25,12 +25,21 @@ android:layout_height="match_parent" android:gravity="center_horizontal"> - <include layout="@layout/keyguard_navigation"/> - - <Space - android:layout_width="match_parent" + <LinearLayout android:layout_height="0dip" - android:layout_weight="1"/> + android:layout_width="match_parent" + android:layout_weight="1" + android:orientation="vertical" + android:gravity="center"> + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:src="@drawable/ic_lockscreen_sim"/> + + <include layout="@layout/keyguard_navigation"/> + + </LinearLayout> <!-- Password entry field --> <!-- Note: the entire container is styled to look like the edit field, @@ -39,8 +48,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:layout_marginEnd="6dip" - android:layout_marginStart="6dip" + android:layout_marginEnd="4dip" + android:layout_marginStart="4dip" android:gravity="center_vertical" android:background="@android:drawable/edit_text"> @@ -74,9 +83,14 @@ android:layout_marginEnd="4dip" android:paddingTop="4dip" android:paddingBottom="4dip" - android:background="#80ffffff" + android:background="#40000000" android:keyBackground="@*android:drawable/btn_keyboard_key_ics" android:clickable="true" /> + <Space + android:layout_width="match_parent" + android:layout_height="@dimen/kg_secure_padding_height" + android:background="@drawable/lockscreen_protection_pattern" /> + </com.android.internal.policy.impl.keyguard.KeyguardSimPinView> diff --git a/core/res/res/layout/keyguard_status_view.xml b/core/res/res/layout/keyguard_status_view.xml index 170dd99f733c..d8adc93706be 100644 --- a/core/res/res/layout/keyguard_status_view.xml +++ b/core/res/res/layout/keyguard_status_view.xml @@ -35,6 +35,7 @@ android:id="@+id/clock_view" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="-15.5dip" android:layout_marginEnd="@dimen/kg_status_line_font_right_margin" android:layout_gravity="end"> @@ -46,6 +47,7 @@ android:textSize="@dimen/kg_status_clock_font_size" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#ffffffff" + android:drawablePadding="2dip" /> </com.android.internal.policy.impl.keyguard.ClockView> @@ -64,19 +66,21 @@ /> <TextView - android:id="@+id/owner_info" + android:id="@+id/alarm_status" android:layout_gravity="end" - android:layout_marginTop="16dp" + android:layout_marginTop="28dp" android:layout_marginEnd="@dimen/kg_status_line_font_right_margin" android:singleLine="true" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="@dimen/kg_status_line_font_size" + android:drawablePadding="4dip" /> <TextView - android:id="@+id/alarm_status" + android:id="@+id/owner_info" android:layout_gravity="end" + android:layout_marginTop="4dp" android:layout_marginEnd="@dimen/kg_status_line_font_right_margin" android:singleLine="true" android:ellipsize="marquee" @@ -87,6 +91,7 @@ <TextView android:id="@+id/status1" android:layout_gravity="end" + android:layout_marginTop="4dp" android:layout_marginEnd="@dimen/kg_status_line_font_right_margin" android:singleLine="true" android:ellipsize="marquee" diff --git a/core/res/res/values-land/arrays.xml b/core/res/res/values-land/arrays.xml index 1cd9e74f369d..240b9e47696a 100644 --- a/core/res/res/values-land/arrays.xml +++ b/core/res/res/values-land/arrays.xml @@ -22,16 +22,16 @@ <!-- Resources for GlowPadView in LockScreen --> <array name="lockscreen_targets_when_silent"> <item>@null</item>" - <item>@drawable/ic_lockscreen_unlock</item> <item>@drawable/ic_action_assist_generic</item> <item>@drawable/ic_lockscreen_soundon</item> + <item>@drawable/ic_lockscreen_unlock</item> </array> <array name="lockscreen_target_descriptions_when_silent"> <item>@null</item> - <item>@string/description_target_unlock</item> <item>@string/description_target_search</item> <item>@string/description_target_soundon</item> + <item>@string/description_target_unlock</item> </array> <array name="lockscreen_direction_descriptions"> @@ -43,30 +43,30 @@ <array name="lockscreen_targets_when_soundon"> <item>@null</item> - <item>@drawable/ic_lockscreen_unlock</item> <item>@drawable/ic_action_assist_generic</item> <item>@drawable/ic_lockscreen_silent</item> + <item>@drawable/ic_lockscreen_unlock</item> </array> <array name="lockscreen_target_descriptions_when_soundon"> <item>@null</item> - <item>@string/description_target_unlock</item> <item>@string/description_target_search</item> <item>@string/description_target_silent</item> + <item>@string/description_target_unlock</item> </array> <array name="lockscreen_targets_with_camera"> <item>@null</item> - <item>@drawable/ic_lockscreen_unlock</item> <item>@drawable/ic_action_assist_generic</item> <item>@drawable/ic_lockscreen_camera</item> + <item>@drawable/ic_lockscreen_unlock</item> </array> <array name="lockscreen_target_descriptions_with_camera"> <item>@null</item> - <item>@string/description_target_unlock</item> <item>@string/description_target_search</item> <item>@string/description_target_camera</item> + <item>@string/description_target_unlock</item> </array> </resources> diff --git a/core/res/res/values-land/dimens.xml b/core/res/res/values-land/dimens.xml index 6f96852450f2..07f62edf5521 100644 --- a/core/res/res/values-land/dimens.xml +++ b/core/res/res/values-land/dimens.xml @@ -43,4 +43,11 @@ <!-- Size of clock font in LockScreen on Unsecure unlock screen. --> <dimen name="keyguard_lockscreen_clock_font_size">70sp</dimen> + <!-- Shift emergency button from the left edge by this amount. Used by landscape layout on + phones --> + <dimen name="kg_emergency_button_shift">30dp</dimen> + + <!-- Space reserved at the bottom of secure views (pin/pattern/password/SIM pin/SIM puk) --> + <dimen name="kg_secure_padding_height">0dp</dimen> + </resources> diff --git a/core/res/res/values-land/integers.xml b/core/res/res/values-land/integers.xml new file mode 100644 index 000000000000..1b8f5750e88e --- /dev/null +++ b/core/res/res/values-land/integers.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2012, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources> + <integer name="kg_security_flip_duration">150</integer> + <integer name="kg_security_fade_duration">150</integer> + + <!-- Gravity to make KeyguardSelectorView work in multiple orientations + 0x13 == "left|center_vertical" --> + <integer name="kg_selector_gravity">0x13</integer> +</resources>
\ No newline at end of file diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml index eba354b3e07a..07d0d7416239 100644 --- a/core/res/res/values/colors.xml +++ b/core/res/res/values/colors.xml @@ -90,7 +90,7 @@ <color name="perms_dangerous_grp_color">#33b5e5</color> <color name="perms_dangerous_perm_color">#33b5e5</color> <color name="shadow">#cc222222</color> - <color name="perms_costs_money">#ffffb060</color> + <color name="perms_costs_money">#ffffbb33</color> <!-- For search-related UIs --> <color name="search_url_text_normal">#7fa87f</color> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 114b9c7d9145..e860dfe912a2 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -261,12 +261,28 @@ <dimen name="kg_status_clock_font_size">94dp</dimen> <!-- Size of the date font in keyguard's status view --> - <dimen name="kg_status_date_font_size">24dp</dimen> + <dimen name="kg_status_date_font_size">17dp</dimen> <!-- Size of the generic status lines keyguard's status view --> - <dimen name="kg_status_line_font_size">12sp</dimen> + <dimen name="kg_status_line_font_size">14sp</dimen> <!-- Size of margin on the right of keyguard's status view --> - <dimen name="kg_status_line_font_right_margin">32dp</dimen> + <dimen name="kg_status_line_font_right_margin">0dp</dimen> + + <!-- Horizontal gap between keys in PIN and SIM PIN numeric keyboards in keyguard --> + <dimen name="kg_key_horizontal_gap">0dp</dimen> + + <!-- Horizontal gap between keys in PIN and SIM PIN numeric keyboards in keyguard --> + <dimen name="kg_key_vertical_gap">0dp</dimen> + + <!-- Horizontal gap between keys in PIN and SIM PIN numeric keyboards in keyguard --> + <dimen name="kg_pin_key_height">60dp</dimen> + + <!-- Shift emergency button from the left edge by this amount. Used by landscape layout on + phones --> + <dimen name="kg_emergency_button_shift">0dp</dimen> + + <!-- Space reserved at the bottom of secure views (pin/pattern/password/SIM pin/SIM puk) --> + <dimen name="kg_secure_padding_height">46dp</dimen> </resources> diff --git a/core/res/res/values/donottranslate-cldr.xml b/core/res/res/values/donottranslate-cldr.xml index 92ea1bf71134..0587c165027e 100644 --- a/core/res/res/values/donottranslate-cldr.xml +++ b/core/res/res/values/donottranslate-cldr.xml @@ -57,5 +57,4 @@ <string name="full_wday_month_day_no_year">EEEE, MMMM d</string> <string name="abbrev_wday_month_day_no_year">EEE, MMMM d</string> <string name="abbrev_wday_month_day_year">EEE, MMM d, yyyy</string> - <string name="keyguard_wday_day_month">EEE <b>d</b> MMM</string> </resources> diff --git a/core/res/res/values/integers.xml b/core/res/res/values/integers.xml index 6d49a91e4d26..4b79d1f768ce 100644 --- a/core/res/res/values/integers.xml +++ b/core/res/res/values/integers.xml @@ -19,4 +19,8 @@ <resources> <integer name="kg_security_flip_duration">75</integer> <integer name="kg_security_fade_duration">75</integer> + + <!-- Gravity to make KeyguardSelectorView work in multiple orientations + 0x31 == "top|center_horizontal" --> + <integer name="kg_selector_gravity">0x31</integer> </resources> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 6f37d8e88849..c90f4f27028d 100755 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -3902,6 +3902,5 @@ "Raise volume above safe level?\nListening at high volume for long periods may damage your hearing." </string> - <string name="kg_temp_back_string"> < </string> <!-- TODO: remove this --> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 3936ed43c787..d85e58120ea8 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -957,6 +957,7 @@ <java-symbol type="drawable" name="ic_lockscreen_silent" /> <java-symbol type="drawable" name="ic_lockscreen_unlock" /> <java-symbol type="drawable" name="ic_action_assist_generic" /> + <java-symbol type="drawable" name="ic_lockscreen_alarm" /> <java-symbol type="drawable" name="notification_bg" /> <java-symbol type="drawable" name="notification_bg_low" /> <java-symbol type="drawable" name="notification_template_icon_bg" /> @@ -1079,6 +1080,7 @@ <java-symbol type="xml" name="password_kbd_qwerty_shifted" /> <java-symbol type="xml" name="password_kbd_symbols" /> <java-symbol type="xml" name="password_kbd_symbols_shift" /> + <java-symbol type="xml" name="kg_password_kbd_numeric" /> <java-symbol type="xml" name="power_profile" /> <java-symbol type="xml" name="time_zones_by_country" /> <java-symbol type="xml" name="sms_short_codes" /> @@ -1362,7 +1364,6 @@ <java-symbol type="string" name="lockscreen_too_many_failed_pin_attempts_dialog_message" /> <java-symbol type="string" name="lockscreen_unlock_label" /> <java-symbol type="string" name="status_bar_device_locked" /> - <java-symbol type="string" name="keyguard_wday_day_month" /> <java-symbol type="style" name="Animation.LockScreen" /> <java-symbol type="style" name="Theme.Dialog.RecentApplications" /> <java-symbol type="style" name="Theme.ExpandedMenu" /> diff --git a/core/res/res/xml/kg_password_kbd_numeric.xml b/core/res/res/xml/kg_password_kbd_numeric.xml new file mode 100755 index 000000000000..93b32af2de92 --- /dev/null +++ b/core/res/res/xml/kg_password_kbd_numeric.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" + android:keyWidth="33.33%p" + android:horizontalGap="@dimen/kg_key_horizontal_gap" + android:verticalGap="@dimen/kg_key_vertical_gap" + android:keyHeight="@dimen/kg_pin_key_height"> + + <Row android:rowEdgeFlags="top"> + <Key android:codes="49" android:keyIcon="@*android:drawable/sym_keyboard_num1" + android:keyEdgeFlags="left"/> + <Key android:codes="50" android:keyIcon="@*android:drawable/sym_keyboard_num2"/> + <Key android:codes="51" android:keyIcon="@*android:drawable/sym_keyboard_num3" + android:keyEdgeFlags="right"/> + </Row> + + <Row> + <Key android:codes="52" android:keyIcon="@*android:drawable/sym_keyboard_num4" + android:keyEdgeFlags="left"/> + <Key android:codes="53" android:keyIcon="@*android:drawable/sym_keyboard_num5"/> + <Key android:codes="54" android:keyIcon="@*android:drawable/sym_keyboard_num6" + android:keyEdgeFlags="right"/> + </Row> + + <Row> + <Key android:codes="55" android:keyIcon="@*android:drawable/sym_keyboard_num7" + android:keyEdgeFlags="left"/> + <Key android:codes="56" android:keyIcon="@*android:drawable/sym_keyboard_num8"/> + <Key android:codes="57" android:keyIcon="@*android:drawable/sym_keyboard_num9" + android:keyEdgeFlags="right"/> + </Row> + + <Row android:rowEdgeFlags="bottom"> + <Key android:codes="48" android:keyIcon="@*android:drawable/sym_keyboard_num0_no_plus" + android:keyWidth="33.33%p" + android:keyEdgeFlags="left"/> + <Key android:codes="10" android:keyIcon="@*android:drawable/sym_keyboard_enter" + android:keyWidth="66.67%p" + android:keyEdgeFlags="right"/> + </Row> + +</Keyboard> diff --git a/core/res/res/xml/password_kbd_numeric.xml b/core/res/res/xml/password_kbd_numeric.xml index 560f8678bbaa..7593ad85ef31 100755 --- a/core/res/res/xml/password_kbd_numeric.xml +++ b/core/res/res/xml/password_kbd_numeric.xml @@ -51,7 +51,7 @@ <Row android:rowEdgeFlags="bottom"> <Key android:codes="48" android:keyIcon="@drawable/sym_keyboard_num0_no_plus" android:keyWidth="66.66%p" android:keyEdgeFlags="left"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_ok" + <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_enter" android:keyEdgeFlags="right"/> </Row> diff --git a/data/fonts/AndroidClock.ttf b/data/fonts/AndroidClock.ttf Binary files differindex 3fa6d8867770..4781ccd84dad 100644 --- a/data/fonts/AndroidClock.ttf +++ b/data/fonts/AndroidClock.ttf diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp index 442c4fbb60f4..e44329404190 100644 --- a/libs/hwui/Caches.cpp +++ b/libs/hwui/Caches.cpp @@ -68,6 +68,7 @@ void Caches::init() { mCurrentBuffer = meshBuffer; mCurrentIndicesBuffer = 0; mCurrentPositionPointer = this; + mCurrentPositionStride = 0; mCurrentTexCoordsPointer = this; mTexCoordsArrayEnabled = false; @@ -342,15 +343,18 @@ bool Caches::unbindIndicesBuffer() { // Meshes and textures /////////////////////////////////////////////////////////////////////////////// -void Caches::bindPositionVertexPointer(bool force, GLuint slot, GLvoid* vertices, GLsizei stride) { - if (force || vertices != mCurrentPositionPointer) { +void Caches::bindPositionVertexPointer(bool force, GLvoid* vertices, GLsizei stride) { + if (force || vertices != mCurrentPositionPointer || stride != mCurrentPositionStride) { + GLuint slot = currentProgram->position; glVertexAttribPointer(slot, 2, GL_FLOAT, GL_FALSE, stride, vertices); mCurrentPositionPointer = vertices; + mCurrentPositionStride = stride; } } -void Caches::bindTexCoordsVertexPointer(bool force, GLuint slot, GLvoid* vertices) { +void Caches::bindTexCoordsVertexPointer(bool force, GLvoid* vertices) { if (force || vertices != mCurrentTexCoordsPointer) { + GLuint slot = currentProgram->texCoords; glVertexAttribPointer(slot, 2, GL_FLOAT, GL_FALSE, gMeshStride, vertices); mCurrentTexCoordsPointer = vertices; } diff --git a/libs/hwui/Caches.h b/libs/hwui/Caches.h index ac012cf9247a..ad1ff6fa56be 100644 --- a/libs/hwui/Caches.h +++ b/libs/hwui/Caches.h @@ -173,14 +173,13 @@ public: * Binds an attrib to the specified float vertex pointer. * Assumes a stride of gMeshStride and a size of 2. */ - void bindPositionVertexPointer(bool force, GLuint slot, GLvoid* vertices, - GLsizei stride = gMeshStride); + void bindPositionVertexPointer(bool force, GLvoid* vertices, GLsizei stride = gMeshStride); /** * Binds an attrib to the specified float vertex pointer. * Assumes a stride of gMeshStride and a size of 2. */ - void bindTexCoordsVertexPointer(bool force, GLuint slot, GLvoid* vertices); + void bindTexCoordsVertexPointer(bool force, GLvoid* vertices); /** * Resets the vertex pointers. @@ -299,6 +298,7 @@ private: GLuint mCurrentBuffer; GLuint mCurrentIndicesBuffer; void* mCurrentPositionPointer; + GLsizei mCurrentPositionStride; void* mCurrentTexCoordsPointer; bool mTexCoordsArrayEnabled; diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp index cab68f013edf..4e97c8862d7f 100644 --- a/libs/hwui/FontRenderer.cpp +++ b/libs/hwui/FontRenderer.cpp @@ -374,9 +374,8 @@ void FontRenderer::issueDrawCommand() { int offset = 2; bool force = caches.unbindMeshBuffer(); - caches.bindPositionVertexPointer(force, caches.currentProgram->position, buffer); - caches.bindTexCoordsVertexPointer(force, caches.currentProgram->texCoords, - buffer + offset); + caches.bindPositionVertexPointer(force, buffer); + caches.bindTexCoordsVertexPointer(force, buffer + offset); } glDrawElements(GL_TRIANGLES, mCurrentQuadIndex * 6, GL_UNSIGNED_SHORT, NULL); diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index e1a5132e2021..684d5e1c4138 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1255,6 +1255,15 @@ bool OpenGLRenderer::quickRejectNoScissor(float left, float top, float right, fl return !clip.intersects(transformed); } +bool OpenGLRenderer::quickRejectPreStroke(float left, float top, float right, float bottom, SkPaint* paint) { + if (paint->getStyle() != SkPaint::kFill_Style) { + float outset = paint->getStrokeWidth() * 0.5f; + return quickReject(left - outset, top - outset, right + outset, bottom + outset); + } else { + return quickReject(left, top, right, bottom); + } +} + bool OpenGLRenderer::quickReject(float left, float top, float right, float bottom) { if (mSnapshot->isIgnored()) { return true; @@ -1497,7 +1506,7 @@ void OpenGLRenderer::setupDrawTextGammaUniforms() { void OpenGLRenderer::setupDrawSimpleMesh() { bool force = mCaches.bindMeshBuffer(); - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, 0); + mCaches.bindPositionVertexPointer(force, 0); mCaches.unbindIndicesBuffer(); } @@ -1530,9 +1539,9 @@ void OpenGLRenderer::setupDrawMesh(GLvoid* vertices, GLvoid* texCoords, GLuint v force = mCaches.unbindMeshBuffer(); } - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, vertices); + mCaches.bindPositionVertexPointer(force, vertices); if (mCaches.currentProgram->texCoords >= 0) { - mCaches.bindTexCoordsVertexPointer(force, mCaches.currentProgram->texCoords, texCoords); + mCaches.bindTexCoordsVertexPointer(force, texCoords); } mCaches.unbindIndicesBuffer(); @@ -1540,16 +1549,15 @@ void OpenGLRenderer::setupDrawMesh(GLvoid* vertices, GLvoid* texCoords, GLuint v void OpenGLRenderer::setupDrawMeshIndices(GLvoid* vertices, GLvoid* texCoords) { bool force = mCaches.unbindMeshBuffer(); - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, vertices); + mCaches.bindPositionVertexPointer(force, vertices); if (mCaches.currentProgram->texCoords >= 0) { - mCaches.bindTexCoordsVertexPointer(force, mCaches.currentProgram->texCoords, texCoords); + mCaches.bindTexCoordsVertexPointer(force, texCoords); } } void OpenGLRenderer::setupDrawVertices(GLvoid* vertices) { bool force = mCaches.unbindMeshBuffer(); - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, - vertices, gVertexStride); + mCaches.bindPositionVertexPointer(force, vertices, gVertexStride); mCaches.unbindIndicesBuffer(); } @@ -1567,8 +1575,7 @@ void OpenGLRenderer::setupDrawVertices(GLvoid* vertices) { void OpenGLRenderer::setupDrawAALine(GLvoid* vertices, GLvoid* widthCoords, GLvoid* lengthCoords, float boundaryWidthProportion, int& widthSlot, int& lengthSlot) { bool force = mCaches.unbindMeshBuffer(); - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, - vertices, gAAVertexStride); + mCaches.bindPositionVertexPointer(force, vertices, gAAVertexStride); mCaches.resetTexCoordsVertexPointer(); mCaches.unbindIndicesBuffer(); @@ -1926,15 +1933,23 @@ status_t OpenGLRenderer::drawPatch(SkBitmap* bitmap, const int32_t* xDivs, const } /** - * This function uses a similar approach to that of AA lines in the drawLines() function. - * We expand the rectangle by a half pixel in screen space on all sides. However, instead of using - * a fragment shader to compute the translucency of the color from its position, we simply use a - * varying parameter to define how far a given pixel is into the region. + * Renders a convex path via tessellation. For AA paths, this function uses a similar approach to + * that of AA lines in the drawLines() function. We expand the convex path by a half pixel in + * screen space in all directions. However, instead of using a fragment shader to compute the + * translucency of the color from its position, we simply use a varying parameter to define how far + * a given pixel is from the edge. For non-AA paths, the expansion and alpha varying are not used. + * + * Doesn't yet support joins, caps, or path effects. */ -void OpenGLRenderer::drawConvexPath(const SkPath& path, int color, SkXfermode::Mode mode, bool isAA) { +void OpenGLRenderer::drawConvexPath(const SkPath& path, SkPaint* paint) { + int color = paint->getColor(); + SkPaint::Style style = paint->getStyle(); + SkXfermode::Mode mode = getXfermode(paint->getXfermode()); + bool isAA = paint->isAntiAlias(); + VertexBuffer vertexBuffer; // TODO: try clipping large paths to viewport - PathRenderer::convexPathFillVertices(path, mSnapshot->transform, vertexBuffer, isAA); + PathRenderer::convexPathVertices(path, paint, mSnapshot->transform, vertexBuffer); setupDraw(); setupDrawNoTexture(); @@ -1945,15 +1960,14 @@ void OpenGLRenderer::drawConvexPath(const SkPath& path, int color, SkXfermode::M setupDrawShader(); setupDrawBlending(isAA, mode); setupDrawProgram(); - setupDrawModelViewIdentity(true); + setupDrawModelViewIdentity(); setupDrawColorUniforms(); setupDrawColorFilterUniforms(); setupDrawShaderIdentityUniforms(); void* vertices = vertexBuffer.getBuffer(); bool force = mCaches.unbindMeshBuffer(); - mCaches.bindPositionVertexPointer(force, mCaches.currentProgram->position, - vertices, isAA ? gAlphaVertexStride : gVertexStride); + mCaches.bindPositionVertexPointer(true, vertices, isAA ? gAlphaVertexStride : gVertexStride); mCaches.resetTexCoordsVertexPointer(); mCaches.unbindIndicesBuffer(); @@ -1967,7 +1981,7 @@ void OpenGLRenderer::drawConvexPath(const SkPath& path, int color, SkXfermode::M glVertexAttribPointer(alphaSlot, 1, GL_FLOAT, GL_FALSE, gAlphaVertexStride, alphaCoords); } - SkRect bounds = path.getBounds(); + SkRect bounds = PathRenderer::computePathBounds(path, paint); dirtyLayer(bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom, *mSnapshot->transform); glDrawArrays(GL_TRIANGLE_STRIP, 0, vertexBuffer.getSize()); @@ -2057,7 +2071,7 @@ status_t OpenGLRenderer::drawLines(float* points, int count, SkPaint* paint) { setupDrawShader(); setupDrawBlending(isAA, mode); setupDrawProgram(); - setupDrawModelViewIdentity(true); + setupDrawModelViewIdentity(); setupDrawColorUniforms(); setupDrawColorFilterUniforms(); setupDrawShaderIdentityUniforms(); @@ -2337,11 +2351,11 @@ status_t OpenGLRenderer::drawShape(float left, float top, const PathTexture* tex status_t OpenGLRenderer::drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, SkPaint* p) { - if (mSnapshot->isIgnored() || quickReject(left, top, right, bottom)) { + if (mSnapshot->isIgnored() || quickRejectPreStroke(left, top, right, bottom, p)) { return DrawGlInfo::kStatusDone; } - if (p->getStyle() != SkPaint::kFill_Style) { + if (p->getPathEffect() != 0) { mCaches.activeTexture(0); const PathTexture* texture = mCaches.roundRectShapeCache.getRoundRect( right - left, bottom - top, rx, ry, p); @@ -2350,37 +2364,47 @@ status_t OpenGLRenderer::drawRoundRect(float left, float top, float right, float SkPath path; SkRect rect = SkRect::MakeLTRB(left, top, right, bottom); + if (p->getStyle() == SkPaint::kStrokeAndFill_Style) { + float outset = p->getStrokeWidth() / 2; + rect.outset(outset, outset); + rx += outset; + ry += outset; + } path.addRoundRect(rect, rx, ry); - drawConvexPath(path, p->getColor(), getXfermode(p->getXfermode()), p->isAntiAlias()); + drawConvexPath(path, p); return DrawGlInfo::kStatusDrew; } status_t OpenGLRenderer::drawCircle(float x, float y, float radius, SkPaint* p) { - if (mSnapshot->isIgnored() || quickReject(x - radius, y - radius, x + radius, y + radius)) { + if (mSnapshot->isIgnored() || quickRejectPreStroke(x - radius, y - radius, + x + radius, y + radius, p)) { return DrawGlInfo::kStatusDone; } - - if (p->getStyle() != SkPaint::kFill_Style) { + if (p->getPathEffect() != 0) { mCaches.activeTexture(0); const PathTexture* texture = mCaches.circleShapeCache.getCircle(radius, p); return drawShape(x - radius, y - radius, texture, p); } SkPath path; - path.addCircle(x, y, radius); - drawConvexPath(path, p->getColor(), getXfermode(p->getXfermode()), p->isAntiAlias()); + if (p->getStyle() == SkPaint::kStrokeAndFill_Style) { + path.addCircle(x, y, radius + p->getStrokeWidth() / 2); + } else { + path.addCircle(x, y, radius); + } + drawConvexPath(path, p); return DrawGlInfo::kStatusDrew; } status_t OpenGLRenderer::drawOval(float left, float top, float right, float bottom, SkPaint* p) { - if (mSnapshot->isIgnored() || quickReject(left, top, right, bottom)) { + if (mSnapshot->isIgnored() || quickRejectPreStroke(left, top, right, bottom, p)) { return DrawGlInfo::kStatusDone; } - if (p->getStyle() != SkPaint::kFill_Style) { + if (p->getPathEffect() != 0) { mCaches.activeTexture(0); const PathTexture* texture = mCaches.ovalShapeCache.getOval(right - left, bottom - top, p); return drawShape(left, top, texture, p); @@ -2388,8 +2412,11 @@ status_t OpenGLRenderer::drawOval(float left, float top, float right, float bott SkPath path; SkRect rect = SkRect::MakeLTRB(left, top, right, bottom); + if (p->getStyle() == SkPaint::kStrokeAndFill_Style) { + rect.outset(p->getStrokeWidth() / 2, p->getStrokeWidth() / 2); + } path.addOval(rect); - drawConvexPath(path, p->getColor(), getXfermode(p->getXfermode()), p->isAntiAlias()); + drawConvexPath(path, p); return DrawGlInfo::kStatusDrew; } @@ -2409,10 +2436,11 @@ status_t OpenGLRenderer::drawArc(float left, float top, float right, float botto } status_t OpenGLRenderer::drawRect(float left, float top, float right, float bottom, SkPaint* p) { - if (mSnapshot->isIgnored() || quickReject(left, top, right, bottom)) { + if (mSnapshot->isIgnored() || quickRejectPreStroke(left, top, right, bottom, p)) { return DrawGlInfo::kStatusDone; } + // only fill style is supported by drawConvexPath, since others have to handle joins if (p->getStyle() != SkPaint::kFill_Style) { mCaches.activeTexture(0); const PathTexture* texture = mCaches.rectShapeCache.getRect(right - left, bottom - top, p); @@ -2422,7 +2450,7 @@ status_t OpenGLRenderer::drawRect(float left, float top, float right, float bott if (p->isAntiAlias() && !mSnapshot->transform->isSimple()) { SkPath path; path.addRect(left, top, right, bottom); - drawConvexPath(path, p->getColor(), getXfermode(p->getXfermode()), true); + drawConvexPath(path, p); } else { drawColorRect(left, top, right, bottom, p->getColor(), getXfermode(p->getXfermode())); } diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index f325deb3c5f9..a40d69ad2c91 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -407,6 +407,11 @@ private: Rect& transformed, Rect& clip); /** + * Performs a quick reject but adjust the bounds to account for stroke width if necessary + */ + bool quickRejectPreStroke(float left, float top, float right, float bottom, SkPaint* paint); + + /** * Creates a new layer stored in the specified snapshot. * * @param snapshot The snapshot associated with the new layer @@ -513,11 +518,9 @@ private: * Renders the convex hull defined by the specified path as a strip of polygons. * * @param path The hull of the path to draw - * @param color The color of the rect - * @param mode The blending mode to draw the path - * @param isAA True if the drawing should be anti-aliased + * @param paint The paint to render with */ - void drawConvexPath(const SkPath& path, int color, SkXfermode::Mode mode, bool isAA); + void drawConvexPath(const SkPath& path, SkPaint* paint); /** * Draws a textured rectangle with the specified texture. The specified coordinates diff --git a/libs/hwui/PathRenderer.cpp b/libs/hwui/PathRenderer.cpp index d222009b6742..4a66c62d92d8 100644 --- a/libs/hwui/PathRenderer.cpp +++ b/libs/hwui/PathRenderer.cpp @@ -21,6 +21,7 @@ #define VERTEX_DEBUG 0 #include <SkPath.h> +#include <SkPaint.h> #include <stdlib.h> #include <stdint.h> @@ -39,10 +40,16 @@ namespace uirenderer { #define THRESHOLD 0.5f -void PathRenderer::computeInverseScales(const mat4 *transform, - float &inverseScaleX, float& inverseScaleY) { - inverseScaleX = 1.0f; - inverseScaleY = 1.0f; +SkRect PathRenderer::computePathBounds(const SkPath& path, const SkPaint* paint) { + SkRect bounds = path.getBounds(); + if (paint->getStyle() != SkPaint::kFill_Style) { + float outset = paint->getStrokeWidth() * 0.5f; + bounds.outset(outset, outset); + } + return bounds; +} + +void computeInverseScales(const mat4 *transform, float &inverseScaleX, float& inverseScaleY) { if (CC_UNLIKELY(!transform->isPureTranslate())) { float m00 = transform->data[Matrix4::kScaleX]; float m01 = transform->data[Matrix4::kSkewY]; @@ -50,127 +57,300 @@ void PathRenderer::computeInverseScales(const mat4 *transform, float m11 = transform->data[Matrix4::kScaleY]; float scaleX = sqrt(m00 * m00 + m01 * m01); float scaleY = sqrt(m10 * m10 + m11 * m11); - inverseScaleX = (scaleX != 0) ? (inverseScaleX / scaleX) : 0; - inverseScaleY = (scaleY != 0) ? (inverseScaleY / scaleY) : 0; + inverseScaleX = (scaleX != 0) ? (1.0f / scaleX) : 1.0f; + inverseScaleY = (scaleY != 0) ? (1.0f / scaleY) : 1.0f; + } else { + inverseScaleX = 1.0f; + inverseScaleY = 1.0f; } } -void PathRenderer::convexPathFillVertices(const SkPath &path, const mat4 *transform, - VertexBuffer &vertexBuffer, bool isAA) { - ATRACE_CALL(); - float inverseScaleX; - float inverseScaleY; - computeInverseScales(transform, inverseScaleX, inverseScaleY); +inline void copyVertex(Vertex* destPtr, const Vertex* srcPtr) { + Vertex::set(destPtr, srcPtr->position[0], srcPtr->position[1]); +} - Vector<Vertex> tempVertices; - float thresholdx = THRESHOLD * inverseScaleX; - float thresholdy = THRESHOLD * inverseScaleY; - convexPathVertices(path, - thresholdx * thresholdx, - thresholdy * thresholdy, - tempVertices); +inline void copyAlphaVertex(AlphaVertex* destPtr, const AlphaVertex* srcPtr) { + AlphaVertex::set(destPtr, srcPtr->position[0], srcPtr->position[1], srcPtr->alpha); +} -#if VERTEX_DEBUG - for (unsigned int i = 0; i < tempVertices.size(); i++) { - ALOGD("orig path: point at %f %f", - tempVertices[i].position[0], - tempVertices[i].position[1]); +/** + * Produces a pseudo-normal for a vertex, given the normals of the two incoming lines. If the offset + * from each vertex in a perimeter is calculated, the resultant lines connecting the offset vertices + * will be offset by 1.0 + * + * Note that we can't add and normalize the two vectors, that would result in a rectangle having an + * offset of (sqrt(2)/2, sqrt(2)/2) at each corner, instead of (1, 1) + */ +inline vec2 totalOffsetFromNormals(const vec2& normalA, const vec2& normalB) { + return (normalA + normalB) / (1 + fabs(normalA.dot(normalB))); +} + +void getFillVerticesFromPerimeter(const Vector<Vertex>& perimeter, VertexBuffer& vertexBuffer) { + Vertex* buffer = vertexBuffer.alloc<Vertex>(perimeter.size()); + + int currentIndex = 0; + // zig zag between all previous points on the inside of the hull to create a + // triangle strip that fills the hull + int srcAindex = 0; + int srcBindex = perimeter.size() - 1; + while (srcAindex <= srcBindex) { + copyVertex(&buffer[currentIndex++], &perimeter[srcAindex]); + if (srcAindex == srcBindex) break; + copyVertex(&buffer[currentIndex++], &perimeter[srcBindex]); + srcAindex++; + srcBindex--; } -#endif +} + +void getStrokeVerticesFromPerimeter(const Vector<Vertex>& perimeter, float halfStrokeWidth, + VertexBuffer& vertexBuffer, float inverseScaleX, float inverseScaleY) { + Vertex* buffer = vertexBuffer.alloc<Vertex>(perimeter.size() * 2 + 2); + int currentIndex = 0; - if (!isAA) { - Vertex* buffer = vertexBuffer.alloc<Vertex>(tempVertices.size()); - - // zig zag between all previous points on the inside of the hull to create a - // triangle strip that fills the hull - int srcAindex = 0; - int srcBindex = tempVertices.size() - 1; - while (srcAindex <= srcBindex) { - Vertex::set(&buffer[currentIndex++], - tempVertices.editArray()[srcAindex].position[0], - tempVertices.editArray()[srcAindex].position[1]); - if (srcAindex == srcBindex) break; - Vertex::set(&buffer[currentIndex++], - tempVertices.editArray()[srcBindex].position[0], - tempVertices.editArray()[srcBindex].position[1]); - srcAindex++; - srcBindex--; + const Vertex* last = &(perimeter[perimeter.size() - 1]); + const Vertex* current = &(perimeter[0]); + vec2 lastNormal(current->position[1] - last->position[1], + last->position[0] - current->position[0]); + lastNormal.normalize(); + for (unsigned int i = 0; i < perimeter.size(); i++) { + const Vertex* next = &(perimeter[i + 1 >= perimeter.size() ? 0 : i + 1]); + vec2 nextNormal(next->position[1] - current->position[1], + current->position[0] - next->position[0]); + nextNormal.normalize(); + + vec2 totalOffset = totalOffsetFromNormals(lastNormal, nextNormal); + if (halfStrokeWidth == 0.0f) { + // hairline - compensate for scale + totalOffset.x *= 0.5f * inverseScaleX; + totalOffset.y *= 0.5f * inverseScaleY; + } else { + totalOffset *= halfStrokeWidth; } - return; + + Vertex::set(&buffer[currentIndex++], + current->position[0] + totalOffset.x, + current->position[1] + totalOffset.y); + + Vertex::set(&buffer[currentIndex++], + current->position[0] - totalOffset.x, + current->position[1] - totalOffset.y); + + last = current; + current = next; + lastNormal = nextNormal; } - AlphaVertex* buffer = vertexBuffer.alloc<AlphaVertex>(tempVertices.size() * 3 + 2); - // generate alpha points - fill Alpha vertex gaps in between each point with - // alpha 0 vertex, offset by a scaled normal. - Vertex* last = &(tempVertices.editArray()[tempVertices.size()-1]); + // wrap around to beginning + copyVertex(&buffer[currentIndex++], &buffer[0]); + copyVertex(&buffer[currentIndex++], &buffer[1]); +} - for (unsigned int i = 0; i<tempVertices.size(); i++) { - Vertex* current = &(tempVertices.editArray()[i]); - Vertex* next = &(tempVertices.editArray()[i + 1 >= tempVertices.size() ? 0 : i + 1]); +void getFillVerticesFromPerimeterAA(const Vector<Vertex>& perimeter, VertexBuffer& vertexBuffer, + float inverseScaleX, float inverseScaleY) { + AlphaVertex* buffer = vertexBuffer.alloc<AlphaVertex>(perimeter.size() * 3 + 2); - vec2 lastNormal(current->position[1] - last->position[1], - last->position[0] - current->position[0]); - lastNormal.normalize(); + // generate alpha points - fill Alpha vertex gaps in between each point with + // alpha 0 vertex, offset by a scaled normal. + int currentIndex = 0; + const Vertex* last = &(perimeter[perimeter.size() - 1]); + const Vertex* current = &(perimeter[0]); + vec2 lastNormal(current->position[1] - last->position[1], + last->position[0] - current->position[0]); + lastNormal.normalize(); + for (unsigned int i = 0; i < perimeter.size(); i++) { + const Vertex* next = &(perimeter[i + 1 >= perimeter.size() ? 0 : i + 1]); vec2 nextNormal(next->position[1] - current->position[1], - current->position[0] - next->position[0]); + current->position[0] - next->position[0]); nextNormal.normalize(); - // AA point offset from original point is that point's normal, such that - // each side is offset by .5 pixels - vec2 totalOffset = (lastNormal + nextNormal) / (2 * (1 + lastNormal.dot(nextNormal))); - totalOffset.x *= inverseScaleX; - totalOffset.y *= inverseScaleY; + // AA point offset from original point is that point's normal, such that each side is offset + // by .5 pixels + vec2 totalOffset = totalOffsetFromNormals(lastNormal, nextNormal); + totalOffset.x *= 0.5f * inverseScaleX; + totalOffset.y *= 0.5f * inverseScaleY; AlphaVertex::set(&buffer[currentIndex++], - current->position[0] + totalOffset.x, - current->position[1] + totalOffset.y, - 0.0f); + current->position[0] + totalOffset.x, + current->position[1] + totalOffset.y, + 0.0f); AlphaVertex::set(&buffer[currentIndex++], - current->position[0] - totalOffset.x, - current->position[1] - totalOffset.y, - 1.0f); + current->position[0] - totalOffset.x, + current->position[1] - totalOffset.y, + 1.0f); + last = current; + current = next; + lastNormal = nextNormal; } // wrap around to beginning - AlphaVertex::set(&buffer[currentIndex++], - buffer[0].position[0], - buffer[0].position[1], 0.0f); - AlphaVertex::set(&buffer[currentIndex++], - buffer[1].position[0], - buffer[1].position[1], 1.0f); + copyAlphaVertex(&buffer[currentIndex++], &buffer[0]); + copyAlphaVertex(&buffer[currentIndex++], &buffer[1]); // zig zag between all previous points on the inside of the hull to create a // triangle strip that fills the hull, repeating the first inner point to // create degenerate tris to start inside path int srcAindex = 0; - int srcBindex = tempVertices.size() - 1; + int srcBindex = perimeter.size() - 1; while (srcAindex <= srcBindex) { - AlphaVertex::set(&buffer[currentIndex++], - buffer[srcAindex * 2 + 1].position[0], - buffer[srcAindex * 2 + 1].position[1], - 1.0f); + copyAlphaVertex(&buffer[currentIndex++], &buffer[srcAindex * 2 + 1]); if (srcAindex == srcBindex) break; - AlphaVertex::set(&buffer[currentIndex++], - buffer[srcBindex * 2 + 1].position[0], - buffer[srcBindex * 2 + 1].position[1], - 1.0f); + copyAlphaVertex(&buffer[currentIndex++], &buffer[srcBindex * 2 + 1]); srcAindex++; srcBindex--; } #if VERTEX_DEBUG - for (unsigned int i = 0; i < vertexBuffer.mSize; i++) { - ALOGD("point at %f %f", - buffer[i].position[0], - buffer[i].position[1]); + for (unsigned int i = 0; i < vertexBuffer.getSize(); i++) { + ALOGD("point at %f %f", buffer[i].position[0], buffer[i].position[1]); } #endif } +void getStrokeVerticesFromPerimeterAA(const Vector<Vertex>& perimeter, float halfStrokeWidth, + VertexBuffer& vertexBuffer, float inverseScaleX, float inverseScaleY) { + AlphaVertex* buffer = vertexBuffer.alloc<AlphaVertex>(6 * perimeter.size() + 8); + + // avoid lines smaller than hairline since they break triangle based sampling. instead reducing + // alpha value (TODO: support different X/Y scale) + float maxAlpha = 1.0f; + if (halfStrokeWidth != 0 && inverseScaleX == inverseScaleY && + halfStrokeWidth * inverseScaleX < 1.0f) { + maxAlpha *= (2 * halfStrokeWidth) / inverseScaleX; + halfStrokeWidth = 0.0f; + } + + int offset = 2 * perimeter.size() + 3; + int currentAAOuterIndex = 0; + int currentStrokeIndex = offset; + int currentAAInnerIndex = offset * 2; + + const Vertex* last = &(perimeter[perimeter.size() - 1]); + const Vertex* current = &(perimeter[0]); + vec2 lastNormal(current->position[1] - last->position[1], + last->position[0] - current->position[0]); + lastNormal.normalize(); + for (unsigned int i = 0; i < perimeter.size(); i++) { + const Vertex* next = &(perimeter[i + 1 >= perimeter.size() ? 0 : i + 1]); + vec2 nextNormal(next->position[1] - current->position[1], + current->position[0] - next->position[0]); + nextNormal.normalize(); + + vec2 totalOffset = totalOffsetFromNormals(lastNormal, nextNormal); + vec2 AAOffset = totalOffset; + AAOffset.x *= 0.5f * inverseScaleX; + AAOffset.y *= 0.5f * inverseScaleY; + + vec2 innerOffset = totalOffset; + if (halfStrokeWidth == 0.0f) { + // hairline! - compensate for scale + innerOffset.x *= 0.5f * inverseScaleX; + innerOffset.y *= 0.5f * inverseScaleY; + } else { + innerOffset *= halfStrokeWidth; + } + vec2 outerOffset = innerOffset + AAOffset; + innerOffset -= AAOffset; + + AlphaVertex::set(&buffer[currentAAOuterIndex++], + current->position[0] + outerOffset.x, + current->position[1] + outerOffset.y, + 0.0f); + AlphaVertex::set(&buffer[currentAAOuterIndex++], + current->position[0] + innerOffset.x, + current->position[1] + innerOffset.y, + maxAlpha); + + AlphaVertex::set(&buffer[currentStrokeIndex++], + current->position[0] + innerOffset.x, + current->position[1] + innerOffset.y, + maxAlpha); + AlphaVertex::set(&buffer[currentStrokeIndex++], + current->position[0] - innerOffset.x, + current->position[1] - innerOffset.y, + maxAlpha); + + AlphaVertex::set(&buffer[currentAAInnerIndex++], + current->position[0] - innerOffset.x, + current->position[1] - innerOffset.y, + maxAlpha); + AlphaVertex::set(&buffer[currentAAInnerIndex++], + current->position[0] - outerOffset.x, + current->position[1] - outerOffset.y, + 0.0f); + + last = current; + current = next; + lastNormal = nextNormal; + } + + // wrap each strip around to beginning, creating degenerate tris to bridge strips + copyAlphaVertex(&buffer[currentAAOuterIndex++], &buffer[0]); + copyAlphaVertex(&buffer[currentAAOuterIndex++], &buffer[1]); + copyAlphaVertex(&buffer[currentAAOuterIndex++], &buffer[1]); + + copyAlphaVertex(&buffer[currentStrokeIndex++], &buffer[offset]); + copyAlphaVertex(&buffer[currentStrokeIndex++], &buffer[offset + 1]); + copyAlphaVertex(&buffer[currentStrokeIndex++], &buffer[offset + 1]); -void PathRenderer::convexPathVertices(const SkPath &path, float thresholdx, float thresholdy, - Vector<Vertex> &outputVertices) { + copyAlphaVertex(&buffer[currentAAInnerIndex++], &buffer[2 * offset]); + copyAlphaVertex(&buffer[currentAAInnerIndex++], &buffer[2 * offset + 1]); + // don't need to create last degenerate tri +} + +void PathRenderer::convexPathVertices(const SkPath &path, const SkPaint* paint, + const mat4 *transform, VertexBuffer& vertexBuffer) { + ATRACE_CALL(); + + SkPaint::Style style = paint->getStyle(); + bool isAA = paint->isAntiAlias(); + + float inverseScaleX, inverseScaleY; + computeInverseScales(transform, inverseScaleX, inverseScaleY); + + Vector<Vertex> tempVertices; + float threshInvScaleX = inverseScaleX; + float threshInvScaleY = inverseScaleY; + if (style == SkPaint::kStroke_Style) { + // alter the bezier recursion threshold values we calculate in order to compensate for + // expansion done after the path vertices are found + SkRect bounds = path.getBounds(); + if (!bounds.isEmpty()) { + threshInvScaleX *= bounds.width() / (bounds.width() + paint->getStrokeWidth()); + threshInvScaleY *= bounds.height() / (bounds.height() + paint->getStrokeWidth()); + } + } + convexPathPerimeterVertices(path, threshInvScaleX * threshInvScaleX, + threshInvScaleY * threshInvScaleY, tempVertices); + +#if VERTEX_DEBUG + for (unsigned int i = 0; i < tempVertices.size(); i++) { + ALOGD("orig path: point at %f %f", tempVertices[i].position[0], tempVertices[i].position[1]); + } +#endif + + if (style == SkPaint::kStroke_Style) { + float halfStrokeWidth = paint->getStrokeWidth() * 0.5f; + if (!isAA) { + getStrokeVerticesFromPerimeter(tempVertices, halfStrokeWidth, vertexBuffer, + inverseScaleX, inverseScaleY); + } else { + getStrokeVerticesFromPerimeterAA(tempVertices, halfStrokeWidth, vertexBuffer, + inverseScaleX, inverseScaleY); + } + } else { + // For kStrokeAndFill style, the path should be adjusted externally, as it will be treated as a fill here. + if (!isAA) { + getFillVerticesFromPerimeter(tempVertices, vertexBuffer); + } else { + getFillVerticesFromPerimeterAA(tempVertices, vertexBuffer, inverseScaleX, inverseScaleY); + } + } +} + + +void PathRenderer::convexPathPerimeterVertices(const SkPath& path, + float sqrInvScaleX, float sqrInvScaleY, Vector<Vertex>& outputVertices) { ATRACE_CALL(); SkPath::Iter iter(path, true); @@ -189,31 +369,30 @@ void PathRenderer::convexPathVertices(const SkPath &path, float thresholdx, floa break; case SkPath::kLine_Verb: ALOGV("kLine_Verb %f %f -> %f %f", - pts[0].x(), pts[0].y(), - pts[1].x(), pts[1].y()); + pts[0].x(), pts[0].y(), + pts[1].x(), pts[1].y()); // TODO: make this not yuck outputVertices.push(); - newVertex = &(outputVertices.editArray()[outputVertices.size()-1]); + newVertex = &(outputVertices.editArray()[outputVertices.size() - 1]); Vertex::set(newVertex, pts[1].x(), pts[1].y()); break; case SkPath::kQuad_Verb: ALOGV("kQuad_Verb"); recursiveQuadraticBezierVertices( - pts[0].x(), pts[0].y(), - pts[2].x(), pts[2].y(), - pts[1].x(), pts[1].y(), - thresholdx, thresholdy, - outputVertices); + pts[0].x(), pts[0].y(), + pts[2].x(), pts[2].y(), + pts[1].x(), pts[1].y(), + sqrInvScaleX, sqrInvScaleY, outputVertices); break; case SkPath::kCubic_Verb: ALOGV("kCubic_Verb"); recursiveCubicBezierVertices( - pts[0].x(), pts[0].y(), - pts[1].x(), pts[1].y(), - pts[3].x(), pts[3].y(), - pts[2].x(), pts[2].y(), - thresholdx, thresholdy, outputVertices); + pts[0].x(), pts[0].y(), + pts[1].x(), pts[1].y(), + pts[3].x(), pts[3].y(), + pts[2].x(), pts[2].y(), + sqrInvScaleX, sqrInvScaleY, outputVertices); break; default: break; @@ -224,18 +403,20 @@ void PathRenderer::convexPathVertices(const SkPath &path, float thresholdx, floa void PathRenderer::recursiveCubicBezierVertices( float p1x, float p1y, float c1x, float c1y, float p2x, float p2y, float c2x, float c2y, - float thresholdx, float thresholdy, Vector<Vertex> &outputVertices) { + float sqrInvScaleX, float sqrInvScaleY, Vector<Vertex>& outputVertices) { float dx = p2x - p1x; float dy = p2y - p1y; float d1 = fabs((c1x - p2x) * dy - (c1y - p2y) * dx); float d2 = fabs((c2x - p2x) * dy - (c2y - p2y) * dx); float d = d1 + d2; - if (d * d < (thresholdx * (dx * dx) + thresholdy * (dy * dy))) { + // multiplying by sqrInvScaleY/X equivalent to multiplying in dimensional scale factors + + if (d * d < THRESHOLD * THRESHOLD * (dx * dx * sqrInvScaleY + dy * dy * sqrInvScaleX)) { // below thresh, draw line by adding endpoint // TODO: make this not yuck outputVertices.push(); - Vertex* newVertex = &(outputVertices.editArray()[outputVertices.size()-1]); + Vertex* newVertex = &(outputVertices.editArray()[outputVertices.size() - 1]); Vertex::set(newVertex, p2x, p2y); } else { float p1c1x = (p1x + c1x) * 0.5f; @@ -258,13 +439,11 @@ void PathRenderer::recursiveCubicBezierVertices( recursiveCubicBezierVertices( p1x, p1y, p1c1x, p1c1y, mx, my, p1c1c2x, p1c1c2y, - thresholdx, thresholdy, - outputVertices); + sqrInvScaleX, sqrInvScaleY, outputVertices); recursiveCubicBezierVertices( mx, my, p2c1c2x, p2c1c2y, p2x, p2y, p2c2x, p2c2y, - thresholdx, thresholdy, - outputVertices); + sqrInvScaleX, sqrInvScaleY, outputVertices); } } @@ -272,16 +451,16 @@ void PathRenderer::recursiveQuadraticBezierVertices( float ax, float ay, float bx, float by, float cx, float cy, - float thresholdx, float thresholdy, Vector<Vertex> &outputVertices) { + float sqrInvScaleX, float sqrInvScaleY, Vector<Vertex>& outputVertices) { float dx = bx - ax; float dy = by - ay; float d = (cx - bx) * dy - (cy - by) * dx; - if (d * d < (thresholdx * (dx * dx) + thresholdy * (dy * dy))) { + if (d * d < THRESHOLD * THRESHOLD * (dx * dx * sqrInvScaleY + dy * dy * sqrInvScaleX)) { // below thresh, draw line by adding endpoint // TODO: make this not yuck outputVertices.push(); - Vertex* newVertex = &(outputVertices.editArray()[outputVertices.size()-1]); + Vertex* newVertex = &(outputVertices.editArray()[outputVertices.size() - 1]); Vertex::set(newVertex, bx, by); } else { float acx = (ax + cx) * 0.5f; @@ -294,9 +473,9 @@ void PathRenderer::recursiveQuadraticBezierVertices( float my = (acy + bcy) * 0.5f; recursiveQuadraticBezierVertices(ax, ay, mx, my, acx, acy, - thresholdx, thresholdy, outputVertices); + sqrInvScaleX, sqrInvScaleY, outputVertices); recursiveQuadraticBezierVertices(mx, my, bx, by, bcx, bcy, - thresholdx, thresholdy, outputVertices); + sqrInvScaleX, sqrInvScaleY, outputVertices); } } diff --git a/libs/hwui/PathRenderer.h b/libs/hwui/PathRenderer.h index 1354f161c74c..28a5b9031edb 100644 --- a/libs/hwui/PathRenderer.h +++ b/libs/hwui/PathRenderer.h @@ -35,15 +35,13 @@ public: mCleanupMethod(0) {} - ~VertexBuffer() - { + ~VertexBuffer() { if (mCleanupMethod) mCleanupMethod(mBuffer); } template <class TYPE> - TYPE* alloc(int size) - { + TYPE* alloc(int size) { mSize = size; mBuffer = (void*)new TYPE[size]; mCleanupMethod = &(cleanup<TYPE>); @@ -56,8 +54,7 @@ public: private: template <class TYPE> - static void cleanup(void* buffer) - { + static void cleanup(void* buffer) { delete[] (TYPE*)buffer; } @@ -68,17 +65,15 @@ private: class PathRenderer { public: - static void computeInverseScales( - const mat4 *transform, float &inverseScaleX, float& inverseScaleY); + static SkRect computePathBounds(const SkPath& path, const SkPaint* paint); - static void convexPathFillVertices( - const SkPath &path, const mat4 *transform, - VertexBuffer &vertexBuffer, bool isAA); + static void convexPathVertices(const SkPath& path, const SkPaint* paint, + const mat4 *transform, VertexBuffer& vertexBuffer); private: - static void convexPathVertices( + static void convexPathPerimeterVertices( const SkPath &path, - float thresholdx, float thresholdy, + float sqrInvScaleX, float sqrInvScaleY, Vector<Vertex> &outputVertices); /* @@ -86,23 +81,23 @@ private: control c */ static void recursiveQuadraticBezierVertices( - float ax, float ay, - float bx, float by, - float cx, float cy, - float thresholdx, float thresholdy, - Vector<Vertex> &outputVertices); + float ax, float ay, + float bx, float by, + float cx, float cy, + float sqrInvScaleX, float sqrInvScaleY, + Vector<Vertex> &outputVertices); /* endpoints p1, p2 control c1, c2 */ static void recursiveCubicBezierVertices( - float p1x, float p1y, - float c1x, float c1y, - float p2x, float p2y, - float c2x, float c2y, - float thresholdx, float thresholdy, - Vector<Vertex> &outputVertices); + float p1x, float p1y, + float c1x, float c1y, + float p2x, float p2y, + float c2x, float c2y, + float sqrInvScaleX, float sqrInvScaleY, + Vector<Vertex> &outputVertices); }; }; // namespace uirenderer diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png Binary files differindex d5650a76bfe9..7c6ca7534d81 100644 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png +++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png Binary files differindex 7d6fed5bbd14..ff0ba07cde09 100644 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png +++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png Binary files differindex 19e4e409e1be..61eff946df08 100644 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png +++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png Binary files differindex ec30791f39c9..b480a80bc638 100644 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png +++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png Binary files differindex 65a873dd5b3d..b4d9175a7a76 100644 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png +++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png Binary files differindex 7ac301548e2b..598d9676cb6b 100644 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png +++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png diff --git a/packages/SystemUI/res/layout/quick_settings_tile_airplane.xml b/packages/SystemUI/res/layout/quick_settings_tile_airplane.xml index 6ae10d5db892..ac87496c12f0 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_airplane.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_airplane.xml @@ -21,5 +21,4 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" - android:text="@string/quick_settings_airplane_mode_label" />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_bluetooth.xml b/packages/SystemUI/res/layout/quick_settings_tile_bluetooth.xml index 565055c594e1..2f3a9c6fe722 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_bluetooth.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_bluetooth.xml @@ -21,5 +21,4 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" - android:text="@string/quick_settings_bluetooth_label" />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_brightness.xml b/packages/SystemUI/res/layout/quick_settings_tile_brightness.xml index ac872e63e2f4..5b3ce1f6f862 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_brightness.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_brightness.xml @@ -22,5 +22,4 @@ android:layout_gravity="center" android:gravity="center" android:drawableTop="@drawable/ic_qs_brightness_auto_off" - android:text="@string/quick_settings_brightness_label" />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml b/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml index 4dbf6a016356..6aecaea1380d 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_rotation_lock.xml @@ -21,5 +21,4 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" - android:text="@string/quick_settings_rotation_unlocked_label" />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_settings.xml b/packages/SystemUI/res/layout/quick_settings_tile_settings.xml index 7026ebc6e90a..d155935b09cb 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_settings.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_settings.xml @@ -16,10 +16,10 @@ <TextView xmlns:android="http://schemas.android.com/apk/res/android" style="@style/TextAppearance.QuickSettings.TileView" + android:id="@+id/settings_tileview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:drawableTop="@drawable/ic_qs_settings" - android:text="@string/quick_settings_settings_label" />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_user.xml b/packages/SystemUI/res/layout/quick_settings_tile_user.xml index 08e8e20fdc76..1732f6d289dc 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_user.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_user.xml @@ -18,6 +18,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView + android:id="@+id/user_imageview" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/ic_qs_default_user" diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 122fd601b2ae..1c317cab5ef8 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi een strepie."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi twee strepies."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi drie strepies."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-sein vol."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi sein vol."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Geen WiMAX nie."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX een strepie."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX twee strepies."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Instellings"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Tyd"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ek"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Geen netwerk nie"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi af"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi-skerm"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Geen Wi-Fi-skerm-verbinding nie"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Helderheid"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"OUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 2e220ecb7b55..d85e2b8f9140 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi አንድ አሞሌ::"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi ሁለት አሞሌዎች::"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi ሶስት አሞሌዎች::"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"የWiFi አመልካች ሙሉ ነው።"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi ሲግናል ሙሉ ነው::"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"ምንም WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX አንድ አሞሌ።"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX ሁለት አሞሌዎች።"</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"ቅንብሮች"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"ሰዓት"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"እኔ"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ምንም አውታረ መረብ የለም"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi ጠፍቷል"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"የWifi ማሳያ"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"ምንም የWifi ማሳያ ግንኙነት የለም"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ብሩህነት"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"ራስ-ሰር"</string> </resources> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 659eb5855a8e..b236a8b11249 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"شريط واحد لـ Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"شريطان لـ Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"ثلاثة أشرطة لـ Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"إشارة WiFi كاملة."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"إشارة كاملة لـ Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"ليس هناك WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"شريط WiMAX واحد."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"شريطا WiMAX."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"الإعدادات"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"الوقت"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"أنا"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"لا تتوفر شبكة"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"إيقاف Wifi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"شاشة Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"لا يتوفر اتصال بشاشة Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"السطوع"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"تلقائي"</string> </resources> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index 0d6f4c66721d..ddc23ca3b2d8 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi, адзiн слупок."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi, два слупкi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi, тры слупкi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Поўны сігнал Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Моцны сiгнал Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Няма сiгналу WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Адзiн слупок сiгналу WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Два слупкi сiгналу WiMAX."</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Налады"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Час"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Я"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Няма сеткi"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi выключаны"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Дысплей Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Няма падключэння да дысплея Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Яркасць"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АЎТА"</string> </resources> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 02c38b71cbc3..470b31b89160 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi е с една чертичка."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi е с две чертички."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi е с три чертички."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Сигналът за WiFi е пълен."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Сигналът за Wi-Fi е пълен."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Няма WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX е с една чертичка."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX е с две чертички."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Настройки"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Време"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Аз"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"WiFi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Няма мрежа"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"WiFi е изключен"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Дисплей през WiFi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Няма връзка с дисплея през WiFi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Яркост"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АВТ."</string> </resources> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 7aa1e889fe95..16a412d3e5e7 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dues barres de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barres de Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Senyal Wi-Fi: complet."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Senyal Wi-Fi complet."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Sense WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Una barra de WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dues barres de WiMAX."</string> @@ -170,11 +170,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Configuració"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Jo"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Desconnectat"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"No hi ha cap xarxa"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi desactivada"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Pantalla Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Sense connexió a pantalla Wi-Fi"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi desconnectat"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"Pantalla Wi-Fi"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"No hi ha cap connexió amb una pantalla Wi-Fi"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brillantor"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMÀTICA"</string> </resources> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 5a391a91a19d..c8e5317e0bb5 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi – jedna čárka."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi – dvě čárky."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi – tři čárky."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Plný signál sítě Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi – plný signál."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Žádný signál sítě WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Jedna čárka signálu sítě WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dvě čárky signálu sítě WiMAX."</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nastavení"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Doba"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Já"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Žádná síť"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Síť Wi-Fi je vypnuta"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Displej přes Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Žádné připojení k displeji přes Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Jas"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATICKY"</string> </resources> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 47a5c5bb8317..fde9916be4cd 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi har en bjælke."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi har to bjælker."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi har tre bjælker."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signal fuldt."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi-signalet er godt."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ingen WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX en bjælke."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX to bjælker."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Indstillinger"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Tid"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mig"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Intet netværk"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi slået fra"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi-skærm"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Ingen forbindelse til Wi-Fi-skærm"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Lysstyrke"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index 791bfab4f084..4a5b4cb07a84 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"WLAN, ein Balken"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"WLAN, zwei Balken"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"WLAN, drei Balken"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Volle WLAN-Signalstärke"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"WLAN, volle Signalstärke"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Kein WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX - ein Balken"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX - zwei Balken"</string> @@ -151,7 +151,7 @@ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"Bildschirm bleibt im Querformat."</string> <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Bildschirm bleibt im Hochformat."</string> <string name="jelly_bean_dream_name" msgid="5992026543636816792">"BeanFlinger"</string> - <string name="start_dreams" msgid="870400522982252717">"Träume starten"</string> + <string name="start_dreams" msgid="870400522982252717">"Dream-Funktion starten"</string> <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string> <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flugmodus"</string> <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"Akku wird aufgeladen (<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>)"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Einstellungen"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Uhrzeit"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ich"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"WLAN"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Kein Netz"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"WLAN aus"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"WLAN-Anzeige"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Keine WLAN-Anzeige"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Helligkeit"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index afce21206a17..a72ae498e30a 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Μία γραμμή Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Δύο γραμμές Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Τρεις γραμμές Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Πλήρες σήμα WiFi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Πλήρες σήμα Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Δεν υπάρχει σήμα WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Σήμα WiMAX μία γραμμή."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Σήμα WiMAX δύο γραμμές."</string> @@ -170,11 +170,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Ρυθμίσεις"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Ώρα"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Εγώ"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Μη συνδεδεμένο"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Κανένα δίκτυο"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Απενεργοποιημένο Wifi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Οθόνη Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Δεν υπάρχει σύνδεση οθόνης Wifi"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ανενεργό"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"Οθόνη Wi-Fi"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"Χωρίς σύνδεση οθόνης Wi-Fi"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Φωτεινότητα"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"ΑΥΤΟΜΑΤΗ"</string> </resources> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 5bfe7ae00134..9f03bfc01bb6 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi one bar."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi two bars."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi three bars."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi signal full."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi signal full."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"No WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX one bar."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX two bars."</string> @@ -168,11 +168,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Settings"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Time"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Me"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Not Connected"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"No Network"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi Off"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi Display"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"No Wi-Fi Display Connection"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi Off"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"Wi-Fi Display"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"No Wi-Fi Display Connection"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brightness"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index ec8530928927..4ef247964c6d 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de señal Wi-Fi"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dos barras de señal Wi-Fi"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barras de señal Wi-Fi"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi completa"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Señal Wi-Fi máxima"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Sin conexión WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Una barra de WiMAX"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dos barras de WiMAX"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Configuración"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Yo"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Sin red"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi desactivado"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Pantalla Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Sin conexión con pantalla Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brillo"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMÁTICO"</string> </resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index a82bc03ffb07..90bc39495d14 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de Wi-Fi"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dos barras de Wi-Fi"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barras de Wi-Fi"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi al máximo"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Señal de Wi-Fi al máximo"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Sin conexión WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Una barra de WiMAX"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dos barras de WiMAX"</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Ajustes"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Yo"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"No hay red."</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi desactivado"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Pantalla Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Sin conexión a pantalla Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brillo"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index d17cb02cfd5d..8113e8dc7504 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"WiFi signaal: üks post."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"WiFi signaal: kaks posti."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"WiFi signaal: kolm posti."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi-signaal on tugev."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"WiFi signaal on täis."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX-i pole."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX-i on üks riba."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX-i on kaks riba."</string> @@ -168,11 +168,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Seaded"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Aeg"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mina"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"WiFi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"WiFi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Ühendus puudub"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Võrku pole"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"WiFi on väljas"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"WiFi-ekraan"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"WiFi-ekraani ühendus puudub"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"WiFi-ühendus on väljas"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"WiFi kuva"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"WiFi-ühenduse puudumise kuva"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Heledus"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMAATNE"</string> </resources> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 4379dcb3eaeb..71c85587ae28 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi یک نوار دارد."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi دو نوار دارد."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi سه نوار دارد."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"قدرت سیگنال WiFi کامل است."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"سیگنال Wi-Fi کامل است."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX وجود ندارد."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX دارای یک نوار است."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX دارای دو نوار است."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"تنظیمات"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"زمان"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"من"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"شبکهای موجود نیست"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi خاموش"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"صفحه نمایش Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"اتصال صفحه نمایش Wifi وجود ندارد"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"روشنایی"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"خودکار"</string> </resources> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index bc5596e5d606..5e1bb3c4c774 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wifi-signaali: yksi palkki."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wifi-signaali: kaksi palkkia."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wifi-signaali: kolme palkkia."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Vahva wifi-signaali."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wifi-signaali: täysi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ei WiMAX-yhteyttä."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX: yksi palkki."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX: kaksi palkkia."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Asetukset"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Aika"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Minä"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ei verkkoa"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi pois käytöstä"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wifi-näyttö"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Ei yhteyttä wifi-näyttöön"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Kirkkaus"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index c3ac92735ea9..4facd644e2f2 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Signal Wi-Fi très faible"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Signal Wi-Fi faible"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Signal Wi-Fi bon"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Signal Wi-Fi excellent"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Signal Wi-Fi excellent"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Aucun signal WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Signal WiMAX : faible"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Signal WiMAX : moyen"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Paramètres"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Heure"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Moi"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Aucun réseau"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi désactivé"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Écran Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Aucune connexion à un écran Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Luminosité"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATIQUE"</string> </resources> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index d1590fe0a5e5..a65368f3abcd 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi का एक बार."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi के दो बार."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi के तीन बार."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"पूर्ण WiFi सिग्नल."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi सिग्नल पूर्ण."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX नहीं."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX एक बार."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX दो बार."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"सेटिंग"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"समय"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"मुझे"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"कोई नेटवर्क नहीं"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi बंद"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wifi डिस्प्ले"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"कोई Wifi डिस्प्ले कनेक्शन नहीं"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"चमक"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"स्वत:"</string> </resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index c56b20f7dd30..2b2c02273a94 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi jedna crtica."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dvije crtice."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi tri crtice."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi signal pun."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi signal pun."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Nema signala WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX s jednim stupcem."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX s dva stupca."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Postavke"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Vrijeme"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ja"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nema mreže"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi isključen"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"WiFi zaslon"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nema veze s Wifi zaslonom"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Svjetlina"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATSKI"</string> </resources> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 48932b685ff9..88f293ea4ed2 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi -- egy sáv"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi -- két sáv"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi -- három sáv"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi jel teljes."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi -- teljes jel"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Nincs WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX-jel: egy sáv."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX-jel: két sáv."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Beállítások"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Idő"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Én"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nincs hálózat"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi kikapcsolva"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi kijelző"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nincs kapcsolat Wi-Fi kijelzővel"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Fényerő"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"automatikus"</string> </resources> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 72bd126b4f80..845a72eabec7 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi satu bilah."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dua bilah."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi tiga bilah."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinyal WiFi penuh."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Sinyal Wi-Fi penuh."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Tidak ada WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX satu batang."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX dua batang."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Setelan"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Waktu"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Saya"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Tidak Ada Jaringan"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi Mati"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Tampilan Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Tidak Ada Koneksi Tampilan Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Kecerahan"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"OTOMATIS"</string> </resources> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index d6b96f67e7be..56c8ab8ae9dc 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: una barra."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: due barre."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: tre barre."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Massimo segnale Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Segnale Wi-Fi completo."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Nessun segnale WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX: una barra."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX: due barre."</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Impostazioni"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Ora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Io"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nessuna rete"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi non attivo"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Schermo Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nessun collegamento a schermi Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Luminosità"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 150faaf50cda..28cb4c0c4754 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"פס Wi-Fi אחד."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"שני פסי Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"שלושה פסי Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"אות ה-WiFi מלא."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"אות ה-Wi-Fi מלא."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"ללא WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"פס אחד של WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"שני פסים של WiMAX."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"הגדרות"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"שעה"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"אני"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"אין רשת"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi מופסק"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"תצוגת Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"אין חיבור תצוגת Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"בהירות"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"אוטומטי"</string> </resources> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 222eda230188..deddb6b2a570 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi電波: レベル1"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi電波: レベル2"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi電波: レベル3"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi電波:フル"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi電波: フル"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX電波状態:圏外"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX電波状態:レベル1"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX電波状態:レベル2"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"設定"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"時間"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"このユーザー"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ネットワークなし"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi OFF"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fiディスプレイ"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Wi-Fiディスプレイ接続なし"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"画面の明るさ"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"自動"</string> </resources> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index dca1e369da3a..972c5d0ca034 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 신호 막대가 한 개입니다."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 신호 막대가 두 개입니다."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 신호 막대가 세 개입니다."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 신호가 강합니다."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 신호가 강합니다."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX가 없습니다."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX 신호 막대가 하나입니다."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX 신호 막대가 두 개입니다."</string> @@ -149,7 +149,7 @@ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"화면이 가로 방향으로 잠겨 있습니다."</string> <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"화면이 세로 방향으로 잠겨 있습니다."</string> <string name="jelly_bean_dream_name" msgid="5992026543636816792">"BeanFlinger"</string> - <string name="start_dreams" msgid="870400522982252717">"화면보호기 시작"</string> + <string name="start_dreams" msgid="870400522982252717">"스크린 세이버 시작"</string> <string name="ethernet_label" msgid="7967563676324087464">"이더넷"</string> <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"비행기 모드"</string> <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"충전 중(<xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>)"</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"설정"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"시간"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"나"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"네트워크가 연결되지 않음"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi 사용 안함"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi 디스플레이"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Wi-Fi 디스플레이가 연결되지 않음"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"밝기"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"자동"</string> </resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 65cf268c4135..56961afa4c1b 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Viena „Wi-Fi“ juosta."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dvi „Wi-Fi“ signalo juostos."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Trys „Wi-Fi“ signalo juostos."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"„Wi-Fi“ signalas stiprus."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Stiprus „Wi-Fi“ signalas."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Nėra „WiMAX“ signalo."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Viena „WiMAX“ signalo juosta."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dvi „WiMAX“ signalo juostos."</string> @@ -168,11 +168,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nustatymai"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Laikas"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Aš"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Neprisijungta"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Tinklo nėra"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"„Wi-Fi“ išjungta"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"„Wi-Fi“ pateiktis"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nėra „Wi-Fi“ pateikties ryšio"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"„Wi-Fi“ išjungta"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"„Wi-Fi“ pateiktis"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"Nėra „Wi-Fi“ pateikties ryšio"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Skaistis"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATINIS"</string> </resources> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 69e36f643616..56dc9d4d7744 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: viena josla."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: divas joslas."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: trīs joslas."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Pilna piekļuve Wi-Fi signālam"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Maksimāls Wi-Fi signāla stiprums."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Bez WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX viena josla."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX divas joslas."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Iestatījumi"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Laiks"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Es"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nav tīkla"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi savienojums ir izslēgts."</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi displejs"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nav Wi-Fi displeja savienojuma"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Spilgtums"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMĀTISKI"</string> </resources> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index 791c77db1b21..8379886e0158 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Satu bar Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dua bar Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tiga bar Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Isyarat WiFi penuh."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Isyarat penuh Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Tiada WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX satu bar."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX dua bar."</string> @@ -156,8 +156,7 @@ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"Sudah dicas"</string> <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string> <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> Peranti)"</string> - <!-- no translation found for quick_settings_bluetooth_off_label (8159652146149219937) --> - <skip /> + <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Dimatikan"</string> <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Kecerahan"</string> <string name="quick_settings_rotation_unlocked_label" msgid="336054930362580584">"Auto Putar"</string> <string name="quick_settings_rotation_locked_label" msgid="8058646447242565486">"Putaran Dikunci"</string> @@ -169,12 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Tetapan"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Masa"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Saya"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Tiada Rangkaian"</string> - <!-- no translation found for quick_settings_wifi_off_label (3343111275022978538) --> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> <skip /> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Paparan Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Tiada Sambungan Paparan Wifi"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Kecerahan"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index cb8e55578d76..bbf3aed319dc 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Dekningssignal for Wi-Fi med én stolpe."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dekningssignal for Wi-Fi med to stolper."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Dekningssignal for Wi-Fi med tre stolper."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signal er fullt."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Fullt Wi-Fi-signal"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ingen WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX – én stolpe."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX – to stolper."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Innstillinger"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Tidspunkt"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Meg"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ingen nettverk"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi er slått av"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi-skjermer"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Ingen tilkobling for Wi-Fi-skjermer"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Lysstyrke"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 0ec9c44631ff..079f59c60e8b 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wifi: één streepje."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wifi: twee streepjes."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wifi: drie streepjes."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signaal is op volledige sterkte."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wifi-signaal is op volledige sterkte."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Geen WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX: één streepje."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX: twee streepjes."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Instellingen"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Tijd"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ik"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Geen netwerk"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi uit"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wifi-display"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Geen wifi-displayverbinding"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Helderheid"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATISCH"</string> </resources> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 09e32e1a7066..86fe22b603fc 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi jeden pasek."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dwa paski."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi trzy paski."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sieć Wi-Fi: pełna moc sygnału."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Pełna moc sygnału Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX: brak"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX: jeden pasek"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX: dwa paski"</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Ustawienia"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Godzina"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ja"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Brak sieci"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi wyłączone"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wyświetlacz Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Brak połączenia z wyświetlaczem Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Jasność"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATYCZNA"</string> </resources> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 5b362a719828..cffccc4fba1b 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Uma barra de Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Duas barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Três barras de Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinal Wi-Fi completo."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Sinal de Wi-Fi completo."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Sem WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Uma barra de WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Duas barras de WiMAX."</string> @@ -168,11 +168,12 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Definições"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Eu"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> + <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Não Ligado"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Sem Rede"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi Desativado"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Visor Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Sem Ligação ao Visor Wi-Fi"</string> + <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi Desligado"</string> + <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"Visualização Wi-Fi"</string> + <string name="quick_settings_wifi_display_no_connection_label" msgid="7834964244709912066">"Sem Ligação de Visualização Wi-Fi"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brilho"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMÁTICO"</string> </resources> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index e2e5cd421bb5..377a6170d12d 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Uma barra de Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Duas barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Três barras de Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinal do Wi-Fi cheio."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"O sinal de Wi-Fi está cheio."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Sem WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Uma barra do WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Duas barras do WiMAX."</string> @@ -158,8 +158,7 @@ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"Carregado"</string> <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string> <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> dispositivos)"</string> - <!-- no translation found for quick_settings_bluetooth_off_label (8159652146149219937) --> - <skip /> + <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desativado"</string> <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Brilho"</string> <string name="quick_settings_rotation_unlocked_label" msgid="336054930362580584">"Girar automaticamente"</string> <string name="quick_settings_rotation_locked_label" msgid="8058646447242565486">"Rotação bloqueada"</string> @@ -171,12 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Configurações"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Eu"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Sem rede"</string> - <!-- no translation found for quick_settings_wifi_off_label (3343111275022978538) --> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> <skip /> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi Display"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Sem conexão Wi-Fi Display"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brilho"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-rm/strings.xml b/packages/SystemUI/res/values-rm/strings.xml index ed3d869fcd16..6dd1f961b5e8 100644 --- a/packages/SystemUI/res/values-rm/strings.xml +++ b/packages/SystemUI/res/values-rm/strings.xml @@ -178,7 +178,7 @@ <skip /> <!-- no translation found for accessibility_wifi_three_bars (928322805193265041) --> <skip /> - <!-- no translation found for accessibility_wifi_signal_full (1275764416228473932) --> + <!-- no translation found for accessibility_wifi_signal_full (4826278754383492058) --> <skip /> <!-- no translation found for accessibility_no_wimax (4329180129727630368) --> <skip /> @@ -306,15 +306,17 @@ <skip /> <!-- no translation found for quick_settings_user_label (5238995632130897840) --> <skip /> - <!-- no translation found for quick_settings_wifi_label (4393429107095001520) --> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> <skip /> <!-- no translation found for quick_settings_wifi_no_network (2221993077220856376) --> <skip /> - <!-- no translation found for quick_settings_wifi_off_label (3343111275022978538) --> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> <skip /> - <!-- no translation found for quick_settings_wifi_display_label (6653501376641018614) --> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> <skip /> - <!-- no translation found for quick_settings_wifi_display_no_connection_label (6255615315258869136) --> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> <skip /> <!-- no translation found for quick_settings_brightness_dialog_title (8599674057673605368) --> <skip /> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index e480b154eba4..71041199faf5 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi o bară."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi două bare."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi trei bare."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Semnal Wi-Fi: complet."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi semnal complet."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Fără WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX o bară."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX două bare."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Setări"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Ora"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Eu"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nicio reţea"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi dezactivat"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Afişaj Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Nu există conexiune pentru afişajul Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Luminozitate"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMAT"</string> </resources> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 333d22187f3f..9c73ff325cf0 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: одно деление."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: два деления."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: три деления."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Надежный сигнал Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Надежный сигнал Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Нет сигнала WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Сигнал WiMAX: одно деление."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Сигнал WiMAX: два деления."</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Настройки"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Время"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Пользователь"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Нет сети"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Модуль Wi-Fi выключен"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Экраны, подключенные через Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Экран не подключен"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Яркость"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АВТОНАСТРОЙКА"</string> </resources> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 32c37c4dcded..ef147772de34 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Jedna čiarka signálu Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dve čiarky signálu Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tri čiarky signálu Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Plný signál siete Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Plný signál Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Žiadna sieť WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Jeden stĺpec signálu siete WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dva stĺpce signálu siete WiMAX."</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nastavenia"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Čas"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ja"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Žiadna sieť"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Sieť Wi-Fi je vypnutá"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Displej cez sieť Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Žiadne pripojenie k displeju cez sieť Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Jas"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATICKY"</string> </resources> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 216b9d4eff34..f91114fac3b4 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Ena vrstica signala Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dve črtici signala Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tri črtice signala Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Signal Wi-Fi poln."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Poln signal Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ni signala WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Signal WiMAX: ena črtica."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Signal WiMAX: dve črtici."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nastavitve"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Čas"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Jaz"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ni omrežja"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi izklopljen"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Zaslon Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Ni povezav z zaslonom Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Svetlost"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"SAMODEJNO"</string> </resources> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index dcaf3bdfdc6c..8903452ca8a2 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi сигнал има једну црту."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi сигнал има две црте."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi сигнал има три црте."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi сигнал је најјачи."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi сигнал је најјачи."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Нема WiMAX сигнала."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX сигнал има једну црту."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX сигнал има две црте."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Подешавања"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Време"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ја"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Нема мреже"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi искључен"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi екран"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Нема везе са Wi-Fi екраном"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Осветљеност"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АУТОМАТСКА"</string> </resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index eb76ad346948..8d7e8c4997e8 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: en stapel."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: två staplar."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: tre staplar."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signalen är full."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi-signalen är full."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ingen WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX: en stapel."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX: två staplar."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Inställningar"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Tid"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Jag"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Inget nätverk"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Inaktivera Wi-Fi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wi-Fi-skärm"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Ingen anslutning till Wi-Fi-skärm"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Ljusstyrka"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index e29a085405d0..cfac6e403356 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -102,7 +102,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Mwambaa mmoja wa Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Miambaa miwili ya Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Miamba tatu ya Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Ishara ya Mtandao hewa imejaa"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Ishara kamili ya Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Hakuna WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Pau moja ya WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Pau mbili za WiMAX."</string> @@ -166,11 +166,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Mipangilio"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Muda"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mimi"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Hakuna Mtandao"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wifi Imezimwa"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Onyesho la Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Hakuna Muunganisho wa Onyesho la Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Ung\'avu"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"KIOTOMATIKI"</string> </resources> diff --git a/packages/SystemUI/res/values-sw380dp/dimens.xml b/packages/SystemUI/res/values-sw380dp/dimens.xml new file mode 100644 index 000000000000..b39e94cd8ee1 --- /dev/null +++ b/packages/SystemUI/res/values-sw380dp/dimens.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2012, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ +--> +<resources> + <!-- The fixed height of each tile --> + <dimen name="quick_settings_cell_height">124dp</dimen> +</resources> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 506c9b2162ea..b43b11168e44 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"สัญญาณ WiFi หนึ่งขีด"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"สัญญาณ WiFi สองขีด"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"สัญญาณ WiFi สามขีด"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"สัญญาณ WiFi เต็ม"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"สัญญาณ WiFi เต็ม"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"ไม่มีสัญญาณ WiMAX"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"สัญญาณ WiMAX หนึ่งขีด"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"สัญญาณ WiMAX สองขีด"</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"การตั้งค่า"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"เวลา"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"ฉัน"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"WiFi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ไม่มีเครือข่าย"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"ปิด WiFi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"การแสดงผลด้วย WiFi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"ไม่มีการเชื่อมต่อการแสดงผลด้วย WiFi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ความสว่าง"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"อัตโนมัติ"</string> </resources> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 7edd45ad78bb..ee710451b042 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Isang bar ang Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dalawang bar ang Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tatlong bar ang Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Puno ang signal ng WiFi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Puno ang signal ng Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Walang WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX na isang bar."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX na dalawang bar."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Mga Setting"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Oras"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ako"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Walang Network"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Naka-off ang Wifi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Wifi Display"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Walang Koneksyon sa Wifi Display"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brightness"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> </resources> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index a2c08a110e89..f063c07feeb4 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Kablosuz gücü tek çubukta."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Kablosuz sinyal gücü iki çubuk."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Kablosuz sinyal gücü üç çubuk."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Kablosuz sinyali tam."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Kablosuz sinyal gücü tam."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX yok."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX tek çubuk."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX iki çubuk."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Ayarlar"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Saat"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Ben"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Kablosuz"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ağ yok"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Kablosuz Kapalı"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Kablosuz Ekran"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Kablosuz Ekran Bağlantısı Yok"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Parlaklık"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"OTOMATİK"</string> </resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index a6cef76e24b3..2890dcc3a102 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Одна смужка сигналу Wi-Fi."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Дві смужки сигналу Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Три смужки сигналу Wi-Fi."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Максимальний сигнал Wi-Fi."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Максимальний сигнал Wi-Fi."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Немає сигналу WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Одна смужка сигналу WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Дві смужки сигналу WiMAX."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Налаштування"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Час"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Я"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Немає мережі"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Wi-Fi вимкнено"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Екран Wi-Fi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Немає з’єднання з екраном Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Яскравість"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АВТО"</string> </resources> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index dcc472ab7ec8..1b4fbfc7e1e9 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi một vạch."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi hai vạch."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi ba vạch."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Tín hiệu WiFi đầy đủ."</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Tín hiệu Wi-Fi đã đầy."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Không có WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX một vạch."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX hai vạch."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Cài đặt"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Thời gian"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Tôi"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wifi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Không có mạng nào"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"Đã tắt Wifi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Màn hình Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Không kết nối màn hình Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Độ sáng"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"TỰ ĐỘNG"</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index ded22f411b51..d69e844a9dc3 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 信号强度为 1 格。"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 信号强度为 2 格。"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 信号强度为 3 格。"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 信号满格。"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 信号强度为满格。"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"无 WiMAX 信号。"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX 信号强度为一格。"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX 信号强度为两格。"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"设置"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"时间"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"我"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"Wi-Fi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"无网络"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"关闭 Wi-Fi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"W-Fi 显示设备"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"没有 Wi-Fi 显示设备连接"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"亮度"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"自动"</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index e1c032c3d711..6248c16a44f4 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 訊號一格。"</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 訊號兩格。"</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 訊號三格。"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 訊號滿格。"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 訊號滿格。"</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"沒有 WiMAX 訊號。"</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX 訊號一格。"</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX 訊號兩格。"</string> @@ -170,11 +170,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"設定"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"時間"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"我"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"WiFi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"沒有網路"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"關閉 WiFi"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"WiFi 顯示裝置"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"未連接 WiFi 顯示裝置"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"亮度"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"自動"</string> </resources> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index b1316bfdc467..989a9e9dfea4 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -104,7 +104,7 @@ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"I-Wi-Fi umugqaa owodwa."</string> <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"I-Wi-Fi imigqaa emibili."</string> <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"I-Wi-Fi imigqaa emithathu."</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"i-signal ye-WiFi igcwele"</string> + <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Uphawu lwe-Wi-Fi igcwele."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"Ayikho i-WiMAX."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Ibha eyodwa ye-WiMAX."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Amabha amabili we-WiMAX."</string> @@ -168,11 +168,17 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Izilungiselelo"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Isikhathi"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mina"</string> - <string name="quick_settings_wifi_label" msgid="4393429107095001520">"I-WiFi"</string> + <!-- no translation found for quick_settings_wifi_label (9135344704899546041) --> + <skip /> + <!-- no translation found for quick_settings_wifi_not_connected (7171904845345573431) --> + <skip /> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ayikho inethiwekhi"</string> - <string name="quick_settings_wifi_off_label" msgid="3343111275022978538">"I-Wifi ivaliwe"</string> - <string name="quick_settings_wifi_display_label" msgid="6653501376641018614">"Ukubuka kwe-Wifi"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="6255615315258869136">"Alukho uxhumo lokubonisa le-Wifi"</string> + <!-- no translation found for quick_settings_wifi_off_label (7558778100843885864) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_label (6893592964463624333) --> + <skip /> + <!-- no translation found for quick_settings_wifi_display_no_connection_label (7834964244709912066) --> + <skip /> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Ukugqama"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"OKUZENZAKALELAYO"</string> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java index 7077018af837..1ee1c41980a4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java @@ -31,6 +31,7 @@ import android.content.IntentFilter; import android.content.Loader; import android.content.res.Resources; import android.database.Cursor; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LevelListDrawable; import android.hardware.display.DisplayManager; @@ -40,6 +41,7 @@ import android.os.Handler; import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; +import android.os.UserManager; import android.provider.ContactsContract; import android.provider.Settings; import android.view.LayoutInflater; @@ -160,6 +162,8 @@ class QuickSettings { } private void queryForUserInformation() { + System.out.println("queryForUserInformation"); + Uri userContactUri = Uri.withAppendedPath( ContactsContract.Profile.CONTENT_URI, ContactsContract.Contacts.Data.CONTENT_DIRECTORY); @@ -184,9 +188,11 @@ class QuickSettings { @Override public void onLoadComplete(Loader<Cursor> loader, Cursor cursor) { + UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); if (cursor != null && cursor.moveToFirst()) { String name = cursor.getString(0); // DISPLAY_NAME - mModel.setUserTileInfo(name, null); + BitmapDrawable d = new BitmapDrawable(userManager.getUserIcon(userManager.getUserHandle())); + mModel.setUserTileInfo(name, d); /* byte[] photoData = cursor.getBlob(0); Bitmap b = @@ -248,10 +254,11 @@ class QuickSettings { @Override public void refreshView(QuickSettingsTileView view, State state) { UserState us = (UserState) state; + ImageView iv = (ImageView) view.findViewById(R.id.user_imageview); TextView tv = (TextView) view.findViewById(R.id.user_textview); tv.setText(state.label); if (us.avatar != null) { - tv.setCompoundDrawables(null, us.avatar, null, null); + iv.setImageDrawable(us.avatar); } } }); @@ -290,6 +297,13 @@ class QuickSettings { startSettingsActivity(android.provider.Settings.ACTION_SETTINGS); } }); + mModel.addSettingsTile(settingsTile, new QuickSettingsModel.RefreshCallback() { + @Override + public void refreshView(QuickSettingsTileView view, State state) { + TextView tv = (TextView) view.findViewById(R.id.settings_tileview); + tv.setText(state.label); + } + }); parent.addView(settingsTile); mDynamicSpannedTiles.add(settingsTile); } @@ -418,6 +432,7 @@ class QuickSettings { public void refreshView(QuickSettingsTileView view, State state) { TextView tv = (TextView) view.findViewById(R.id.airplane_mode_textview); tv.setCompoundDrawablesWithIntrinsicBounds(0, state.iconId, 0, 0); + tv.setText(state.label); } }); parent.addView(airplaneTile); @@ -476,6 +491,7 @@ class QuickSettings { public void refreshView(QuickSettingsTileView view, State state) { TextView tv = (TextView) view.findViewById(R.id.brightness_textview); tv.setCompoundDrawablesWithIntrinsicBounds(0, state.iconId, 0, 0); + tv.setText(state.label); dismissBrightnessDialog(mBrightnessDialogShortTimeout); } }); @@ -614,6 +630,9 @@ class QuickSettings { void updateResources() { Resources r = mContext.getResources(); + // Update the model + mModel.updateResources(); + // Update the User, Time, and Settings tiles spans, and reset everything else int span = r.getInteger(R.integer.quick_settings_user_time_settings_tile_span); for (QuickSettingsTileView v : mDynamicSpannedTiles) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java index 04633bfe5e13..a4caabe4d157 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java @@ -188,6 +188,10 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, private RefreshCallback mBugreportCallback; private State mBugreportState = new State(); + private QuickSettingsTileView mSettingsTile; + private RefreshCallback mSettingsCallback; + private State mSettingsState = new State(); + public QuickSettingsModel(Context context) { mContext = context; mHandler = new Handler(); @@ -201,6 +205,26 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, context.registerReceiver(mAlarmIntentReceiver, alarmIntentFilter); } + void updateResources() { + refreshSettingsTile(); + refreshBatteryTile(); + refreshBluetoothTile(); + refreshBrightnessTile(); + refreshRotationLockTile(); + } + + // Settings + void addSettingsTile(QuickSettingsTileView view, RefreshCallback cb) { + mSettingsTile = view; + mSettingsCallback = cb; + refreshSettingsTile(); + } + void refreshSettingsTile() { + Resources r = mContext.getResources(); + mSettingsState.label = r.getString(R.string.quick_settings_settings_label); + mSettingsCallback.refreshView(mSettingsTile, mSettingsState); + } + // User void addUserTile(QuickSettingsTileView view, RefreshCallback cb) { mUserTile = view; @@ -250,7 +274,9 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, } }); mAirplaneModeCallback = cb; - mAirplaneModeCallback.refreshView(mAirplaneModeTile, mAirplaneModeState); + int airplaneMode = Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.AIRPLANE_MODE_ON, 0); + onAirplaneModeChanged(airplaneMode != 0); } private void setAirplaneModeState(boolean enabled) { // TODO: Sets the view to be "awaiting" if not already awaiting @@ -273,6 +299,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, mAirplaneModeState.iconId = (enabled ? R.drawable.ic_qs_airplane_on : R.drawable.ic_qs_airplane_off); + mAirplaneModeState.label = r.getString(R.string.quick_settings_airplane_mode_label); mAirplaneModeCallback.refreshView(mAirplaneModeTile, mAirplaneModeState); } @@ -307,7 +334,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, Resources r = mContext.getResources(); mWifiState.enabled = enabled; boolean wifiConnected = enabled && (wifiSignalIconId > 0) && (enabledDesc != null); - boolean wifiNotConnected = enabled && (enabledDesc == null); + boolean wifiNotConnected = (wifiSignalIconId > 0) && (enabledDesc == null); if (wifiConnected) { mWifiState.iconId = wifiSignalIconId; mWifiState.label = removeDoubleQuotes(enabledDesc); @@ -377,6 +404,11 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, } mBluetoothCallback.refreshView(mBluetoothTile, mBluetoothState); } + void refreshBluetoothTile() { + if (mBluetoothTile != null) { + onBluetoothStateChange(mBluetoothState.enabled); + } + } // Battery void addBatteryTile(QuickSettingsTileView view, RefreshCallback cb) { @@ -391,6 +423,9 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, mBatteryState.pluggedIn = pluggedIn; mBatteryCallback.refreshView(mBatteryTile, mBatteryState); } + void refreshBatteryTile() { + mBatteryCallback.refreshView(mBatteryTile, mBatteryState); + } // Location void addLocationTile(QuickSettingsTileView view, RefreshCallback cb) { @@ -544,6 +579,11 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, mRotationLockCallback.refreshView(mRotationLockTile, mRotationLockState); } } + void refreshRotationLockTile() { + if (mRotationLockTile != null) { + onRotationLockChanged(); + } + } // Brightness void addBrightnessTile(QuickSettingsTileView view, RefreshCallback cb) { @@ -553,6 +593,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, } @Override public void onBrightnessLevelChanged() { + Resources r = mContext.getResources(); int mode = Settings.System.getInt(mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); @@ -561,7 +602,11 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, mBrightnessState.iconId = mBrightnessState.autoBrightness ? R.drawable.ic_qs_brightness_auto_on : R.drawable.ic_qs_brightness_auto_off; + mBrightnessState.label = r.getString(R.string.quick_settings_brightness_label); mBrightnessCallback.refreshView(mBrightnessTile, mBrightnessState); } + void refreshBrightnessTile() { + onBrightnessLevelChanged(); + } }
\ No newline at end of file diff --git a/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java b/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java index ece09489ad2b..cbbc92cc13a7 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java @@ -40,6 +40,7 @@ import com.android.internal.R; * Displays the time */ public class ClockView extends RelativeLayout { + private static final String ANDROID_CLOCK_FONT_FILE = "/system/fonts/AndroidClock.ttf"; private final static String M12 = "h:mm"; private final static String M24 = "kk:mm"; @@ -153,7 +154,7 @@ public class ClockView extends RelativeLayout { protected void onFinishInflate() { super.onFinishInflate(); mTimeView = (TextView) findViewById(R.id.clock_text); - mTimeView.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL)); + mTimeView.setTypeface(Typeface.createFromFile(ANDROID_CLOCK_FONT_FILE)); mAmPm = new AmPm(this, null); mCalendar = Calendar.getInstance(); setDateFormat(); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java b/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java index a4159d0e69cf..4f2f6bfdefe7 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/FaceUnlock.java @@ -29,6 +29,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.PowerManager; import android.os.RemoteException; import android.util.Log; import android.view.View; @@ -128,6 +129,8 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback { */ public void hide() { if (DEBUG) Log.d(TAG, "hide()"); + // Removes any wakelock messages to make sure they don't cause the screen to turn back on. + mHandler.removeMessages(MSG_POKE_WAKELOCK); // Remove messages to prevent a delayed show message from undo-ing the hide removeDisplayMessages(); mHandler.sendEmptyMessage(MSG_HIDE_FACE_UNLOCK_VIEW); @@ -384,10 +387,14 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback { } /** - * Pokes the wakelock to keep the screen alive and active for a specific amount of time. + * If the screen is on, pokes the wakelock to keep the screen alive and active for a specific + * amount of time. */ void handlePokeWakelock(int millis) { + PowerManager powerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); + if (powerManager.isScreenOn()) { mKeyguardScreenCallback.userActivity(millis); + } } /** diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java index 062c1be85e69..592281086e11 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java @@ -69,6 +69,14 @@ public class KeyguardFaceUnlockView extends LinearLayout implements KeyguardSecu } @Override + public void onDetachedFromWindow() { + if (mBiometricUnlock != null) { + mBiometricUnlock.hide(); + mBiometricUnlock.stop(); + } + } + + @Override public void onPause() { if (mBiometricUnlock != null) { mBiometricUnlock.hide(); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java index 92bc93cca670..4f2545f880b2 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java @@ -122,7 +122,15 @@ public class KeyguardPasswordView extends LinearLayout mPasswordEntry = (EditText) findViewById(R.id.passwordEntry); mPasswordEntry.setOnEditorActionListener(this); - mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false); + mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false, + new int[] { + R.xml.kg_password_kbd_numeric, + com.android.internal.R.xml.password_kbd_qwerty, + com.android.internal.R.xml.password_kbd_qwerty_shifted, + com.android.internal.R.xml.password_kbd_symbols, + com.android.internal.R.xml.password_kbd_symbols_shift + } + ); mKeyboardHelper.setEnableHaptics(mLockPatternUtils.isTactileFeedbackEnabled()); boolean imeOrDeleteButtonVisible = false; diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPatternView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPatternView.java index 780f1179f260..e4b779805afc 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPatternView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPatternView.java @@ -31,7 +31,7 @@ import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.Button; -import android.widget.GridLayout; +import android.widget.LinearLayout; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternView; @@ -40,7 +40,7 @@ import com.android.internal.R; import java.io.IOException; import java.util.List; -public class KeyguardPatternView extends GridLayout implements KeyguardSecurityView { +public class KeyguardPatternView extends LinearLayout implements KeyguardSecurityView { private static final String TAG = "SecurityPatternView"; private static final boolean DEBUG = false; diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPinView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPinView.java index bc5500877f9d..f913519b5e33 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPinView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPinView.java @@ -82,7 +82,14 @@ public class KeyguardSimPinView extends LinearLayout mPinEntry.setOnEditorActionListener(this); mKeyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard); - mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false); + mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false, + new int[] { + R.xml.kg_password_kbd_numeric, + com.android.internal.R.xml.password_kbd_qwerty, + com.android.internal.R.xml.password_kbd_qwerty_shifted, + com.android.internal.R.xml.password_kbd_symbols, + com.android.internal.R.xml.password_kbd_symbols_shift + }); mKeyboardHelper.setKeyboardMode(PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC); mKeyboardHelper.setEnableHaptics(mLockPatternUtils.isTactileFeedbackEnabled()); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPukView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPukView.java index e04bff975901..d4bed2552f22 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPukView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSimPukView.java @@ -96,7 +96,14 @@ public class KeyguardSimPukView extends LinearLayout implements View.OnClickList mDelPinButton.setOnClickListener(this); mKeyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard); - mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false); + mKeyboardHelper = new PasswordEntryKeyboardHelper(mContext, mKeyboardView, this, false, + new int[] { + R.xml.kg_password_kbd_numeric, + com.android.internal.R.xml.password_kbd_qwerty, + com.android.internal.R.xml.password_kbd_qwerty_shifted, + com.android.internal.R.xml.password_kbd_symbols, + com.android.internal.R.xml.password_kbd_symbols_shift + }); mKeyboardHelper.setKeyboardMode(PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC); mKeyboardHelper.setEnableHaptics(mLockPatternUtils.isTactileFeedbackEnabled()); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusViewManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusViewManager.java index b30913acb28a..701017d9b6ca 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusViewManager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusViewManager.java @@ -102,7 +102,8 @@ class KeyguardStatusViewManager { public KeyguardStatusViewManager(View view) { if (DEBUG) Log.v(TAG, "KeyguardStatusViewManager()"); mContainer = view; - mDateFormatString = getContext().getResources().getText(R.string.keyguard_wday_day_month); + mDateFormatString = getContext().getResources().getText( + com.android.internal.R.string.abbrev_wday_month_day_no_year); mLockPatternUtils = new LockPatternUtils(view.getContext()); mUpdateMonitor = KeyguardUpdateMonitor.getInstance(view.getContext()); @@ -113,7 +114,7 @@ class KeyguardStatusViewManager { mClockView = (ClockView) view.findViewById(R.id.clock_view); // Use custom font in mDateView - mDateView.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL)); + mDateView.setTypeface(Typeface.SANS_SERIF); // Required to get Marquee to work. final View marqueeViews[] = { mDateView, mStatus1View, mOwnerInfoView, mAlarmStatusView }; @@ -183,6 +184,7 @@ class KeyguardStatusViewManager { Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED, 1, UserHandle.USER_CURRENT) != 0; String text = Settings.Secure.getStringForUser(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO, UserHandle.USER_CURRENT); + text = text != null ? text.trim() : null; // Remove trailing newlines if (ownerInfoEnabled && !TextUtils.isEmpty(text)) { maybeSetUpperCaseText(mOwnerInfoView, text); mOwnerInfoView.setVisibility(View.VISIBLE); @@ -228,8 +230,7 @@ class KeyguardStatusViewManager { } private void maybeSetUpperCaseText(TextView textView, CharSequence text) { - if (KeyguardViewManager.USE_UPPER_CASE - && (textView == mDateView)) { // currently only required for date view + if (KeyguardViewManager.USE_UPPER_CASE) { // currently only required for date view textView.setText(text != null ? text.toString().toUpperCase() : null); } else { textView.setText(text); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java index 14e4b672a425..ebdb116eaccf 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java @@ -46,7 +46,7 @@ import com.android.internal.R; public class KeyguardViewManager { private final static boolean DEBUG = false; private static String TAG = "KeyguardViewManager"; - public static boolean USE_UPPER_CASE = false; + public static boolean USE_UPPER_CASE = true; private final Context mContext; private final ViewManager mViewManager; diff --git a/services/java/com/android/server/AppWidgetServiceImpl.java b/services/java/com/android/server/AppWidgetServiceImpl.java index 8ec67c401b20..e77f8cf24bcc 100644 --- a/services/java/com/android/server/AppWidgetServiceImpl.java +++ b/services/java/com/android/server/AppWidgetServiceImpl.java @@ -534,6 +534,7 @@ class AppWidgetServiceImpl { final long ident = Binder.clearCallingIdentity(); try { synchronized (mAppWidgetIds) { + options = cloneIfLocalBinder(options); ensureStateLoadedLocked(); AppWidgetId id = lookupAppWidgetIdLocked(appWidgetId); if (id == null) { @@ -817,7 +818,7 @@ class AppWidgetServiceImpl { ensureStateLoadedLocked(); AppWidgetId id = lookupAppWidgetIdLocked(appWidgetId); if (id != null && id.provider != null && !id.provider.zombie) { - return id.provider.info; + return cloneIfLocalBinder(id.provider.info); } return null; } @@ -828,7 +829,7 @@ class AppWidgetServiceImpl { ensureStateLoadedLocked(); AppWidgetId id = lookupAppWidgetIdLocked(appWidgetId); if (id != null) { - return id.views; + return cloneIfLocalBinder(id.views); } return null; } @@ -842,7 +843,7 @@ class AppWidgetServiceImpl { for (int i = 0; i < N; i++) { Provider p = mInstalledProviders.get(i); if (!p.zombie) { - result.add(p.info); + result.add(cloneIfLocalBinder(p.info)); } } return result; @@ -881,6 +882,7 @@ class AppWidgetServiceImpl { public void updateAppWidgetOptions(int appWidgetId, Bundle options) { synchronized (mAppWidgetIds) { + options = cloneIfLocalBinder(options); ensureStateLoadedLocked(); AppWidgetId id = lookupAppWidgetIdLocked(appWidgetId); @@ -907,7 +909,7 @@ class AppWidgetServiceImpl { ensureStateLoadedLocked(); AppWidgetId id = lookupAppWidgetIdLocked(appWidgetId); if (id != null && id.options != null) { - return id.options; + return cloneIfLocalBinder(id.options); } else { return Bundle.EMPTY; } @@ -1062,6 +1064,34 @@ class AppWidgetServiceImpl { } } + private boolean isLocalBinder() { + return Process.myPid() == Binder.getCallingPid(); + } + + private RemoteViews cloneIfLocalBinder(RemoteViews rv) { + if (isLocalBinder() && rv != null) { + return rv.clone(); + } + return rv; + } + + private AppWidgetProviderInfo cloneIfLocalBinder(AppWidgetProviderInfo info) { + if (isLocalBinder() && info != null) { + return info.clone(); + } + return info; + } + + private Bundle cloneIfLocalBinder(Bundle bundle) { + // Note: this is only a shallow copy. For now this will be fine, but it could be problematic + // if we start adding objects to the options. Further, it would only be an issue if keyguard + // used such options. + if (isLocalBinder() && bundle != null) { + return (Bundle) bundle.clone(); + } + return bundle; + } + public int[] startListening(IAppWidgetHost callbacks, String packageName, int hostId, List<RemoteViews> updatedViews) { int callingUid = enforceCallingUid(packageName); @@ -1078,7 +1108,7 @@ class AppWidgetServiceImpl { for (int i = 0; i < N; i++) { AppWidgetId id = instances.get(i); updatedIds[i] = id.appWidgetId; - updatedViews.add(id.views); + updatedViews.add(cloneIfLocalBinder(id.views)); } return updatedIds; } diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java index 15fc479aa58c..9f01ecae36b6 100644 --- a/services/java/com/android/server/BackupManagerService.java +++ b/services/java/com/android/server/BackupManagerService.java @@ -2451,6 +2451,21 @@ class BackupManagerService extends IBackupManager.Stub { } } + // Cull any packages that run as system-domain uids but do not define their + // own backup agents + for (int i = 0; i < packagesToBackup.size(); ) { + PackageInfo pkg = packagesToBackup.get(i); + if ((pkg.applicationInfo.uid < Process.FIRST_APPLICATION_UID) + && (pkg.applicationInfo.backupAgentName == null)) { + if (MORE_DEBUG) { + Slog.i(TAG, "... ignoring non-agent system package " + pkg.packageName); + } + packagesToBackup.remove(i); + } else { + i++; + } + } + FileOutputStream ofstream = new FileOutputStream(mOutputFile.getFileDescriptor()); OutputStream out = null; @@ -3669,29 +3684,37 @@ class BackupManagerService extends IBackupManager.Stub { // Fall through to IGNORE if the app explicitly disallows backup final int flags = pkgInfo.applicationInfo.flags; if ((flags & ApplicationInfo.FLAG_ALLOW_BACKUP) != 0) { - // Verify signatures against any installed version; if they - // don't match, then we fall though and ignore the data. The - // signatureMatch() method explicitly ignores the signature - // check for packages installed on the system partition, because - // such packages are signed with the platform cert instead of - // the app developer's cert, so they're different on every - // device. - if (signaturesMatch(sigs, pkgInfo)) { - if (pkgInfo.versionCode >= version) { - Slog.i(TAG, "Sig + version match; taking data"); - policy = RestorePolicy.ACCEPT; + // Restore system-uid-space packages only if they have + // defined a custom backup agent + if ((pkgInfo.applicationInfo.uid >= Process.FIRST_APPLICATION_UID) + || (pkgInfo.applicationInfo.backupAgentName != null)) { + // Verify signatures against any installed version; if they + // don't match, then we fall though and ignore the data. The + // signatureMatch() method explicitly ignores the signature + // check for packages installed on the system partition, because + // such packages are signed with the platform cert instead of + // the app developer's cert, so they're different on every + // device. + if (signaturesMatch(sigs, pkgInfo)) { + if (pkgInfo.versionCode >= version) { + Slog.i(TAG, "Sig + version match; taking data"); + policy = RestorePolicy.ACCEPT; + } else { + // The data is from a newer version of the app than + // is presently installed. That means we can only + // use it if the matching apk is also supplied. + Slog.d(TAG, "Data version " + version + + " is newer than installed version " + + pkgInfo.versionCode + " - requiring apk"); + policy = RestorePolicy.ACCEPT_IF_APK; + } } else { - // The data is from a newer version of the app than - // is presently installed. That means we can only - // use it if the matching apk is also supplied. - Slog.d(TAG, "Data version " + version - + " is newer than installed version " - + pkgInfo.versionCode + " - requiring apk"); - policy = RestorePolicy.ACCEPT_IF_APK; + Slog.w(TAG, "Restore manifest signatures do not match " + + "installed application for " + info.packageName); } } else { - Slog.w(TAG, "Restore manifest signatures do not match " - + "installed application for " + info.packageName); + Slog.w(TAG, "Package " + info.packageName + + " is system level with no agent"); } } else { if (DEBUG) Slog.i(TAG, "Restore manifest from " |