diff options
Diffstat (limited to 'packages')
102 files changed, 737 insertions, 232 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java index 2da3b27..1c6dc2c 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -648,7 +648,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { @Override public void onUserSwitchComplete(int newUserId) throws RemoteException { mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_SWITCH_COMPLETE, - newUserId)); + newUserId, 0)); mSwitchingUser = false; } }); diff --git a/packages/PrintSpooler/res/layout/print_activity.xml b/packages/PrintSpooler/res/layout/print_activity.xml index 761d58a..30b9629 100644 --- a/packages/PrintSpooler/res/layout/print_activity.xml +++ b/packages/PrintSpooler/res/layout/print_activity.xml @@ -33,7 +33,7 @@ <Spinner android:id="@+id/destination_spinner" - android:layout_width="wrap_content" + android:layout_width="@dimen/preview_destination_spinner_width" android:layout_height="wrap_content" android:layout_marginTop="4dip" android:dropDownWidth="wrap_content" diff --git a/packages/PrintSpooler/res/values-sw600dp-land/constants.xml b/packages/PrintSpooler/res/values-sw600dp-land/constants.xml index f60d8e4..f7f8a18 100644 --- a/packages/PrintSpooler/res/values-sw600dp-land/constants.xml +++ b/packages/PrintSpooler/res/values-sw600dp-land/constants.xml @@ -17,6 +17,9 @@ <resources> <integer name="print_option_column_count">6</integer> + <integer name="preview_page_per_row_count">4</integer> + <dimen name="preview_destination_spinner_width">256dip</dimen> + </resources> diff --git a/packages/PrintSpooler/res/values/constants.xml b/packages/PrintSpooler/res/values/constants.xml index b4e4777..357d3e1 100644 --- a/packages/PrintSpooler/res/values/constants.xml +++ b/packages/PrintSpooler/res/values/constants.xml @@ -45,4 +45,6 @@ <dimen name="preview_page_footer_height">32dip</dimen> <dimen name="preview_page_min_width">128dip</dimen> + <dimen name="preview_destination_spinner_width">192dip</dimen> + </resources> diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java index bdbfdd9..a581e8a 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java @@ -29,6 +29,8 @@ import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.print.PrintAttributes; +import android.print.PrintAttributes.MediaSize; +import android.print.PrintAttributes.Margins; import android.print.PrintDocumentInfo; import android.util.ArrayMap; import android.util.Log; @@ -352,13 +354,14 @@ public final class PageContentRepository { public static final class RenderSpec { final int bitmapWidth; final int bitmapHeight; - final PrintAttributes printAttributes; + final PrintAttributes printAttributes = new PrintAttributes.Builder().build(); public RenderSpec(int bitmapWidth, int bitmapHeight, - PrintAttributes printAttributes) { + MediaSize mediaSize, Margins minMargins) { this.bitmapWidth = bitmapWidth; this.bitmapHeight = bitmapHeight; - this.printAttributes = printAttributes; + printAttributes.setMediaSize(mediaSize); + printAttributes.setMinMargins(minMargins); } @Override @@ -449,6 +452,8 @@ public final class PageContentRepository { @GuardedBy("mLock") private IPdfRenderer mRenderer; + private boolean mBoundToService; + public AsyncRenderer(Context context, OnMalformedPdfFileListener malformedPdfFileListener) { mContext = context; mOnMalformedPdfFileListener = malformedPdfFileListener; @@ -461,6 +466,7 @@ public final class PageContentRepository { @Override public void onServiceConnected(ComponentName name, IBinder service) { + mBoundToService = true; synchronized (mLock) { mRenderer = IPdfRenderer.Stub.asInterface(service); mLock.notifyAll(); @@ -503,6 +509,10 @@ public final class PageContentRepository { } catch (RemoteException re) { Log.e(LOG_TAG, "Cannot open PDF document"); return MALFORMED_PDF_FILE_ERROR; + } finally { + // Close the fd as we passed it to another process + // which took ownership. + IoUtils.closeQuietly(source); } } } @@ -557,7 +567,10 @@ public final class PageContentRepository { @Override public void onPostExecute(Void result) { - mContext.unbindService(AsyncRenderer.this); + if (mBoundToService) { + mBoundToService = false; + mContext.unbindService(AsyncRenderer.this); + } mPageContentCache.invalidate(); mPageContentCache.clear(); } diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java index d1aa33b..09e8b39 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java @@ -55,7 +55,7 @@ import java.util.Arrays; public final class RemotePrintDocument { private static final String LOG_TAG = "RemotePrintDocument"; - private static final boolean DEBUG = true; + private static final boolean DEBUG = false; private static final int STATE_INITIAL = 0; private static final int STATE_STARTED = 1; diff --git a/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfRendererService.java b/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfRendererService.java index 0d57d5c..4d02c01 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfRendererService.java +++ b/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfRendererService.java @@ -20,6 +20,7 @@ import android.app.Service; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; +import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Rect; import android.graphics.pdf.PdfRenderer; @@ -167,11 +168,13 @@ public final class PdfRendererService extends Service { private Bitmap getBitmapForSize(int width, int height) { if (mBitmap != null) { if (mBitmap.getWidth() == width && mBitmap.getHeight() == height) { + mBitmap.eraseColor(Color.WHITE); return mBitmap; } mBitmap.recycle(); } mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + mBitmap.eraseColor(Color.WHITE); return mBitmap; } diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java index ddf637e..2b5b41b 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java @@ -24,6 +24,7 @@ import android.print.PageRange; import android.print.PrintAttributes.MediaSize; import android.print.PrintAttributes.Margins; import android.print.PrintDocumentInfo; +import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.OrientationHelper; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; @@ -51,7 +52,7 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba private final MyHandler mHandler; private final PageAdapter mPageAdapter; - private final StaggeredGridLayoutManager mLayoutManger; + private final GridLayoutManager mLayoutManger; private final PrintOptionsLayout mPrintOptionsLayout; private final RecyclerView mRecyclerView; @@ -73,7 +74,7 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba final int columnCount = mActivity.getResources().getInteger( R.integer.preview_page_per_row_count); - mLayoutManger = new StaggeredGridLayoutManager(columnCount, OrientationHelper.VERTICAL); + mLayoutManger = new GridLayoutManager(mActivity, columnCount); mRecyclerView = (RecyclerView) activity.findViewById(R.id.preview_content); mRecyclerView.setLayoutManager(mLayoutManger); diff --git a/packages/PrintSpooler/src/com/android/printspooler/widget/PageContentView.java b/packages/PrintSpooler/src/com/android/printspooler/widget/PageContentView.java index cd97902..23a01bd 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/widget/PageContentView.java +++ b/packages/PrintSpooler/src/com/android/printspooler/widget/PageContentView.java @@ -20,7 +20,6 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; -import android.print.PrintAttributes; import android.print.PrintAttributes.MediaSize; import android.print.PrintAttributes.Margins; import android.util.AttributeSet; @@ -39,14 +38,18 @@ import com.android.printspooler.model.PageContentRepository.RenderSpec; public class PageContentView extends View implements PageContentRepository.OnPageContentAvailableCallback { - private final PrintAttributes mAttributes = new PrintAttributes.Builder().build(); - private final ColorDrawable mEmptyState; private PageContentProvider mProvider; + private MediaSize mMediaSize; + + private Margins mMinMargins; + private boolean mContentRequested; + private boolean mNeedsLayout; + public PageContentView(Context context, AttributeSet attrs) { super(context, attrs); @@ -68,6 +71,7 @@ public class PageContentView extends View @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); + mNeedsLayout = false; requestPageContentIfNeeded(); } @@ -82,18 +86,23 @@ public class PageContentView extends View } public void init(PageContentProvider provider, MediaSize mediaSize, Margins minMargins) { - if (mProvider == null ? provider == null : mProvider.equals(provider) - && ((mAttributes.getMediaSize() == null) - ? mediaSize == null : mAttributes.getMediaSize().equals(mediaSize)) - && ((mAttributes.getMinMargins() == null) - ? minMargins == null : mAttributes.getMinMargins().equals(minMargins))) { + final boolean providerChanged = (mProvider == null) + ? provider != null : !mProvider.equals(provider); + final boolean mediaSizeChanged = (mMediaSize == null) + ? mediaSize != null : !mMediaSize.equals(mediaSize); + final boolean marginsChanged = (mMinMargins == null) + ? minMargins != null : !mMinMargins.equals(minMargins); + + if (!providerChanged && !mediaSizeChanged && !marginsChanged) { return; } mProvider = provider; - mAttributes.setMediaSize(mediaSize); - mAttributes.setMinMargins(minMargins); + mMediaSize = mediaSize; + mMinMargins = minMargins; + mContentRequested = false; + mNeedsLayout = mNeedsLayout || mediaSizeChanged || marginsChanged; // If there is no provider we want immediately to switch to // the empty state, so pages with no content appear blank. @@ -105,9 +114,11 @@ public class PageContentView extends View } private void requestPageContentIfNeeded() { - if (getWidth() > 0 && getHeight() > 0 && !mContentRequested && mProvider != null) { + if (getWidth() > 0 && getHeight() > 0 && !mContentRequested + && mProvider != null && !mNeedsLayout) { mContentRequested = true; - mProvider.getPageContent(new RenderSpec(getWidth(), getHeight(), mAttributes), this); + mProvider.getPageContent(new RenderSpec(getWidth(), getHeight(), + mMediaSize, mMinMargins), this); } } } diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_more.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_more.png Binary files differdeleted file mode 100644 index 2fa0293..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_notify_more.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_device_access_location_found.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_device_access_location_found.png Binary files differdeleted file mode 100644 index d43d1dc..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_device_access_location_found.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index dcf86c0..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 5171333..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 1b45762..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index fcbfac1..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 4555731..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_notify_more.png b/packages/SystemUI/res/drawable-mdpi/stat_notify_more.png Binary files differdeleted file mode 100644 index d7a48f2..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_notify_more.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_device_access_location_found.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_device_access_location_found.png Binary files differdeleted file mode 100644 index 61d7511..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_device_access_location_found.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 14d1060..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png b/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png Binary files differdeleted file mode 100644 index 64327ba..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_device_access_location_found.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_device_access_location_found.png Binary files differdeleted file mode 100644 index 192d3f7..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_device_access_location_found.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 95c217c..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_notify_more.png b/packages/SystemUI/res/drawable-xxhdpi/stat_notify_more.png Binary files differdeleted file mode 100644 index 3c33a56..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_notify_more.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_device_access_location_found.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_device_access_location_found.png Binary files differdeleted file mode 100644 index 1e5f15f..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_device_access_location_found.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_signal_flightmode.png Binary files differdeleted file mode 100644 index 155c222..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_signal_flightmode.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable/ic_info.xml b/packages/SystemUI/res/drawable/ic_info.xml new file mode 100644 index 0000000..65e7bf5 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_info.xml @@ -0,0 +1,24 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24.0dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M12.000000,2.000000C6.500000,2.000000 2.000000,6.500000 2.000000,12.000000s4.500000,10.000000 10.000000,10.000000c5.500000,0.000000 10.000000,-4.500000 10.000000,-10.000000S17.500000,2.000000 12.000000,2.000000zM13.000000,17.000000l-2.000000,0.000000l0.000000,-6.000000l2.000000,0.000000L13.000000,17.000000zM13.000000,9.000000l-2.000000,0.000000L11.000000,7.000000l2.000000,0.000000L13.000000,9.000000z" + android:fillColor="#FFFFFF"/> +</vector> diff --git a/packages/SystemUI/res/drawable/stat_sys_no_sim.xml b/packages/SystemUI/res/drawable/ic_qs_no_sim.xml index 22d1d4b..bd46012 100644 --- a/packages/SystemUI/res/drawable/stat_sys_no_sim.xml +++ b/packages/SystemUI/res/drawable/ic_qs_no_sim.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="18dp" - android:height="18dp" + android:width="32dp" + android:height="32dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/packages/SystemUI/res/drawable/stat_notify_more.xml b/packages/SystemUI/res/drawable/stat_notify_more.xml new file mode 100644 index 0000000..50f1286 --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_notify_more.xml @@ -0,0 +1,24 @@ +<!-- + ~ Copyright (C) 2014 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="16dp" + android:height="16dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M22.000000,3.000000L7.000000,3.000000C6.300000,3.000000 5.800000,3.400000 5.400000,3.900000L0.000000,12.000000l5.400000,8.100000c0.400000,0.500000 1.000000,0.900000 1.700000,0.900000L22.000000,21.000000c1.100000,0.000000 2.000000,-0.900000 2.000000,-2.000000L24.000000,5.000000C24.000000,3.900000 23.100000,3.000000 22.000000,3.000000zM9.000000,13.500000c-0.800000,0.000000 -1.500000,-0.700000 -1.500000,-1.500000s0.700000,-1.500000 1.500000,-1.500000c0.800000,0.000000 1.500000,0.700000 1.500000,1.500000S9.800000,13.500000 9.000000,13.500000zM14.000000,13.500000c-0.800000,0.000000 -1.500000,-0.700000 -1.500000,-1.500000s0.700000,-1.500000 1.500000,-1.500000c0.800000,0.000000 1.500000,0.700000 1.500000,1.500000S14.800000,13.500000 14.000000,13.500000zM19.000000,13.500000c-0.800000,0.000000 -1.500000,-0.700000 -1.500000,-1.500000s0.700000,-1.500000 1.500000,-1.500000c0.800000,0.000000 1.500000,0.700000 1.500000,1.500000S19.799999,13.500000 19.000000,13.500000z" + android:fillColor="#FFFFFFFF"/> +</vector> diff --git a/packages/SystemUI/res/drawable/stat_sys_airplane_mode.xml b/packages/SystemUI/res/drawable/stat_sys_airplane_mode.xml new file mode 100644 index 0000000..433da5f --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_sys_airplane_mode.xml @@ -0,0 +1,28 @@ +<!-- + ~ Copyright (C) 2014 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="17.25dp" + android:height="18dp" + android:viewportWidth="46.0" + android:viewportHeight="48.0"> + + <path + android:fillColor="#FFFFFFFF" + android:pathData="M20.4,18.0"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M42.0,32.0l0.0,-4.0L26.0,18.0L26.0,7.0c0.0,-1.7 -1.3,-3.0 -3.0,-3.0c-1.7,0.0 -3.0,1.3 -3.0,3.0l0.0,11.0L4.0,28.0l0.0,4.0l16.0,-5.0l0.0,11.0l-4.0,3.0l0.0,3.0l7.0,-2.0l7.0,2.0l0.0,-3.0l-4.0,-3.0L26.0,27.0L42.0,32.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/stat_sys_alarm.xml b/packages/SystemUI/res/drawable/stat_sys_alarm.xml index 3b2bc31..5754569 100644 --- a/packages/SystemUI/res/drawable/stat_sys_alarm.xml +++ b/packages/SystemUI/res/drawable/stat_sys_alarm.xml @@ -13,13 +13,17 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="18dp" - android:height="18dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="2.5dp" + android:insetRight="2.5dp"> + <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="22dp" + android:height="17dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> - <path - android:fillColor="#ffffffff" - android:pathData="M22.0,5.7l-4.6,-3.9l-1.3,1.5l4.6,3.9L22.0,5.7zM7.9,3.4L6.6,1.9L2.0,5.7l1.3,1.5L7.9,3.4zM12.5,8.0L11.0,8.0l0.0,6.0l4.7,2.9l0.8,-1.2l-4.0,-2.4L12.5,8.0zM12.0,4.0c-5.0,0.0 -9.0,4.0 -9.0,9.0c0.0,5.0 4.0,9.0 9.0,9.0s9.0,-4.0 9.0,-9.0C21.0,8.0 17.0,4.0 12.0,4.0zM12.0,20.0c-3.9,0.0 -7.0,-3.1 -7.0,-7.0c0.0,-3.9 3.1,-7.0 7.0,-7.0c3.9,0.0 7.0,3.1 7.0,7.0C19.0,16.9 15.9,20.0 12.0,20.0z"/> -</vector> + <path + android:fillColor="#ffffffff" + android:pathData="M22.0,5.7l-4.6,-3.9l-1.3,1.5l4.6,3.9L22.0,5.7zM7.9,3.4L6.6,1.9L2.0,5.7l1.3,1.5L7.9,3.4zM12.5,8.0L11.0,8.0l0.0,6.0l4.7,2.9l0.8,-1.2l-4.0,-2.4L12.5,8.0zM12.0,4.0c-5.0,0.0 -9.0,4.0 -9.0,9.0c0.0,5.0 4.0,9.0 9.0,9.0s9.0,-4.0 9.0,-9.0C21.0,8.0 17.0,4.0 12.0,4.0zM12.0,20.0c-3.9,0.0 -7.0,-3.1 -7.0,-7.0c0.0,-3.9 3.1,-7.0 7.0,-7.0c3.9,0.0 7.0,3.1 7.0,7.0C19.0,16.9 15.9,20.0 12.0,20.0z"/> + </vector> +</inset>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/stat_sys_cast.xml b/packages/SystemUI/res/drawable/stat_sys_cast.xml index c9e65e0..df28638 100644 --- a/packages/SystemUI/res/drawable/stat_sys_cast.xml +++ b/packages/SystemUI/res/drawable/stat_sys_cast.xml @@ -13,13 +13,16 @@ Copyright (C) 2014 The Android Open Source Project See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="18dp" - android:height="18dp" - android:viewportWidth="48.0" - android:viewportHeight="48.0"> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="2.5dp" + android:insetRight="2.5dp"> + <vector android:width="22dp" + android:height="17dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0"> - <path - android:fillColor="#FFFFFFFF" - android:pathData="M2.0,36.0l0.0,6.0l6.0,0.0C8.0,38.7 5.3,36.0 2.0,36.0zM2.0,28.0l0.0,4.0c5.5,0.0 10.0,4.5 10.0,10.0l4.0,0.0C16.0,34.3 9.7,28.0 2.0,28.0zM38.0,14.0L10.0,14.0l0.0,3.3c7.9,2.6 14.2,8.8 16.7,16.7L38.0,34.0L38.0,14.0zM2.0,20.0l0.0,4.0c9.9,0.0 18.0,8.1 18.0,18.0l4.0,0.0C24.0,29.8 14.1,20.0 2.0,20.0zM42.0,6.0L6.0,6.0c-2.2,0.0 -4.0,1.8 -4.0,4.0l0.0,6.0l4.0,0.0l0.0,-6.0l36.0,0.0l0.0,28.0L28.0,38.0l0.0,4.0l14.0,0.0c2.2,0.0 4.0,-1.8 4.0,-4.0L46.0,10.0C46.0,7.8 44.2,6.0 42.0,6.0z"/> -</vector> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M2.0,36.0l0.0,6.0l6.0,0.0C8.0,38.7 5.3,36.0 2.0,36.0zM2.0,28.0l0.0,4.0c5.5,0.0 10.0,4.5 10.0,10.0l4.0,0.0C16.0,34.3 9.7,28.0 2.0,28.0zM38.0,14.0L10.0,14.0l0.0,3.3c7.9,2.6 14.2,8.8 16.7,16.7L38.0,34.0L38.0,14.0zM2.0,20.0l0.0,4.0c9.9,0.0 18.0,8.1 18.0,18.0l4.0,0.0C24.0,29.8 14.1,20.0 2.0,20.0zM42.0,6.0L6.0,6.0c-2.2,0.0 -4.0,1.8 -4.0,4.0l0.0,6.0l4.0,0.0l0.0,-6.0l36.0,0.0l0.0,28.0L28.0,38.0l0.0,4.0l14.0,0.0c2.2,0.0 4.0,-1.8 4.0,-4.0L46.0,10.0C46.0,7.8 44.2,6.0 42.0,6.0z"/> + </vector> +</inset> diff --git a/packages/SystemUI/res/drawable/stat_sys_data_bluetooth.xml b/packages/SystemUI/res/drawable/stat_sys_data_bluetooth.xml index f53f0e4..e2d3539 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_bluetooth.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_bluetooth.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="48.0" android:viewportHeight="48.0"> diff --git a/packages/SystemUI/res/drawable/stat_sys_data_bluetooth_connected.xml b/packages/SystemUI/res/drawable/stat_sys_data_bluetooth_connected.xml index 2aac4ee..94c40ba 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_bluetooth_connected.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_bluetooth_connected.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="48.0" android:viewportHeight="48.0"> diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_1x.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_1x.xml index 26d2632..d7463a4 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_1x.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_1x.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="9.0dp" - android:height="18dp" + android:width="8.5dp" + android:height="17dp" android:viewportWidth="12.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_3g.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_3g.xml index 5aaf93b..6309b6d 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_3g.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_3g.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="9.75dp" - android:height="18dp" + android:width="9.208dp" + android:height="17dp" android:viewportWidth="13.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g.xml index b7d84f0..4067ae5 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="9.0dp" - android:height="18dp" + android:width="8.5dp" + android:height="17dp" android:viewportWidth="12.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_e.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_e.xml index 7111457..acaa9b1 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_e.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_e.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="3.75dp" - android:height="18dp" + android:width="3.541dp" + android:height="17dp" android:viewportWidth="5.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_g.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_g.xml index 97962b2..7985237 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_g.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_g.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="5.25dp" - android:height="18dp" + android:width="4.958dp" + android:height="17dp" android:viewportWidth="7.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_h.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_h.xml index 4859c14..fda8761 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_h.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_h.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="4.5dp" - android:height="18dp" + android:width="4.25dp" + android:height="17dp" android:viewportWidth="6.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_lte.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_lte.xml index d6446db..c08ff20 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_lte.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_lte.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="9.75dp" - android:height="18dp" + android:width="9.208dp" + android:height="17dp" android:viewportWidth="13.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_roam.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_roam.xml index 7f7d5fc..363e231 100644 --- a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_roam.xml +++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_roam.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="4.5dp" - android:height="18dp" + android:width="4.25dp" + android:height="17dp" android:viewportWidth="6.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_location.xml b/packages/SystemUI/res/drawable/stat_sys_location.xml new file mode 100644 index 0000000..433f73b --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_sys_location.xml @@ -0,0 +1,29 @@ +<!-- + ~ Copyright (C) 2014 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 + --> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="1.5dp" + android:insetRight="1.5dp"> + <vector + android:width="20dp" + android:height="17dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0"> + + <path + android:fillColor="#FFFFFFFF" + android:pathData="M24.0,4.0c-7.7,0.0 -14.0,6.3 -14.0,14.0c0.0,10.5 14.0,26.0 14.0,26.0s14.0,-15.5 14.0,-26.0C38.0,10.3 31.7,4.0 24.0,4.0zM24.0,23.0c-2.8,0.0 -5.0,-2.2 -5.0,-5.0s2.2,-5.0 5.0,-5.0c2.8,0.0 5.0,2.2 5.0,5.0S26.8,23.0 24.0,23.0z"/> + </vector> +</inset>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml b/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml index 352d86f..f017d58 100644 --- a/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml +++ b/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml @@ -13,13 +13,16 @@ Copyright (C) 2014 The Android Open Source Project See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="20dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="3dp" + android:insetRight="3dp"> + <vector android:width="24dp" + android:height="18dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> - <path - android:fillColor="#FFFFFFFF" - android:pathData="M0.0,15.0l2.0,0.0L2.0,9.0L0.0,9.0L0.0,15.0zM3.0,17.0l2.0,0.0L5.0,7.0L3.0,7.0L3.0,17.0zM22.0,9.0l0.0,6.0l2.0,0.0L24.0,9.0L22.0,9.0zM19.0,17.0l2.0,0.0L21.0,7.0l-2.0,0.0L19.0,17.0zM16.5,3.0l-9.0,0.0C6.7,3.0 6.0,3.7 6.0,4.5l0.0,15.0C6.0,20.3 6.7,21.0 7.5,21.0l9.0,0.0c0.8,0.0 1.5,-0.7 1.5,-1.5l0.0,-15.0C18.0,3.7 17.3,3.0 16.5,3.0zM16.0,19.0L8.0,19.0L8.0,5.0l8.0,0.0L16.0,19.0z"/> -</vector> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M0.0,15.0l2.0,0.0L2.0,9.0L0.0,9.0L0.0,15.0zM3.0,17.0l2.0,0.0L5.0,7.0L3.0,7.0L3.0,17.0zM22.0,9.0l0.0,6.0l2.0,0.0L24.0,9.0L22.0,9.0zM19.0,17.0l2.0,0.0L21.0,7.0l-2.0,0.0L19.0,17.0zM16.5,3.0l-9.0,0.0C6.7,3.0 6.0,3.7 6.0,4.5l0.0,15.0C6.0,20.3 6.7,21.0 7.5,21.0l9.0,0.0c0.8,0.0 1.5,-0.7 1.5,-1.5l0.0,-15.0C18.0,3.7 17.3,3.0 16.5,3.0zM16.0,19.0L8.0,19.0L8.0,5.0l8.0,0.0L16.0,19.0z"/> + </vector> +</inset>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_0.xml b/packages/SystemUI/res/drawable/stat_sys_signal_0.xml index 67d9259..e1e81fd 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_0.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_0.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_0_fully.xml b/packages/SystemUI/res/drawable/stat_sys_signal_0_fully.xml index 3bbb800..c0dfcf4 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_0_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_0_fully.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_1.xml b/packages/SystemUI/res/drawable/stat_sys_signal_1.xml index 55f764a..a53e946 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_1.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_1.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_1_fully.xml b/packages/SystemUI/res/drawable/stat_sys_signal_1_fully.xml index b82e428..6bc55cd 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_1_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_1_fully.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_2.xml b/packages/SystemUI/res/drawable/stat_sys_signal_2.xml index ca0eeb3..537c788 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_2.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_2.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_2_fully.xml b/packages/SystemUI/res/drawable/stat_sys_signal_2_fully.xml index abc8dd1..7d9376e 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_2_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_2_fully.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_3.xml b/packages/SystemUI/res/drawable/stat_sys_signal_3.xml index 2b3e571..09fe33a 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_3.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_3.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_3_fully.xml b/packages/SystemUI/res/drawable/stat_sys_signal_3_fully.xml index d47f167..8ec5500 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_3_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_3_fully.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_4.xml b/packages/SystemUI/res/drawable/stat_sys_signal_4.xml index 7d4dd8a..bb98541 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_4.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_4.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_4_fully.xml b/packages/SystemUI/res/drawable/stat_sys_signal_4_fully.xml index 5b1bac3..a468410 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_4_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_4_fully.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_null.xml b/packages/SystemUI/res/drawable/stat_sys_signal_null.xml index 45d34a2..d25fc1c 100644 --- a/packages/SystemUI/res/drawable/stat_sys_signal_null.xml +++ b/packages/SystemUI/res/drawable/stat_sys_signal_null.xml @@ -15,8 +15,8 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="18dp" - android:height="18dp" + android:width="17dp" + android:height="17dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0.xml index 4965674..be930e8 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0_fully.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0_fully.xml index e9cad0e..b2691f6 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_0_fully.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1.xml index 7d588a3..dde781d 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1_fully.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1_fully.xml index 348f963..65931f4 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_1_fully.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2.xml index 4fbdd69..63d9dca 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2_fully.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2_fully.xml index 66588f0..7ba4895 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_2_fully.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3.xml index 1f3de74..7d393b4 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3_fully.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3_fully.xml index aa5d2ed..e2cde53 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_3_fully.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4.xml index ca53b56..ec8137f 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4_fully.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4_fully.xml index 1c7a539..9d02980 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4_fully.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_4_fully.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_null.xml b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_null.xml index c68fb49..95c6531 100644 --- a/packages/SystemUI/res/drawable/stat_sys_wifi_signal_null.xml +++ b/packages/SystemUI/res/drawable/stat_sys_wifi_signal_null.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="18dp" + android:width="18.41dp" + android:height="17dp" android:viewportWidth="26.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/stat_sys_zen_important.xml b/packages/SystemUI/res/drawable/stat_sys_zen_important.xml index 73d7cba..9dabb03 100644 --- a/packages/SystemUI/res/drawable/stat_sys_zen_important.xml +++ b/packages/SystemUI/res/drawable/stat_sys_zen_important.xml @@ -13,13 +13,16 @@ Copyright (C) 2014 The Android Open Source Project See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="20dp" - android:height="20dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="2.5dp" + android:insetRight="2.5dp"> + <vector android:width="23dp" + android:height="18dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> - <path - android:fillColor="#FFFFFFFF" - android:pathData="M12.0,17.273l6.1800003,3.7269993 -1.6350002,-7.0290003 5.455,-4.7269993 -7.191,-0.6170006 -2.809,-6.627 -2.809,6.627 -7.191,0.6170006 5.455,4.7269993 -1.6349998,7.0290003z"/> -</vector> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M12.0,17.273l6.1800003,3.7269993 -1.6350002,-7.0290003 5.455,-4.7269993 -7.191,-0.6170006 -2.809,-6.627 -2.809,6.627 -7.191,0.6170006 5.455,4.7269993 -1.6349998,7.0290003z"/> + </vector> +</inset> diff --git a/packages/SystemUI/res/drawable/stat_sys_zen_none.xml b/packages/SystemUI/res/drawable/stat_sys_zen_none.xml index d8ab078..7573de0 100644 --- a/packages/SystemUI/res/drawable/stat_sys_zen_none.xml +++ b/packages/SystemUI/res/drawable/stat_sys_zen_none.xml @@ -13,13 +13,16 @@ Copyright (C) 2014 The Android Open Source Project See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="19dp" - android:height="19dp" - android:viewportWidth="48.0" - android:viewportHeight="48.0"> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="2.5dp" + android:insetRight="2.5dp"> + <vector android:width="22dp" + android:height="17dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0"> - <path - android:fillColor="#FFFFFFFF" - android:pathData="M24.0,4.0C13.0,4.0 4.0,13.0 4.0,24.0c0.0,11.0 9.0,20.0 20.0,20.0c11.0,0.0 20.0,-9.0 20.0,-20.0C44.0,13.0 35.0,4.0 24.0,4.0zM24.0,40.0c-8.8,0.0 -16.0,-7.2 -16.0,-16.0c0.0,-3.7 1.3,-7.1 3.4,-9.8l22.4,22.4C31.1,38.7 27.7,40.0 24.0,40.0zM36.6,33.8L14.2,11.4C16.9,9.3 20.3,8.0 24.0,8.0c8.8,0.0 16.0,7.2 16.0,16.0C40.0,27.7 38.7,31.1 36.6,33.8z"/> -</vector> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M24.0,4.0C13.0,4.0 4.0,13.0 4.0,24.0c0.0,11.0 9.0,20.0 20.0,20.0c11.0,0.0 20.0,-9.0 20.0,-20.0C44.0,13.0 35.0,4.0 24.0,4.0zM24.0,40.0c-8.8,0.0 -16.0,-7.2 -16.0,-16.0c0.0,-3.7 1.3,-7.1 3.4,-9.8l22.4,22.4C31.1,38.7 27.7,40.0 24.0,40.0zM36.6,33.8L14.2,11.4C16.9,9.3 20.3,8.0 24.0,8.0c8.8,0.0 16.0,7.2 16.0,16.0C40.0,27.7 38.7,31.1 36.6,33.8z"/> + </vector> +</inset> diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml index faa2820..b5f917a 100644 --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml @@ -44,7 +44,7 @@ android:layout_toStartOf="@id/multi_user_switch" android:layout_alignWithParentIfMissing="true" android:layout_marginStart="16dp" - android:paddingEnd="2dp"> + android:paddingEnd="@dimen/system_icons_keyguard_padding_end"> <FrameLayout android:id="@+id/system_icons_container" android:layout_width="wrap_content" android:layout_height="@dimen/status_bar_height" diff --git a/packages/SystemUI/res/layout/notification_guts.xml b/packages/SystemUI/res/layout/notification_guts.xml index ac8af1b..d52c274 100644 --- a/packages/SystemUI/res/layout/notification_guts.xml +++ b/packages/SystemUI/res/layout/notification_guts.xml @@ -77,13 +77,23 @@ </LinearLayout> <ImageButton style="@android:style/Widget.Material.Light.Button.Borderless.Small" + android:id="@+id/notification_inspect_app_provided_settings" + android:layout_width="52dp" + android:layout_height="match_parent" + android:layout_weight="0" + android:gravity="center" + android:src="@drawable/ic_settings" + android:visibility="gone" + /> + + <ImageButton style="@android:style/Widget.Material.Light.Button.Borderless.Small" android:id="@+id/notification_inspect_item" android:layout_width="52dp" android:layout_height="match_parent" android:layout_weight="0" android:gravity="center" android:contentDescription="@string/status_bar_notification_inspect_item_title" - android:src="@drawable/ic_settings" + android:src="@drawable/ic_info" /> </LinearLayout> </com.android.systemui.statusbar.NotificationGuts> diff --git a/packages/SystemUI/res/layout/signal_cluster_view.xml b/packages/SystemUI/res/layout/signal_cluster_view.xml index ae54f8c..347c8a9 100644 --- a/packages/SystemUI/res/layout/signal_cluster_view.xml +++ b/packages/SystemUI/res/layout/signal_cluster_view.xml @@ -36,21 +36,10 @@ android:layout_width="wrap_content" /> </FrameLayout> - <View - android:layout_height="6dp" - android:layout_width="6dp" - android:visibility="gone" - android:id="@+id/spacer" - /> <FrameLayout android:layout_height="wrap_content" android:layout_width="wrap_content" > - <View - android:layout_height="6dp" - android:layout_width="6dp" - android:visibility="invisible" - /> <FrameLayout android:id="@+id/mobile_combo" android:layout_width="wrap_content" @@ -68,6 +57,12 @@ /> </FrameLayout> </FrameLayout> + <View + android:id="@+id/wifi_airplane_spacer" + android:layout_width="4dp" + android:layout_height="4dp" + android:visibility="gone" + /> <ImageView android:id="@+id/airplane" android:layout_height="wrap_content" diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml index beb8e00..0d414f9 100644 --- a/packages/SystemUI/res/layout/status_bar.xml +++ b/packages/SystemUI/res/layout/status_bar.xml @@ -43,8 +43,8 @@ <LinearLayout android:id="@+id/status_bar_contents" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingStart="6dip" - android:paddingEnd="6dip" + android:paddingStart="6dp" + android:paddingEnd="8dp" android:orientation="horizontal" > @@ -91,7 +91,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:singleLine="true" - android:paddingStart="6dip" + android:paddingStart="7dp" android:gravity="center_vertical|start" /> </com.android.systemui.statusbar.AlphaOptimizedLinearLayout> diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml index 7ad3a89..34e062c 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded_header.xml @@ -60,7 +60,7 @@ android:layout_alignWithParentIfMissing="true" android:layout_marginStart="16dp" android:background="@drawable/ripple_drawable" - android:paddingEnd="2dp" > + android:paddingEnd="4dp" > <FrameLayout android:id="@+id/system_icons_container" android:layout_width="wrap_content" android:layout_height="@dimen/status_bar_height" diff --git a/packages/SystemUI/res/layout/system_icons.xml b/packages/SystemUI/res/layout/system_icons.xml index 69f9c14..8f25d99 100644 --- a/packages/SystemUI/res/layout/system_icons.xml +++ b/packages/SystemUI/res/layout/system_icons.xml @@ -30,12 +30,12 @@ android:id="@+id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="2dp"/> + android:layout_marginStart="2.5dp"/> <!-- battery must be padded below to match assets --> <com.android.systemui.BatteryMeterView android:id="@+id/battery" - android:layout_height="16dp" - android:layout_width="10.5dp" - android:layout_marginBottom="0.33dp" - android:layout_marginStart="4dip"/> + android:layout_height="14.5dp" + android:layout_width="9.5dp" + android:layout_marginBottom="@dimen/battery_margin_bottom" + android:layout_marginStart="7dp"/> </LinearLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/values-hdpi/dimens.xml b/packages/SystemUI/res/values-hdpi/dimens.xml new file mode 100644 index 0000000..10b00eb --- /dev/null +++ b/packages/SystemUI/res/values-hdpi/dimens.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + ~ Copyright (C) 2014 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> + <!-- Margin on the right side of the system icon group on Keyguard. --> + <fraction name="battery_button_height_fraction">10.5%</fraction> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">20%</fraction> + <fraction name="battery_subpixel_smoothing_right">12%</fraction> + + <dimen name="battery_margin_bottom">1px</dimen> +</resources> diff --git a/packages/SystemUI/res/values-mdpi/dimens.xml b/packages/SystemUI/res/values-mdpi/dimens.xml new file mode 100644 index 0000000..aa85d69 --- /dev/null +++ b/packages/SystemUI/res/values-mdpi/dimens.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2014 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> + <!-- Margin on the right side of the system icon group on Keyguard. --> + <fraction name="battery_button_height_fraction">12%</fraction> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">10%</fraction> + <fraction name="battery_subpixel_smoothing_right">10%</fraction> + + <dimen name="battery_margin_bottom">1px</dimen> +</resources> diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml index 9901e44..74a98fc 100644 --- a/packages/SystemUI/res/values-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp/dimens.xml @@ -81,4 +81,7 @@ <dimen name="edge_tap_area_width">80dp</dimen> <dimen name="keyguard_indication_margin_bottom">90dp</dimen> + + <!-- Margin on the right side of the system icon group on Keyguard. --> + <dimen name="system_icons_keyguard_padding_end">2dp</dimen> </resources> diff --git a/packages/SystemUI/res/values-tvdpi/dimens.xml b/packages/SystemUI/res/values-tvdpi/dimens.xml new file mode 100644 index 0000000..5327cee --- /dev/null +++ b/packages/SystemUI/res/values-tvdpi/dimens.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2014 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> + <!-- Margin on the right side of the system icon group on Keyguard. --> + <fraction name="battery_button_height_fraction">12%</fraction> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">10%</fraction> + <fraction name="battery_subpixel_smoothing_right">10%</fraction> + + <dimen name="battery_margin_bottom">1px</dimen> +</resources> diff --git a/packages/SystemUI/res/values-xhdpi/dimens.xml b/packages/SystemUI/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000..144b225 --- /dev/null +++ b/packages/SystemUI/res/values-xhdpi/dimens.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + ~ Copyright (C) 2014 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> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">25%</fraction> + <fraction name="battery_subpixel_smoothing_right">12.5%</fraction> + + <dimen name="battery_margin_bottom">0dp</dimen> +</resources> diff --git a/packages/SystemUI/res/values-xxhdpi/dimens.xml b/packages/SystemUI/res/values-xxhdpi/dimens.xml new file mode 100644 index 0000000..26c8437 --- /dev/null +++ b/packages/SystemUI/res/values-xxhdpi/dimens.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + ~ Copyright (C) 2014 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> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">33%</fraction> + <fraction name="battery_subpixel_smoothing_right">33%</fraction> +</resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index d3cebd45..8cd4ce6 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -73,6 +73,9 @@ <!-- Height of notification icons in the status bar --> <dimen name="status_bar_icon_size">@*android:dimen/status_bar_icon_size</dimen> + <!-- The font size for the clock --> + <dimen name="status_bar_clock_size">14sp</dimen> + <!-- Height of a small notification in the status bar --> <dimen name="notification_min_height">64dp</dimen> @@ -86,10 +89,10 @@ <dimen name="notification_summary_height">44dp</dimen> <!-- size at which Notification icons will be drawn in the status bar --> - <dimen name="status_bar_icon_drawing_size">18dip</dimen> + <dimen name="status_bar_icon_drawing_size">17dip</dimen> <!-- opacity at which Notification icons will be drawn in the status bar --> - <item type="dimen" name="status_bar_icon_drawing_alpha">75%</item> + <item type="dimen" name="status_bar_icon_drawing_alpha">90%</item> <!-- gap on either side of status bar notification icons --> <dimen name="status_bar_icon_padding">0dp</dimen> @@ -286,13 +289,13 @@ <dimen name="speed_bump_height">16dp</dimen> <!-- Lockscreen unlocking falsing threshold. --> - <dimen name="unlock_falsing_threshold">100dp</dimen> + <dimen name="unlock_falsing_threshold">80dp</dimen> <!-- Lockscreen falsing threshold for quick settings. --> - <dimen name="qs_falsing_threshold">60dp</dimen> + <dimen name="qs_falsing_threshold">80dp</dimen> <!-- Falsing threshold used when dismissing notifications from the lockscreen. --> - <dimen name="swipe_helper_falsing_threshold">100dp</dimen> + <dimen name="swipe_helper_falsing_threshold">70dp</dimen> <dimen name="notifications_top_padding">8dp</dimen> @@ -312,7 +315,7 @@ <dimen name="heads_up_window_height">250dp</dimen> <!-- The minimum amount the user needs to swipe to go to the camera / phone. --> - <dimen name="keyguard_min_swipe_amount">85dp</dimen> + <dimen name="keyguard_min_swipe_amount">90dp</dimen> <!-- The minimum background radius when swiping to a side for the camera / phone affordances. --> <dimen name="keyguard_affordance_min_background_radius">30dp</dimen> @@ -405,8 +408,8 @@ <!-- The font size of the date in QS --> <dimen name="qs_date_collapsed_size">14sp</dimen> - <!-- Battery level padding end when in expanded QS (but not on Keyguard) --> - <dimen name="battery_level_padding_end">4dp</dimen> + <!-- Battery level text padding end when in expanded QS and on Keyguard --> + <dimen name="battery_level_padding_end">2dp</dimen> <!-- The top padding of the clear all button --> <dimen name="clear_all_padding_top">12dp</dimen> @@ -419,11 +422,14 @@ <dimen name="keyguard_carrier_text_margin">16dp</dimen> <!-- Margin on the left side of the battery % in the header. --> - <dimen name="header_battery_margin_expanded">8dp</dimen> + <dimen name="header_battery_margin_expanded">6dp</dimen> <!-- Margin on the left side of the battery % when on Keyguard. --> <dimen name="header_battery_margin_keyguard">6dp</dimen> + <!-- Margin on the right side of the system icon group on Keyguard. --> + <dimen name="system_icons_keyguard_padding_end">4dp</dimen> + <!-- Additional translation (downwards) for appearing notifications when going to the full shade from Keyguard. --> <dimen name="go_to_full_shade_appearing_translation">200dp</dimen> @@ -461,4 +467,13 @@ <!-- TrustDrawable: Thickness of the circle --> <dimen name="trust_circle_thickness">2dp</dimen> + <!-- Margin on the right side of the system icon group on Keyguard. --> + <fraction name="battery_button_height_fraction">10.5%</fraction> + + <!-- Fraction value to smooth the edges of the battery icon. The path will be inset by this + fraction of a pixel.--> + <fraction name="battery_subpixel_smoothing_left">0%</fraction> + <fraction name="battery_subpixel_smoothing_right">0%</fraction> + + <dimen name="battery_margin_bottom">0dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index b488c56..c7a91af 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -522,9 +522,13 @@ <!-- Content description of the clear button in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_clear_all">Clear all notifications.</string> - <!-- Title shown in notification popup for inspecting the responsible - application [CHAR LIMIT=30] --> - <string name="status_bar_notification_inspect_item_title">Settings</string> + <!-- Content description of button in notification inspector for system settings relating to + notifications from this application [CHAR LIMIT=NONE] --> + <string name="status_bar_notification_inspect_item_title">Notification settings</string> + + <!-- Content description of button in notification inspetor for application-provided settings + for its own notifications [CHAR LIMIT=NONE] --> + <string name="status_bar_notification_app_settings_title"><xliff:g id="app_name" example="Calendar">%s</xliff:g> settings</string> <!-- Description of the button in the phone-style notification panel that controls auto-rotation, when auto-rotation is on. [CHAR LIMIT=NONE] --> <string name="accessibility_rotation_lock_off">Screen will rotate automatically.</string> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index efd4fb4..cb66e7a 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -69,8 +69,7 @@ </style> <style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon"> - <!-- Note: must be dp to fit in status bar --> - <item name="android:textSize">16dp</item> + <item name="android:textSize">@dimen/status_bar_clock_size</item> <item name="android:fontFamily">sans-serif-medium</item> <item name="android:textColor">@color/status_bar_clock_color</item> </style> diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 5e2f784..7bdbd0a 100755 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -46,12 +46,14 @@ public class BatteryMeterView extends View implements DemoMode, private static final int FULL = 96; - private static final float SUBPIXEL = 0.4f; // inset rects for softer edges private static final float BOLT_LEVEL_THRESHOLD = 0.3f; // opaque bolt below this fraction private final int[] mColors; boolean mShowPercent = true; + private float mButtonHeightFraction; + private float mSubpixelSmoothingLeft; + private float mSubpixelSmoothingRight; private final Paint mFramePaint, mBatteryPaint, mWarningTextPaint, mTextPaint, mBoltPaint; private float mTextHeight, mWarningTextHeight; @@ -205,6 +207,12 @@ public class BatteryMeterView extends View implements DemoMode, mWarningString = context.getString(R.string.battery_meter_very_low_overlay_symbol); mCriticalLevel = mContext.getResources().getInteger( com.android.internal.R.integer.config_criticalBatteryWarningLevel); + mButtonHeightFraction = context.getResources().getFraction( + R.fraction.battery_button_height_fraction, 1, 1); + mSubpixelSmoothingLeft = context.getResources().getFraction( + R.fraction.battery_subpixel_smoothing_left, 1, 1); + mSubpixelSmoothingRight = context.getResources().getFraction( + R.fraction.battery_subpixel_smoothing_right, 1, 1); mFramePaint = new Paint(Paint.ANTI_ALIAS_FLAG); mFramePaint.setColor(frameColor); @@ -304,28 +312,28 @@ public class BatteryMeterView extends View implements DemoMode, final int height = mHeight - pt - pb; final int width = mWidth - pl - pr; - final int buttonHeight = (int) (height * 0.12f); + final int buttonHeight = (int) (height * mButtonHeightFraction); mFrame.set(0, 0, width, height); mFrame.offset(pl, pt); // button-frame: area above the battery body mButtonFrame.set( - mFrame.left + width * 0.25f, + mFrame.left + Math.round(width * 0.25f), mFrame.top, - mFrame.right - width * 0.25f, + mFrame.right - Math.round(width * 0.25f), mFrame.top + buttonHeight); - mButtonFrame.top += SUBPIXEL; - mButtonFrame.left += SUBPIXEL; - mButtonFrame.right -= SUBPIXEL; + mButtonFrame.top += mSubpixelSmoothingLeft; + mButtonFrame.left += mSubpixelSmoothingLeft; + mButtonFrame.right -= mSubpixelSmoothingRight; // frame: battery body area mFrame.top += buttonHeight; - mFrame.left += SUBPIXEL; - mFrame.top += SUBPIXEL; - mFrame.right -= SUBPIXEL; - mFrame.bottom -= SUBPIXEL; + mFrame.left += mSubpixelSmoothingLeft; + mFrame.top += mSubpixelSmoothingLeft; + mFrame.right -= mSubpixelSmoothingRight; + mFrame.bottom -= mSubpixelSmoothingRight; // set the battery charging color mBatteryPaint.setColor(tracker.plugged ? mChargeColor : getColorForLevel(level)); diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index f4d0669..f8d0d9e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -27,6 +27,7 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.UserInfo; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; @@ -302,6 +303,13 @@ public class KeyguardViewMediator extends SystemUI { @Override public void onUserSwitchComplete(int userId) { mSwitchingUser = false; + if (userId != UserHandle.USER_OWNER) { + UserInfo info = UserManager.get(mContext).getUserInfo(userId); + if (info != null && info.isGuest()) { + // If we just switched to a guest, try to dismiss keyguard. + dismiss(); + } + } } @Override @@ -581,6 +589,8 @@ public class KeyguardViewMediator extends SystemUI { final boolean lockImmediately = mLockPatternUtils.getPowerButtonInstantlyLocks() || !mLockPatternUtils.isSecure(); + notifyScreenOffLocked(); + if (mExitSecureCallback != null) { if (DEBUG) Log.d(TAG, "pending exit secure callback cancelled"); try { @@ -593,7 +603,6 @@ public class KeyguardViewMediator extends SystemUI { hideLocked(); } } else if (mShowing) { - notifyScreenOffLocked(); resetStateLocked(); } else if (why == WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT || (why == WindowManagerPolicy.OFF_BECAUSE_OF_USER && !lockImmediately)) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index 98adf81..8743207 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -91,7 +91,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> { if (cb == null) return; final Resources r = mContext.getResources(); - state.iconId = cb.noSim ? R.drawable.stat_sys_no_sim + state.iconId = cb.noSim ? R.drawable.ic_qs_no_sim : !cb.enabled || cb.airplaneModeEnabled ? R.drawable.ic_qs_signal_disabled : cb.mobileSignalIconId > 0 ? cb.mobileSignalIconId : R.drawable.ic_qs_signal_no_signal; @@ -99,7 +99,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> { state.overlayIconId = cb.enabled && (cb.dataTypeIconId > 0) && !cb.wifiConnected ? cb.dataTypeIconId : 0; - state.filter = state.iconId != R.drawable.stat_sys_no_sim; + state.filter = state.iconId != R.drawable.ic_qs_no_sim; state.activityIn = cb.enabled && cb.activityIn; state.activityOut = cb.enabled && cb.activityOut; diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index 6cae7d4..082dde6 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -355,6 +355,8 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // For the non-primary user, ensure that the SystemSericesProxy is initialized + RecentsTaskLoader.initialize(this); // Initialize the loader and the configuration mConfig = RecentsConfiguration.reinitialize(this, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index ce29407..2c1d70d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -34,13 +34,11 @@ import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.ResolveInfo; import android.content.pm.UserInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.database.ContentObserver; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Build; @@ -96,6 +94,7 @@ import com.android.systemui.statusbar.policy.HeadsUpNotificationView; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; import java.util.ArrayList; +import java.util.List; import java.util.Locale; import static com.android.keyguard.KeyguardHostView.OnDismissAction; @@ -177,7 +176,7 @@ public abstract class BaseStatusBar extends SystemUI implements // public mode, private notifications, etc private boolean mLockscreenPublicMode = false; private final SparseBooleanArray mUsersAllowingPrivateNotifications = new SparseBooleanArray(); - private NotificationColorUtil mNotificationColorUtil = NotificationColorUtil.getInstance(); + private NotificationColorUtil mNotificationColorUtil; private UserManager mUserManager; @@ -435,6 +434,8 @@ public abstract class BaseStatusBar extends SystemUI implements mDevicePolicyManager = (DevicePolicyManager)mContext.getSystemService( Context.DEVICE_POLICY_SERVICE); + mNotificationColorUtil = NotificationColorUtil.getInstance(mContext); + mNotificationData = new NotificationData(this); mDreamManager = IDreamManager.Stub.asInterface( @@ -717,11 +718,23 @@ public abstract class BaseStatusBar extends SystemUI implements entry.expandedBig.findViewById(com.android.internal.R.id.media_actions) != null; } + // The gear button in the guts that links to the app's own notification settings + private void startAppOwnNotificationSettingsActivity(Intent intent, + final int notificationId, final String notificationTag, final int appUid) { + intent.putExtra("notification_id", notificationId); + intent.putExtra("notification_tag", notificationTag); + startNotificationGutsIntent(intent, appUid); + } + + // The (i) button in the guts that links to the system notification settings for that app private void startAppNotificationSettingsActivity(String packageName, final int appUid) { final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS); intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName); intent.putExtra(Settings.EXTRA_APP_UID, appUid); + startNotificationGutsIntent(intent, appUid); + } + private void startNotificationGutsIntent(final Intent intent, final int appUid) { final boolean keyguardShowing = mStatusBarKeyguardViewManager.isShowing(); dismissKeyguardThenExecute(new OnDismissAction() { @Override @@ -1128,7 +1141,7 @@ public abstract class BaseStatusBar extends SystemUI implements entry.notification.getUser().getIdentifier()); int maxHeight = mRowMaxHeight; - StatusBarNotification sbn = entry.notification; + final StatusBarNotification sbn = entry.notification; RemoteViews contentView = sbn.getNotification().contentView; RemoteViews bigContentView = sbn.getNotification().bigContentView; @@ -1197,6 +1210,8 @@ public abstract class BaseStatusBar extends SystemUI implements ((DateTimeView) row.findViewById(R.id.timestamp)).setTime(entry.notification.getPostTime()); ((TextView) row.findViewById(R.id.pkgname)).setText(appname); final View settingsButton = guts.findViewById(R.id.notification_inspect_item); + final View appSettingsButton + = guts.findViewById(R.id.notification_inspect_app_provided_settings); if (appUid >= 0) { final int appUidF = appUid; settingsButton.setOnClickListener(new View.OnClickListener() { @@ -1204,8 +1219,33 @@ public abstract class BaseStatusBar extends SystemUI implements startAppNotificationSettingsActivity(pkg, appUidF); } }); + + final Intent appSettingsQueryIntent + = new Intent(Intent.ACTION_MAIN) + .addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES) + .setPackage(pkg); + List<ResolveInfo> infos = pmUser.queryIntentActivities(appSettingsQueryIntent, 0); + if (infos.size() > 0) { + appSettingsButton.setVisibility(View.VISIBLE); + appSettingsButton.setContentDescription( + mContext.getResources().getString( + R.string.status_bar_notification_app_settings_title, + appname + )); + final Intent appSettingsLaunchIntent = new Intent(appSettingsQueryIntent) + .setClassName(pkg, infos.get(0).activityInfo.name); + appSettingsButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + startAppOwnNotificationSettingsActivity(appSettingsLaunchIntent, + sbn.getId(), + sbn.getTag(), + appUidF); + } + }); + } } else { settingsButton.setVisibility(View.GONE); + appSettingsButton.setVisibility(View.GONE); } workAroundBadLayerDrawableOpacity(row); @@ -1281,7 +1321,9 @@ public abstract class BaseStatusBar extends SystemUI implements // Add a basic notification template publicViewLocal = LayoutInflater.from(mContext).inflate( com.android.internal.R.layout.notification_template_material_base, - expandedPublic, true); + expandedPublic, false); + publicViewLocal.setIsRootNamespace(true); + expandedPublic.setContractedChild(publicViewLocal); final TextView title = (TextView) publicViewLocal.findViewById(com.android.internal.R.id.title); try { @@ -1305,7 +1347,7 @@ public abstract class BaseStatusBar extends SystemUI implements Drawable iconDrawable = StatusBarIconView.getIcon(mContext, ic); icon.setImageDrawable(iconDrawable); - if (mNotificationColorUtil.isGrayscale(iconDrawable)) { + if (mNotificationColorUtil.isGrayscaleIcon(iconDrawable)) { icon.setBackgroundResource( com.android.internal.R.drawable.notification_icon_legacy_bg); int padding = mContext.getResources().getDimensionPixelSize( @@ -1902,6 +1944,13 @@ public abstract class BaseStatusBar extends SystemUI implements } protected boolean shouldInterrupt(StatusBarNotification sbn) { + if (mNotificationData.shouldFilterOut(sbn)) { + if (DEBUG) { + Log.d(TAG, "Skipping HUN check for " + sbn.getKey() + " since it's filtered out."); + } + return false; + } + Notification notification = sbn.getNotification(); // some predicates to make the boolean logic legible boolean isNoisy = (notification.defaults & Notification.DEFAULT_SOUND) != 0 diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index dfcc408..e3a0b18 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -17,10 +17,15 @@ package com.android.systemui.statusbar; import android.content.Context; +import android.graphics.drawable.AnimatedVectorDrawable; +import android.graphics.drawable.AnimationDrawable; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; +import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; +import android.widget.ImageView; import com.android.systemui.R; public class ExpandableNotificationRow extends ActivatableNotificationView { @@ -62,6 +67,51 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private boolean mWasReset; private NotificationGuts mGuts; + public void setIconAnimationRunning(boolean running) { + setIconAnimationRunning(running, mPublicLayout); + setIconAnimationRunning(running, mPrivateLayout); + } + + private void setIconAnimationRunning(boolean running, NotificationContentView layout) { + if (layout != null) { + View contractedChild = layout.getContractedChild(); + View expandedChild = layout.getExpandedChild(); + setIconAnimationRunningForChild(running, contractedChild); + setIconAnimationRunningForChild(running, expandedChild); + } + } + + private void setIconAnimationRunningForChild(boolean running, View child) { + if (child != null) { + ImageView icon = (ImageView) child.findViewById(com.android.internal.R.id.icon); + setIconRunning(icon, running); + ImageView rightIcon = (ImageView) child.findViewById( + com.android.internal.R.id.right_icon); + setIconRunning(rightIcon, running); + } + } + + private void setIconRunning(ImageView imageView, boolean running) { + if (imageView != null) { + Drawable drawable = imageView.getDrawable(); + if (drawable instanceof AnimationDrawable) { + AnimationDrawable animationDrawable = (AnimationDrawable) drawable; + if (running) { + animationDrawable.start(); + } else { + animationDrawable.stop(); + } + } else if (drawable instanceof AnimatedVectorDrawable) { + AnimatedVectorDrawable animationDrawable = (AnimatedVectorDrawable) drawable; + if (running) { + animationDrawable.start(); + } else { + animationDrawable.stop(); + } + } + } + } + public interface ExpansionLogger { public void logNotificationExpansion(String key, boolean userAction, boolean expanded); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java index 5878ae1..a4161f9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java @@ -251,15 +251,19 @@ public class KeyguardAffordanceView extends ImageView { } public void setCircleRadius(float circleRadius) { - setCircleRadius(circleRadius, false); + setCircleRadius(circleRadius, false, false); + } + + public void setCircleRadius(float circleRadius, boolean slowAnimation) { + setCircleRadius(circleRadius, slowAnimation, false); } public void setCircleRadiusWithoutAnimation(float circleRadius) { cancelAnimator(mCircleAnimator); - setCircleRadius(circleRadius, true); + setCircleRadius(circleRadius, false ,true); } - private void setCircleRadius(float circleRadius, boolean noAnimation) { + private void setCircleRadius(float circleRadius, boolean slowAnimation, boolean noAnimation) { // Check if we need a new animation boolean radiusHidden = (mCircleAnimator != null && mCircleWillBeHidden) @@ -292,10 +296,13 @@ public class KeyguardAffordanceView extends ImageView { ? mDisappearInterpolator : mAppearInterpolator; animator.setInterpolator(interpolator); - float durationFactor = Math.abs(mCircleRadius - circleRadius) - / (float) mMinBackgroundRadius; - long duration = (long) (CIRCLE_APPEAR_DURATION * durationFactor); - duration = Math.min(duration, CIRCLE_DISAPPEAR_MAX_DURATION); + long duration = 250; + if (!slowAnimation) { + float durationFactor = Math.abs(mCircleRadius - circleRadius) + / (float) mMinBackgroundRadius; + duration = (long) (CIRCLE_APPEAR_DURATION * durationFactor); + duration = Math.min(duration, CIRCLE_DISAPPEAR_MAX_DURATION); + } animator.setDuration(duration); animator.start(); if (mPreviewView != null && mPreviewView.getVisibility() == View.VISIBLE) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 8b4c2c4..e31eb7c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -88,6 +88,14 @@ public class NotificationContentView extends FrameLayout { mContractedVisible = true; } + public View getContractedChild() { + return mContractedChild; + } + + public View getExpandedChild() { + return mExpandedChild; + } + public void setContractedChild(View child) { if (mContractedChild != null) { mContractedChild.animate().cancel(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java index 454041c..cef889c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java @@ -221,7 +221,7 @@ public class NotificationData { return mGroupsWithSummaries.contains(groupKey); } - private boolean shouldFilterOut(StatusBarNotification sbn) { + boolean shouldFilterOut(StatusBarNotification sbn) { if (!(mEnvironment.isDeviceProvisioned() || showNotificationEvenIfUnprovisioned(sbn))) { return true; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java index c75bd28..c4c9dac 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java @@ -36,7 +36,7 @@ public class NotificationOverflowIconsView extends IconMerger { private TextView mMoreText; private int mTintColor; private int mIconSize; - private NotificationColorUtil mNotificationColorUtil = new NotificationColorUtil(); + private NotificationColorUtil mNotificationColorUtil; public NotificationOverflowIconsView(Context context, AttributeSet attrs) { super(context, attrs); @@ -45,6 +45,7 @@ public class NotificationOverflowIconsView extends IconMerger { @Override protected void onFinishInflate() { super.onFinishInflate(); + mNotificationColorUtil = NotificationColorUtil.getInstance(getContext()); mTintColor = getResources().getColor(R.color.keyguard_overflow_content_color); mIconSize = getResources().getDimensionPixelSize( com.android.internal.R.dimen.status_bar_icon_size); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 9da209a..5883c26 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -49,7 +49,7 @@ public class SignalClusterView ViewGroup mWifiGroup, mMobileGroup; ImageView mWifi, mMobile, mMobileType, mAirplane; - View mSpacer; + View mWifiAirplaneSpacer; public SignalClusterView(Context context) { this(context, null); @@ -77,8 +77,8 @@ public class SignalClusterView mMobileGroup = (ViewGroup) findViewById(R.id.mobile_combo); mMobile = (ImageView) findViewById(R.id.mobile_signal); mMobileType = (ImageView) findViewById(R.id.mobile_type); - mSpacer = findViewById(R.id.spacer); mAirplane = (ImageView) findViewById(R.id.airplane); + mWifiAirplaneSpacer = findViewById(R.id.wifi_airplane_spacer); apply(); } @@ -90,7 +90,6 @@ public class SignalClusterView mMobileGroup = null; mMobile = null; mMobileType = null; - mSpacer = null; mAirplane = null; super.onDetachedFromWindow(); @@ -198,10 +197,10 @@ public class SignalClusterView mAirplane.setVisibility(View.GONE); } - if (mMobileVisible && mWifiVisible && mIsAirplaneMode) { - mSpacer.setVisibility(View.INVISIBLE); + if (mIsAirplaneMode && mWifiVisible) { + mWifiAirplaneSpacer.setVisibility(View.VISIBLE); } else { - mSpacer.setVisibility(View.GONE); + mWifiAirplaneSpacer.setVisibility(View.GONE); } if (DEBUG) Log.d(TAG, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java index eca8e6a..a9c701a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java @@ -20,8 +20,6 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.content.Context; -import android.os.PowerManager; -import android.os.SystemClock; import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; @@ -85,9 +83,9 @@ public class KeyguardAffordanceHelper { mContext = context; mCallback = callback; initIcons(); - updateIcon(mLeftIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false); - updateIcon(mCenterIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false); - updateIcon(mRightIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false); + updateIcon(mLeftIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false, false); + updateIcon(mCenterIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false, false); + updateIcon(mRightIcon, 0.0f, SWIPE_RESTING_ALPHA_AMOUNT, false, false); initDimens(); } @@ -295,8 +293,7 @@ public class KeyguardAffordanceHelper { float vel = getCurrentVelocity(); // We snap back if the current translation is not far enough - boolean snapBack = Math.abs(mTranslation) < Math.abs(mTranslationOnDown) - + mMinTranslationAmount; + boolean snapBack = isBelowFalsingThreshold(); // or if the velocity is in the opposite direction. boolean velIsInWrongDirection = vel * mTranslation < 0; @@ -305,6 +302,11 @@ public class KeyguardAffordanceHelper { fling(vel, snapBack || forceSnapBack); } + private boolean isBelowFalsingThreshold() { + return Math.abs(mTranslation) < Math.abs(mTranslationOnDown) + + mMinTranslationAmount; + } + private void fling(float vel, final boolean snapBack) { float target = mTranslation < 0 ? -mCallback.getPageWidth() : mCallback.getPageWidth(); target = snapBack ? 0 : target; @@ -355,13 +357,14 @@ public class KeyguardAffordanceHelper { boolean animateIcons = isReset && animateReset; float radius = getRadiusFromTranslation(absTranslation); + boolean slowAnimation = isReset && isBelowFalsingThreshold(); if (!isReset) { - updateIcon(targetView, radius, alpha, false); + updateIcon(targetView, radius, alpha, false, false); } else { - updateIcon(targetView, 0.0f, fadeOutAlpha, animateIcons); + updateIcon(targetView, 0.0f, fadeOutAlpha, animateIcons, slowAnimation); } - updateIcon(otherView, 0.0f, fadeOutAlpha, animateIcons); - updateIcon(mCenterIcon, 0.0f, fadeOutAlpha, animateIcons); + updateIcon(otherView, 0.0f, fadeOutAlpha, animateIcons, slowAnimation); + updateIcon(mCenterIcon, 0.0f, fadeOutAlpha, animateIcons, slowAnimation); mTranslation = translation; } @@ -392,16 +395,16 @@ public class KeyguardAffordanceHelper { } public void animateHideLeftRightIcon() { - updateIcon(mRightIcon, 0f, 0f, true); - updateIcon(mLeftIcon, 0f, 0f, true); + updateIcon(mRightIcon, 0f, 0f, true, false); + updateIcon(mLeftIcon, 0f, 0f, true, false); } private void updateIcon(KeyguardAffordanceView view, float circleRadius, float alpha, - boolean animate) { + boolean animate, boolean slowRadiusAnimation) { if (view.getVisibility() != View.VISIBLE) { return; } - view.setCircleRadius(circleRadius); + view.setCircleRadius(circleRadius, slowRadiusAnimation); updateIconAlpha(view, alpha, animate); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 91a8b22..bae1864 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -548,7 +548,7 @@ public class NotificationPanelView extends PanelView implements } private boolean flingExpandsQs(float vel) { - if (!mQsTouchAboveFalsingThreshold && mStatusBarState == StatusBarState.KEYGUARD) { + if (isBelowFalsingThreshold()) { return false; } if (Math.abs(vel) < mFlingAnimationUtils.getMinVelocityPxPerSecond()) { @@ -558,6 +558,10 @@ public class NotificationPanelView extends PanelView implements } } + private boolean isBelowFalsingThreshold() { + return !mQsTouchAboveFalsingThreshold && mStatusBar.isFalsingThresholdNeeded(); + } + private float getQsExpansionFraction() { return Math.min(1f, (mQsExpansionHeight - mQsMinExpansionHeight) / (getTempQsMaxExpansion() - mQsMinExpansionHeight)); @@ -1122,9 +1126,16 @@ public class NotificationPanelView extends PanelView implements } return; } + boolean belowFalsingThreshold = isBelowFalsingThreshold(); + if (belowFalsingThreshold) { + vel = 0; + } mScrollView.setBlockFlinging(true); ValueAnimator animator = ValueAnimator.ofFloat(mQsExpansionHeight, target); mFlingAnimationUtils.apply(animator, mQsExpansionHeight, target, vel); + if (belowFalsingThreshold) { + animator.setDuration(350); + } animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { @@ -1692,9 +1703,9 @@ public class NotificationPanelView extends PanelView implements } public void setEmptyDragAmount(float amount) { - float factor = 1f; + float factor = 0.8f; if (mNotificationStackScroller.getNotGoneChildCount() > 0) { - factor = 0.6f; + factor = 0.4f; } else if (!mStatusBar.hasActiveNotifications()) { factor = 0.4f; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java index 6127811..7261ea1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -479,7 +479,7 @@ public abstract class PanelView extends FrameLayout { * @return whether a fling should expands the panel; contracts otherwise */ protected boolean flingExpands(float vel, float vectorVel) { - if (!mTouchAboveFalsingThreshold && mStatusBar.isFalsingThresholdNeeded()) { + if (isBelowFalsingThreshold()) { return true; } if (Math.abs(vectorVel) < mFlingAnimationUtils.getMinVelocityPxPerSecond()) { @@ -489,6 +489,10 @@ public abstract class PanelView extends FrameLayout { } } + private boolean isBelowFalsingThreshold() { + return !mTouchAboveFalsingThreshold && mStatusBar.isFalsingThresholdNeeded(); + } + protected void fling(float vel, boolean expand) { cancelPeek(); float target = expand ? getMaxPanelHeight() : 0.0f; @@ -509,7 +513,14 @@ public abstract class PanelView extends FrameLayout { mOverExpandedBeforeFling = getOverExpansionAmount() > 0f; ValueAnimator animator = createHeightAnimator(target); if (expand) { + boolean belowFalsingThreshold = isBelowFalsingThreshold(); + if (belowFalsingThreshold) { + vel = 0; + } mFlingAnimationUtils.apply(animator, mExpandedHeight, target, vel, getHeight()); + if (belowFalsingThreshold) { + animator.setDuration(350); + } } else { mFlingAnimationUtils.applyDismissing(animator, mExpandedHeight, target, vel, getHeight()); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index ad775cb..00e9790 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -112,6 +112,7 @@ import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.BatteryMeterView; import com.android.systemui.DemoMode; import com.android.systemui.EventLogTags; +import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.doze.DozeService; import com.android.systemui.keyguard.KeyguardViewMediator; @@ -1228,11 +1229,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, + " icon=" + icon); StatusBarIconView view = new StatusBarIconView(mContext, slot, null); view.set(icon); - mStatusIcons.addView(view, viewIndex, new LinearLayout.LayoutParams(mIconSize, mIconSize)); + mStatusIcons.addView(view, viewIndex, new LinearLayout.LayoutParams( + LayoutParams.WRAP_CONTENT, mIconSize)); view = new StatusBarIconView(mContext, slot, null); view.set(icon); - mStatusIconsKeyguard.addView(view, viewIndex, - new LinearLayout.LayoutParams(mIconSize, mIconSize)); + mStatusIconsKeyguard.addView(view, viewIndex, new LinearLayout.LayoutParams( + LayoutParams.WRAP_CONTENT, mIconSize)); } public void updateIcon(String slot, int index, int viewIndex, @@ -3057,6 +3059,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, updateDisplaySize(); // populates mDisplayMetrics updateResources(); + updateClockSize(); repositionNavigationBar(); updateExpandedViewPos(EXPANDED_LEAVE_ALONE); updateShowSearchHoldoff(); @@ -3128,6 +3131,13 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } } + private void updateClockSize() { + if (mStatusBarView == null) return; + TextView clock = (TextView) mStatusBarView.findViewById(R.id.clock); + if (clock != null) { + FontSizeUtils.updateFontSize(clock, R.dimen.status_bar_clock_size); + } + } protected void loadDimens() { final Resources res = mContext.getResources(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index 10f457a..d9a3e14 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -46,7 +46,8 @@ public class KeyButtonView extends ImageView { private static final String TAG = "StatusBar.KeyButtonView"; private static final boolean DEBUG = false; - public static final float DEFAULT_QUIESCENT_ALPHA = 0.70f; + // TODO: Get rid of this + public static final float DEFAULT_QUIESCENT_ALPHA = 1f; private long mDownTime; private int mCode; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java index d5b2548..61ed095 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java @@ -42,8 +42,7 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio // The name of the placeholder corresponding to the location request status icon. // This string corresponds to config_statusBarIcons in core/res/res/values/config.xml. public static final String LOCATION_STATUS_ICON_PLACEHOLDER = "location"; - public static final int LOCATION_STATUS_ICON_ID - = R.drawable.stat_sys_device_access_location_found; + public static final int LOCATION_STATUS_ICON_ID = R.drawable.stat_sys_location; private static final int[] mHighPowerRequestAppOpArray = new int[] {AppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION}; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 9b59814..4a6f1a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -63,7 +63,7 @@ public class NetworkControllerImpl extends BroadcastReceiver static final boolean DEBUG = false; static final boolean CHATTY = false; // additional diagnostics, but not logspew - private static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_signal_flightmode; + private static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode; private static final int ROAMING_ICON = R.drawable.stat_sys_data_fully_connected_roam; // telephony @@ -833,7 +833,7 @@ public class NetworkControllerImpl extends BroadcastReceiver visible = false; } } else { - iconId = R.drawable.stat_sys_no_sim; + iconId = 0; mNoSim = true; visible = false; // no SIM? no data } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index adb71e7..e4b1945 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -188,7 +188,7 @@ public class UserSwitcherController { } } - if (canCreateUser) { + if (!mSimpleUserSwitcher && canCreateUser) { records.add(new UserRecord(null /* info */, null /* picture */, false /* isGuest */, false /* isCurrent */, true /* isAddUser */, createIsRestricted)); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index 148b00c..fed579c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -1467,6 +1467,7 @@ public class NotificationStackScrollLayout extends ViewGroup // drawn when removed getOverlay().add(child); } + updateAnimationState(false, child); // Make sure the clipRect we might have set is removed child.setClipBounds(null); @@ -1545,10 +1546,28 @@ public class NotificationStackScrollLayout extends ViewGroup mStackScrollAlgorithm.notifyChildrenChanged(this); ((ExpandableView) child).setOnHeightChangedListener(this); generateAddAnimation(child, false /* fromMoreCard */); + updateAnimationState(mAnimationsEnabled && mIsExpanded, child); } public void setAnimationsEnabled(boolean animationsEnabled) { mAnimationsEnabled = animationsEnabled; + updateNotificationAnimationStates(); + } + + private void updateNotificationAnimationStates() { + boolean running = mIsExpanded && mAnimationsEnabled; + int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + updateAnimationState(running, child); + } + } + + private void updateAnimationState(boolean running, View child) { + if (child instanceof ExpandableNotificationRow) { + ExpandableNotificationRow row = (ExpandableNotificationRow) child; + row.setIconAnimationRunning(running); + } } public boolean isAddOrRemoveAnimationPending() { @@ -1918,8 +1937,12 @@ public class NotificationStackScrollLayout extends ViewGroup } private void setIsExpanded(boolean isExpanded) { + boolean changed = isExpanded != mIsExpanded; mIsExpanded = isExpanded; mStackScrollAlgorithm.setIsExpanded(isExpanded); + if (changed) { + updateNotificationAnimationStates(); + } } @Override |