diff options
255 files changed, 1045 insertions, 309 deletions
diff --git a/core/java/android/app/usage/IUsageStatsManager.aidl b/core/java/android/app/usage/IUsageStatsManager.aidl index 00d8711c7baa..971352783dcb 100644 --- a/core/java/android/app/usage/IUsageStatsManager.aidl +++ b/core/java/android/app/usage/IUsageStatsManager.aidl @@ -36,6 +36,8 @@ interface IUsageStatsManager { String callingPackage); UsageEvents queryEvents(long beginTime, long endTime, String callingPackage); UsageEvents queryEventsForPackage(long beginTime, long endTime, String callingPackage); + UsageEvents queryEventsForUser(long beginTime, long endTime, int userId, String callingPackage); + UsageEvents queryEventsForPackageForUser(long beginTime, long endTime, int userId, String pkg, String callingPackage); void setAppInactive(String packageName, boolean inactive, int userId); boolean isAppInactive(String packageName, int userId); void whitelistAppTemporarily(String packageName, long duration, int userId); diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java index 503ca6c3712d..3e90af356da0 100644 --- a/core/java/android/app/usage/UsageEvents.java +++ b/core/java/android/app/usage/UsageEvents.java @@ -399,16 +399,20 @@ public final class UsageEvents implements Parcelable { * {@hide} */ public UsageEvents(Parcel in) { - mEventCount = in.readInt(); - mIndex = in.readInt(); + byte[] bytes = in.readBlob(); + Parcel data = Parcel.obtain(); + data.unmarshall(bytes, 0, bytes.length); + data.setDataPosition(0); + mEventCount = data.readInt(); + mIndex = data.readInt(); if (mEventCount > 0) { - mStringPool = in.createStringArray(); + mStringPool = data.createStringArray(); - final int listByteLength = in.readInt(); - final int positionInParcel = in.readInt(); + final int listByteLength = data.readInt(); + final int positionInParcel = data.readInt(); mParcel = Parcel.obtain(); mParcel.setDataPosition(0); - mParcel.appendFrom(in, in.dataPosition(), listByteLength); + mParcel.appendFrom(data, data.dataPosition(), listByteLength); mParcel.setDataSize(mParcel.dataPosition()); mParcel.setDataPosition(positionInParcel); } @@ -586,10 +590,11 @@ public final class UsageEvents implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(mEventCount); - dest.writeInt(mIndex); + Parcel data = Parcel.obtain(); + data.writeInt(mEventCount); + data.writeInt(mIndex); if (mEventCount > 0) { - dest.writeStringArray(mStringPool); + data.writeStringArray(mStringPool); if (mEventsToWrite != null) { // Write out the events @@ -604,31 +609,34 @@ public final class UsageEvents implements Parcelable { final int listByteLength = p.dataPosition(); // Write the total length of the data. - dest.writeInt(listByteLength); + data.writeInt(listByteLength); // Write our current position into the data. - dest.writeInt(0); + data.writeInt(0); // Write the data. - dest.appendFrom(p, 0, listByteLength); + data.appendFrom(p, 0, listByteLength); } finally { p.recycle(); } } else if (mParcel != null) { // Write the total length of the data. - dest.writeInt(mParcel.dataSize()); + data.writeInt(mParcel.dataSize()); // Write out current position into the data. - dest.writeInt(mParcel.dataPosition()); + data.writeInt(mParcel.dataPosition()); // Write the data. - dest.appendFrom(mParcel, 0, mParcel.dataSize()); + data.appendFrom(mParcel, 0, mParcel.dataSize()); } else { throw new IllegalStateException( "Either mParcel or mEventsToWrite must not be null"); } } + // Data can be too large for a transact. Write the data as a Blob, which will be written to + // ashmem if too large. + dest.writeBlob(data.marshall()); } public static final Creator<UsageEvents> CREATOR = new Creator<UsageEvents>() { diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java index b13f831cb910..2d8b4d482b21 100644 --- a/core/java/android/util/FeatureFlagUtils.java +++ b/core/java/android/util/FeatureFlagUtils.java @@ -43,6 +43,7 @@ public class FeatureFlagUtils { DEFAULT_FLAGS.put("settings_bluetooth_while_driving", "false"); DEFAULT_FLAGS.put("settings_data_usage_v2", "true"); DEFAULT_FLAGS.put("settings_audio_switcher", "true"); + DEFAULT_FLAGS.put("settings_systemui_theme", "false"); } /** diff --git a/core/java/com/android/internal/app/ColorDisplayController.java b/core/java/com/android/internal/app/ColorDisplayController.java index 6cc964bf16ed..ba6cf269b737 100644 --- a/core/java/com/android/internal/app/ColorDisplayController.java +++ b/core/java/com/android/internal/app/ColorDisplayController.java @@ -335,7 +335,7 @@ public final class ColorDisplayController { if (colorTemperature == -1) { if (DEBUG) { Slog.d(TAG, "Using default value for setting: " - + Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE); + + Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE); } colorTemperature = getDefaultColorTemperature(); } @@ -358,7 +358,7 @@ public final class ColorDisplayController { */ public boolean setColorTemperature(int colorTemperature) { return Secure.putIntForUser(mContext.getContentResolver(), - Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE, colorTemperature, mUserId); + Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE, colorTemperature, mUserId); } /** @@ -367,10 +367,10 @@ public final class ColorDisplayController { * See com.android.server.display.DisplayTransformManager. */ private @ColorMode int getCurrentColorModeFromSystemProperties() { - int displayColorSetting = SystemProperties.getInt("persist.sys.sf.native_mode", 0); + final int displayColorSetting = SystemProperties.getInt("persist.sys.sf.native_mode", 0); if (displayColorSetting == 0) { return "1.0".equals(SystemProperties.get("persist.sys.sf.color_saturation")) - ? COLOR_MODE_NATURAL : COLOR_MODE_BOOSTED; + ? COLOR_MODE_NATURAL : COLOR_MODE_BOOSTED; } else if (displayColorSetting == 1) { return COLOR_MODE_SATURATED; } else if (displayColorSetting == 2) { @@ -381,16 +381,13 @@ public final class ColorDisplayController { } private boolean isColorModeAvailable(@ColorMode int colorMode) { - // SATURATED is always allowed - if (colorMode == COLOR_MODE_SATURATED) { - return true; - } - final int[] availableColorModes = mContext.getResources().getIntArray( R.array.config_availableColorModes); - for (int mode : availableColorModes) { - if (mode == colorMode) { - return true; + if (availableColorModes != null) { + for (int mode : availableColorModes) { + if (mode == colorMode) { + return true; + } } } return false; @@ -401,14 +398,18 @@ public final class ColorDisplayController { */ public int getColorMode() { if (getAccessibilityTransformActivated()) { - return COLOR_MODE_SATURATED; + if (isColorModeAvailable(COLOR_MODE_SATURATED)) { + return COLOR_MODE_SATURATED; + } else if (isColorModeAvailable(COLOR_MODE_AUTOMATIC)) { + return COLOR_MODE_AUTOMATIC; + } } int colorMode = System.getIntForUser(mContext.getContentResolver(), - System.DISPLAY_COLOR_MODE, -1, mUserId); + System.DISPLAY_COLOR_MODE, -1, mUserId); if (colorMode == -1) { - // There still might be a legacy system property controlling color mode that we need to - // respect. + // There might be a system property controlling color mode that we need to respect; if + // not, this will set a suitable default. colorMode = getCurrentColorModeFromSystemProperties(); } @@ -418,10 +419,13 @@ public final class ColorDisplayController { if (colorMode == COLOR_MODE_BOOSTED && isColorModeAvailable(COLOR_MODE_NATURAL)) { colorMode = COLOR_MODE_NATURAL; } else if (colorMode == COLOR_MODE_SATURATED - && isColorModeAvailable(COLOR_MODE_AUTOMATIC)) { + && isColorModeAvailable(COLOR_MODE_AUTOMATIC)) { colorMode = COLOR_MODE_AUTOMATIC; - } else { + } else if (colorMode == COLOR_MODE_AUTOMATIC + && isColorModeAvailable(COLOR_MODE_SATURATED)) { colorMode = COLOR_MODE_SATURATED; + } else { + colorMode = -1; } } diff --git a/core/java/com/android/internal/app/SuspendedAppActivity.java b/core/java/com/android/internal/app/SuspendedAppActivity.java index f42a195f001f..a8edfb6ec936 100644 --- a/core/java/com/android/internal/app/SuspendedAppActivity.java +++ b/core/java/com/android/internal/app/SuspendedAppActivity.java @@ -60,7 +60,7 @@ public class SuspendedAppActivity extends AlertActivity if (resolvedInfo != null && resolvedInfo.activityInfo != null && requiredPermission.equals(resolvedInfo.activityInfo.permission)) { moreDetailsIntent.putExtra(Intent.EXTRA_PACKAGE_NAME, suspendedPackage) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); return moreDetailsIntent; } return null; diff --git a/core/java/com/android/internal/os/BatteryStatsHelper.java b/core/java/com/android/internal/os/BatteryStatsHelper.java index b49aaced83a3..a6b29c5f8ce8 100644 --- a/core/java/com/android/internal/os/BatteryStatsHelper.java +++ b/core/java/com/android/internal/os/BatteryStatsHelper.java @@ -409,10 +409,9 @@ public class BatteryStatsHelper { } mBluetoothPowerCalculator.reset(); - if (mSensorPowerCalculator == null) { - mSensorPowerCalculator = new SensorPowerCalculator(mPowerProfile, - (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE)); - } + mSensorPowerCalculator = new SensorPowerCalculator(mPowerProfile, + (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE), + mStats, rawRealtimeUs, statsType); mSensorPowerCalculator.reset(); if (mCameraPowerCalculator == null) { diff --git a/core/java/com/android/internal/os/SensorPowerCalculator.java b/core/java/com/android/internal/os/SensorPowerCalculator.java index c98639b1d548..04cb49a48c26 100644 --- a/core/java/com/android/internal/os/SensorPowerCalculator.java +++ b/core/java/com/android/internal/os/SensorPowerCalculator.java @@ -20,20 +20,23 @@ import android.hardware.SensorManager; import android.os.BatteryStats; import android.util.SparseArray; +import com.android.internal.location.gnssmetrics.GnssMetrics; + import java.util.List; public class SensorPowerCalculator extends PowerCalculator { private final List<Sensor> mSensors; - private final double mGpsPowerOn; + private final double mGpsPower; - public SensorPowerCalculator(PowerProfile profile, SensorManager sensorManager) { + public SensorPowerCalculator(PowerProfile profile, SensorManager sensorManager, + BatteryStats stats, long rawRealtimeUs, int statsType) { mSensors = sensorManager.getSensorList(Sensor.TYPE_ALL); - mGpsPowerOn = profile.getAveragePower(PowerProfile.POWER_GPS_ON); + mGpsPower = getAverageGpsPower(profile, stats, rawRealtimeUs, statsType); } @Override public void calculateApp(BatterySipper app, BatteryStats.Uid u, long rawRealtimeUs, - long rawUptimeUs, int statsType) { + long rawUptimeUs, int statsType) { // Process Sensor usage final SparseArray<? extends BatteryStats.Uid.Sensor> sensorStats = u.getSensorStats(); final int NSE = sensorStats.size(); @@ -42,10 +45,11 @@ public class SensorPowerCalculator extends PowerCalculator { final int sensorHandle = sensorStats.keyAt(ise); final BatteryStats.Timer timer = sensor.getSensorTime(); final long sensorTime = timer.getTotalTimeLocked(rawRealtimeUs, statsType) / 1000; + switch (sensorHandle) { case BatteryStats.Uid.Sensor.GPS: app.gpsTimeMs = sensorTime; - app.gpsPowerMah = (app.gpsTimeMs * mGpsPowerOn) / (1000*60*60); + app.gpsPowerMah = (app.gpsTimeMs * mGpsPower) / (1000*60*60); break; default: final int sensorsCount = mSensors.size(); @@ -60,4 +64,26 @@ public class SensorPowerCalculator extends PowerCalculator { } } } + + private double getAverageGpsPower(PowerProfile profile, BatteryStats stats, long rawRealtimeUs, + int statsType) { + double averagePower = + profile.getAveragePowerOrDefault(PowerProfile.POWER_GPS_ON, -1); + if (averagePower != -1) { + return averagePower; + } + averagePower = 0; + long totalTime = 0; + double totalPower = 0; + for (int i = 0; i < GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS; i++) { + long timePerLevel = stats.getGpsSignalQualityTime(i, rawRealtimeUs, statsType); + totalTime += timePerLevel; + totalPower += profile.getAveragePower(PowerProfile.POWER_GPS_SIGNAL_QUALITY_BASED, i) + * timePerLevel; + } + if (totalTime != 0) { + averagePower = totalPower / totalTime; + } + return averagePower; + } } diff --git a/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp b/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp index 145e3c485cbc..9c80ff86df53 100644 --- a/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp +++ b/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp @@ -76,13 +76,20 @@ void GLFunctorDrawable::onDraw(SkCanvas* canvas) { // apply a simple clip with a scissor or a complex clip with a stencil SkRegion clipRegion; canvas->temporary_internal_getRgnClip(&clipRegion); + canvas->flush(); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glViewport(0, 0, info.width, info.height); if (CC_UNLIKELY(clipRegion.isComplex())) { + //TODO: move stencil clear and canvas flush to SkAndroidFrameworkUtils::clipWithStencil glDisable(GL_SCISSOR_TEST); glStencilMask(0x1); glClearStencil(0); glClear(GL_STENCIL_BUFFER_BIT); + // GL ops get inserted here if previous flush is missing, which could dirty the stencil bool stencilWritten = SkAndroidFrameworkUtils::clipWithStencil(canvas); - canvas->flush(); + canvas->flush(); //need this flush for the single op that draws into the stencil + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glViewport(0, 0, info.width, info.height); if (stencilWritten) { glStencilMask(0x1); glStencilFunc(GL_EQUAL, 0x1, 0x1); @@ -93,11 +100,9 @@ void GLFunctorDrawable::onDraw(SkCanvas* canvas) { glDisable(GL_STENCIL_TEST); } } else if (clipRegion.isEmpty()) { - canvas->flush(); glDisable(GL_STENCIL_TEST); glDisable(GL_SCISSOR_TEST); } else { - canvas->flush(); glDisable(GL_STENCIL_TEST); glEnable(GL_SCISSOR_TEST); setScissor(info.height, clipRegion.getBounds()); diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 6c9a01b89977..0c38c38e88ff 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -3939,6 +3939,7 @@ public class AudioManager { * @param device Bluetooth device connected/disconnected * @param state new connection state (BluetoothProfile.STATE_xxx) * @param profile profile for the A2DP device + * @param a2dpVolume New volume for the connecting device. Does nothing if disconnecting. * (either {@link android.bluetooth.BluetoothProfile.A2DP} or * {@link android.bluetooth.BluetoothProfile.A2DP_SINK}) * @param suppressNoisyIntent if true the @@ -3948,12 +3949,13 @@ public class AudioManager { * {@hide} */ public int setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent( - BluetoothDevice device, int state, int profile, boolean suppressNoisyIntent) { + BluetoothDevice device, int state, int profile, + boolean suppressNoisyIntent, int a2dpVolume) { final IAudioService service = getService(); int delay = 0; try { delay = service.setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(device, - state, profile, suppressNoisyIntent); + state, profile, suppressNoisyIntent, a2dpVolume); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl index 4af88507580d..569db16c312e 100644 --- a/media/java/android/media/IAudioService.aidl +++ b/media/java/android/media/IAudioService.aidl @@ -211,7 +211,7 @@ interface IAudioService { oneway void playerHasOpPlayAudio(in int piid, in boolean hasOpPlayAudio); int setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(in BluetoothDevice device, - int state, int profile, boolean suppressNoisyIntent); + int state, int profile, boolean suppressNoisyIntent, int a2dpVolume); oneway void setFocusRequestResultFromExtPolicy(in AudioFocusInfo afi, int requestResult, in IAudioPolicyCallback pcb); diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index 16f6284b6031..3490ff8fcf43 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -742,7 +742,12 @@ status_t JMediaCodec::setParameters(const sp<AMessage> &msg) { void JMediaCodec::setVideoScalingMode(int mode) { if (mSurfaceTextureClient != NULL) { + // this works for components that queue to surface native_window_set_scaling_mode(mSurfaceTextureClient.get(), mode); + // also signal via param for components that queue to IGBP + sp<AMessage> msg = new AMessage; + msg->setInt32("android._video-scaling", mode); + (void)mCodec->setParameters(msg); } } diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java index 91c04fa65e24..3630005416be 100644 --- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java @@ -16,6 +16,9 @@ package com.android.captiveportallogin; +import static android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_PROBE_SPEC; +import static android.net.captiveportal.CaptivePortalProbeSpec.HTTP_LOCATION_HEADER_NAME; + import android.app.Activity; import android.app.LoadedApk; import android.content.Context; @@ -29,6 +32,7 @@ import android.net.NetworkCapabilities; import android.net.NetworkRequest; import android.net.Proxy; import android.net.Uri; +import android.net.captiveportal.CaptivePortalProbeSpec; import android.net.dns.ResolvUtil; import android.net.http.SslError; import android.net.wifi.WifiInfo; @@ -85,6 +89,7 @@ public class CaptivePortalLoginActivity extends Activity { }; private URL mUrl; + private CaptivePortalProbeSpec mProbeSpec; private String mUserAgent; private Network mNetwork; private CaptivePortal mCaptivePortal; @@ -118,6 +123,14 @@ public class CaptivePortalLoginActivity extends Activity { Log.d(TAG, String.format("onCreate for %s", mUrl.toString())); } + final String spec = getIntent().getStringExtra(EXTRA_CAPTIVE_PORTAL_PROBE_SPEC); + try { + mProbeSpec = CaptivePortalProbeSpec.parseSpecOrNull(spec); + } catch (Exception e) { + // Make extra sure that invalid configurations do not cause crashes + mProbeSpec = null; + } + // Also initializes proxy system properties. mCm.bindProcessToNetwork(mNetwork); mCm.setProcessDefaultNetworkForHostResolution( @@ -329,6 +342,7 @@ public class CaptivePortalLoginActivity extends Activity { } HttpURLConnection urlConnection = null; int httpResponseCode = 500; + String locationHeader = null; try { urlConnection = (HttpURLConnection) network.openConnection(mUrl); urlConnection.setInstanceFollowRedirects(false); @@ -343,6 +357,7 @@ public class CaptivePortalLoginActivity extends Activity { urlConnection.getInputStream(); httpResponseCode = urlConnection.getResponseCode(); + locationHeader = urlConnection.getHeaderField(HTTP_LOCATION_HEADER_NAME); if (DBG) { Log.d(TAG, "probe at " + mUrl + " ret=" + httpResponseCode + @@ -353,13 +368,20 @@ public class CaptivePortalLoginActivity extends Activity { } finally { if (urlConnection != null) urlConnection.disconnect(); } - if (httpResponseCode == 204) { + if (isDismissed(httpResponseCode, locationHeader, mProbeSpec)) { done(Result.DISMISSED); } } }).start(); } + private static boolean isDismissed( + int httpResponseCode, String locationHeader, CaptivePortalProbeSpec probeSpec) { + return (probeSpec != null) + ? probeSpec.getResult(httpResponseCode, locationHeader).isSuccessful() + : (httpResponseCode == 204); + } + private class MyWebViewClient extends WebViewClient { private static final String INTERNAL_ASSETS = "file:///android_asset/"; diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java b/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java index 5b8e1fc7f6f8..2fc6db08c7f9 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java +++ b/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java @@ -57,7 +57,7 @@ public class BatteryMeterDrawableBase extends Drawable { private int mLevel = -1; private boolean mCharging; private boolean mPowerSaveEnabled; - private boolean mPowerSaveAsColorError = true; + protected boolean mPowerSaveAsColorError = true; private boolean mShowPercent; private static final boolean SINGLE_DIGIT_PERCENT = false; diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index aa9f6d43b5d0..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 0a6074b499ff..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 151caea27a28..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 64bc40a304b2..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step.png Binary files differdeleted file mode 100644 index d7f94497409a..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step_dark.png Binary files differdeleted file mode 100644 index 7c657036c4fc..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_ime_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index eea819a1109e..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index 504ceb79fba0..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 0622ddc420e3..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index fb44f22af258..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 613afce784f1..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index a665e23e7cd7..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 8e7d8cba1a4e..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 456a68f0200c..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 72b2b21772ea..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index 4f656602064f..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index eb8042609d90..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index c57facec96d0..000000000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index c03ad203f47b..000000000000 --- a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index bbaab441737b..000000000000 --- a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index fb854ec51296..000000000000 --- a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 75d184a1f739..000000000000 --- a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index bfe2b4a973c6..000000000000 --- a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index dba004096c84..000000000000 --- a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 9e0af28efced..000000000000 --- a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 7c00bd5d1f30..000000000000 --- a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 5ed0ee8c74f7..000000000000 --- a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 2b64b8073c59..000000000000 --- a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 81b44665e078..000000000000 --- a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 724aa9e19e41..000000000000 --- a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index d1811629f417..000000000000 --- a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 151a3c04fff8..000000000000 --- a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 7ba0d1b1b7d3..000000000000 --- a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index a175ccb5b4f8..000000000000 --- a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 236b70afffef..000000000000 --- a/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-land/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-land/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 3456a9760eb2..000000000000 --- a/packages/SystemUI/res/drawable-land/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 2fcfdde08164..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index 45ce1d4b62b6..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index 6da0c9e6bd5e..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 48708a5099a8..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index 71e89595f35d..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index bb7ae2637fcc..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 74f9256340c3..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index c3aea469d1cf..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-hdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 4de10b6dc5d7..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 470b3e2c21df..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-mdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 965d2f5f4063..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index e7137c68f752..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index a123262566a0..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 03dec1566ff9..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 0a95ddda616a..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index e1ca853959ca..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-sw900dp-xxxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 3d731840a93f..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index 32b9ded52836..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index ed1949c71438..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 786935d5d185..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index 2d62a80a63ba..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index a52e5b10fcf3..000000000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 34a11df8a587..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 5383215a5aef..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 1c1e78cb0a7c..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 3a22912b86b0..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step.png Binary files differdeleted file mode 100644 index d888869d2b0f..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step_dark.png Binary files differdeleted file mode 100644 index dc3b25c0d347..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index d4e5a94fca1b..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index 0e693f7d6e9a..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 93d1905d8c48..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index c7e47319bf5d..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 7c25fc510d5b..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index d2949f33c01d..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 07577999201f..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 4f07ec1a9797..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 35e7af450332..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index 06e4c26c85ca..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 1ee9cf5f352d..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 1c855c45d409..000000000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 1e2c75196c42..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 0520c493af27..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index fac2da82faba..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 3dc2b8804447..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 63739b9dec30..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 2ba5d5b150fb..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index bb24c8bbe10a..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 62dc2d9a9eff..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 711fd7a5db48..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index e718b7ad1848..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index bbb00a0c986e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 469800a34e12..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-hdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 43f77c0456c0..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 42863c634ade..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-hdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 872af0933db3..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index d9ec9d5d71b7..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-mdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index ea7ac9361471..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 8ee4e43ab78f..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index fe07f814e3d2..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index dfa8a974f50f..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 4193b218219a..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index d23abc7f4971..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-land-xxxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 56c26383c36c..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 8e56e9cf7fa4..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index c3aa434e945c..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 28a1465efa18..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 41a7209d28f9..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 0fc9677c0301..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index faaef603d947..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 7b81eeea67f8..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index c8e40d086072..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index a6483452601e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 26124850f62e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 7f7452107d94..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-mdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 3b831a3cd619..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 8c9945518464..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 3c377827f516..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index b2baa099aca6..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index b78dc9cb395f..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 37590a5381b6..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 3a208aa0ea46..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 4940d5c4f78b..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index 625ba45235b3..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 7ad2a29cce6a..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 604397e9728e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 274e5df76fb4..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 6fb19aedf5ba..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 49d2c3a3cde1..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index ac1689524020..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 216f2c77dd9f..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index e69a03790bbc..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_ime_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_ime_dark.png Binary files differdeleted file mode 100644 index 65a43544732b..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index a8c2786cb348..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index 8bddcd9e754e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index ca35888dec13..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 38c5959566f3..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 4d239564a5f5..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index c6d7c98a5e1e..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 74abc313b89c..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 06c52aa43d71..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100644 index 89bed92dd17c..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 766099774e52..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 8d4f5f3048e7..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 0d9ecc2a73e2..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 83e96a2f095c..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index d6bb8b151f0d..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 636c0c15f76b..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 298ef3ac7193..000000000000 --- a/packages/SystemUI/res/drawable-sw900dp-xxxhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index 987aac50d810..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index 371a84d5a85c..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 433e5a74d3f6..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 360ed77cde6a..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step.png Binary files differdeleted file mode 100644 index ba5b457a0bfa..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step_dark.png Binary files differdeleted file mode 100644 index a55ea1d5b1ab..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_ime_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index 407ef28a3f2a..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index 39cfbf2afb48..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 73ddde86cda4..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 96cecc97eaa7..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 0e2a14d3b54b..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 9ff98255ad5a..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index a7fd3a69e98c..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index f2a1255c3570..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index 69a018d190e3..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index e505f5ede33d..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index f810704c9aa7..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 472c55b125d3..000000000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index be03cbe16ddb..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index c04d650a82bc..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index b6b1615c5fa4..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 0f6d2060d7a9..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step.png Binary files differdeleted file mode 100644 index 5a7eec6502af..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step_dark.png Binary files differdeleted file mode 100644 index f7abb54f974f..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_ime_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index a1f44dc598b2..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index 175a9aefa463..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index 1e84732f755a..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 58bf920297b4..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index f16aa4882dd4..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index f47533ec8762..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index 0fb93ca2a18d..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index 1052940af382..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu.png Binary files differdeleted file mode 100644 index a37ca5d7daf5..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index f299d975fba6..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 109aeedab42a..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index 84d6dc8de573..000000000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back.png Binary files differdeleted file mode 100644 index a059704f9848..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_dark.png Binary files differdeleted file mode 100644 index d813bc7afb18..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime.png Binary files differdeleted file mode 100644 index 8f00a64b3603..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_dark.png Binary files differdeleted file mode 100644 index 30e878283a70..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step.png Binary files differdeleted file mode 100644 index d13c730d4f7a..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step_dark.png Binary files differdeleted file mode 100644 index 31c602e8d2d6..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_ime_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step.png Binary files differdeleted file mode 100644 index ddbcb07dacfb..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step_dark.png Binary files differdeleted file mode 100644 index ce91fcbb24b2..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_back_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png Binary files differdeleted file mode 100755 index ee3ffde568bc..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked_dark.png Binary files differdeleted file mode 100644 index 83fc6628c5fe..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home.png Binary files differdeleted file mode 100644 index 194d39f9f137..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_dark.png Binary files differdeleted file mode 100644 index 71101a1b12a4..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step.png Binary files differdeleted file mode 100644 index c606a58c247e..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step_dark.png Binary files differdeleted file mode 100644 index c2a5fef89799..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_home_quick_step_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_menu_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_menu_dark.png Binary files differdeleted file mode 100644 index 4a477addb866..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_menu_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent.png Binary files differdeleted file mode 100644 index 046d850f3e0c..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent_dark.png b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent_dark.png Binary files differdeleted file mode 100644 index bc24c00db788..000000000000 --- a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_recent_dark.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable/ic_qs_auto_rotate.xml b/packages/SystemUI/res/drawable/ic_qs_auto_rotate.xml index fba45d17cc5b..9c24c2ce9f83 100644 --- a/packages/SystemUI/res/drawable/ic_qs_auto_rotate.xml +++ b/packages/SystemUI/res/drawable/ic_qs_auto_rotate.xml @@ -18,44 +18,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:width="48dp" - android:viewportHeight="48" - android:viewportWidth="48"> - <group - android:name="device" - android:translateX="24" - android:translateY="24" > - <group - android:name="device_pivot" - android:translateX="-24.15" - android:translateY="-24.25" > - <group - android:name="device_0" - android:translateX="24.14999" - android:translateY="24.25" > - <path - android:name="device_merged" - android:pathData="M -3.5,-20.5 c -1.19999694824,-1.19999694824 -3.10000610352,-1.19999694824 -4.19999694824,0.0 c 0.0,0.0 -12.8000030518,12.6999969482 -12.8000030518,12.6999969482 c -1.19999694824,1.19999694824 -1.19999694824,3.10000610352 0.0,4.19999694824 c 0.0,0.0 24.0,24.0000152588 24.0,24.0000152588 c 1.19999694824,1.19999694824 3.10000610352,1.19999694824 4.19999694824,0.0 c 0.0,0.0 12.6999969482,-12.700012207 12.6999969482,-12.700012207 c 1.20001220703,-1.19999694824 1.20001220703,-3.09999084473 0.0,-4.19999694824 c 0.0,0.0 -23.8999938965,-24.0 -23.8999938965,-24.0 Z M 2.84999084473,15.5500183105 c 0.0,0.0 -18.6000061035,-18.5000457764 -18.6000061035,-18.5000457764 c 0.0,0.0 12.5999908447,-12.8000030518 12.5999908447,-12.8000030518 c 0.0,0.0 18.6000213623,18.5000457764 18.6000213623,18.5000457764 c 0.0,0.0 -12.6000061035,12.8000030518 -12.6000061035,12.8000030518 Z" - android:fillColor="#FFFFFFFF" /> - </group> - </group> - </group> - <group - android:name="arrows" - android:translateX="24" - android:translateY="24" > - <group - android:name="arrows_pivot" - android:translateX="-24.0798" - android:translateY="-24.23" > - <group - android:name="arrows_0" - android:translateX="12.2505" - android:translateY="37.2145" > - <path - android:name="bottom_merged" - android:pathData="M 20.7395019531,-31.9844970703 c 6.23999023438,2.83999633789 10.6999969482,8.7200012207 11.8399963379,15.7799987793 c 0.119995117188,0.699996948242 0.740005493164,1.2200012207 1.46099853516,1.2200012207 c 0.919998168945,0.0 1.6190032959,-0.84001159668 1.47900390625,-1.74000549316 c -1.75900268555,-10.3800048828 -9.75900268555,-19.1199951172 -22.5800018311,-20.1600036621 c -0.919998168945,-0.0800018310547 -1.43899536133,1.04000854492 -0.800003051758,1.70001220703 c 0.0,0.0 5.12100219727,5.11999511719 5.12100219727,5.11999511719 c 0.378997802734,0.380004882812 0.97900390625,0.380004882812 1.37899780273,0.020004272461 c 0.0,0.0 2.10000610352,-1.94000244141 2.10000610352,-1.94000244141 Z M 2.73950195312,6.01550292969 c -6.26000976562,-2.83999633789 -10.7200012207,-8.76000976562 -11.8399963379,-15.8600006104 c -0.118011474609,-0.667007446289 -0.702011108398,-1.15100097656 -1.38000488281,-1.13999938965 c -0.860000610352,0.0 -1.52000427246,0.759994506836 -1.38000488281,1.61999511719 c 1.54000854492,10.4000091553 9.5,19.2200012207 22.4199981689,20.2799987793 c 0.920013427734,0.0800018310547 1.44100952148,-1.03999328613 0.800003051758,-1.69999694824 c 0.0,0.0 -5.11999511719,-5.11999511719 -5.11999511719,-5.11999511719 c -0.380004882812,-0.376007080078 -0.988998413086,-0.385009765625 -1.38000488281,-0.0200042724609 c 0.0,0.0 -2.11999511719,1.94000244141 -2.11999511719,1.94000244141 Z" - android:fillColor="#FFFFFFFF" /> - </group> - </group> - </group> + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M12.72,23H11C5.49,23 1,18.51 1,13h2c0,3.78 2.63,6.95 6.15,7.79L8.13,19L9.87,18L12.72,23zM13,1h-1.72l2.85,5L15.87,5l-1.02,-1.79C18.37,4.05 21,7.22 21,11h2C23,5.49 18.51,1 13,1zM10.23,6L18,13.76L13.77,18L6,10.24L10.23,6C10.23,6 10.23,6 10.23,6M10.23,4C9.72,4 9.21,4.2 8.82,4.59L4.59,8.82c-0.78,0.78 -0.78,2.04 0,2.82l7.77,7.77c0.39,0.39 0.9,0.59 1.41,0.59c0.51,0 1.02,-0.2 1.41,-0.59l4.24,-4.24c0.78,-0.78 0.78,-2.04 0,-2.82l-7.77,-7.77C11.26,4.2 10.75,4 10.23,4L10.23,4z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_sysbar_accessibility_button.xml b/packages/SystemUI/res/drawable/ic_sysbar_accessibility_button.xml index 1603ebab1f27..6fbc404d9905 100644 --- a/packages/SystemUI/res/drawable/ic_sysbar_accessibility_button.xml +++ b/packages/SystemUI/res/drawable/ic_sysbar_accessibility_button.xml @@ -14,12 +14,11 @@ 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="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> <path android:pathData="M20.5,6c-2.61,0.7 -5.67,1 -8.5,1S6.11,6.7 3.5,6L3,8c1.86,0.5 4,0.83 6,1v13h2v-6h2v6h2V9c2,-0.17 4.14,-0.5 6,-1L20.5,6zM12,6c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2s-2,0.9 -2,2S10.9,6 12,6z" android:fillColor="?attr/singleToneColor"/> diff --git a/packages/SystemUI/res/drawable/ic_sysbar_back.xml b/packages/SystemUI/res/drawable/ic_sysbar_back.xml new file mode 100644 index 000000000000..144884349c52 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_back.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M6.49,14.86c-0.66-0.39-0.66-1.34,0-1.73l6.02-3.53l5.89-3.46C19.11,5.73,20,6.26,20,7.1V14v6.9 c0,0.84-0.89,1.37-1.6,0.95l-5.89-3.46L6.49,14.86z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_sysbar_back_quick_step.xml b/packages/SystemUI/res/drawable/ic_sysbar_back_quick_step.xml new file mode 100644 index 000000000000..b02a252bf01d --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_back_quick_step.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M17.25,10.15V14v3.85L14,15.95L10.69,14L14,12.05L17.25,10.15 M18.16,7.71c-0.14,0-0.28,0.04-0.42,0.12 l-4.63,2.72l-4.73,2.78c-0.52,0.3-0.52,1.05,0,1.36l4.73,2.78l4.63,2.72c0.13,0.08,0.28,0.12,0.42,0.12c0.44,0,0.84-0.36,0.84-0.86 V14V8.58C19,8.08,18.6,7.71,18.16,7.71L18.16,7.71z" /> + <path + android:pathData="M 0 0 H 28 V 28 H 0 V 0 Z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_sysbar_docked.xml b/packages/SystemUI/res/drawable/ic_sysbar_docked.xml new file mode 100644 index 000000000000..693835f5364d --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_docked.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M20.5,13h-13C6.67,13,6,12.33,6,11.5v-4C6,6.67,6.67,6,7.5,6h13C21.33,6,22,6.67,22,7.5v4 C22,12.33,21.33,13,20.5,13z" /> + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M20.5,22h-13C6.67,22,6,21.33,6,20.5v-4C6,15.67,6.67,15,7.5,15h13c0.83,0,1.5,0.67,1.5,1.5v4 C22,21.33,21.33,22,20.5,22z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_sysbar_home.xml b/packages/SystemUI/res/drawable/ic_sysbar_home.xml new file mode 100644 index 000000000000..a960af7ca856 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_home.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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. +--> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="oval" + android:useLevel="false"> + + <solid android:color="?attr/singleToneColor" /> + + <size + android:height="14dp" + android:width="14dp" /> +</shape> diff --git a/packages/SystemUI/res/drawable/ic_sysbar_home_quick_step.xml b/packages/SystemUI/res/drawable/ic_sysbar_home_quick_step.xml new file mode 100644 index 000000000000..ba1236e1bada --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_home_quick_step.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M23,19H5c-2.76,0-5-2.24-5-5l0,0c0-2.76,2.24-5,5-5h18c2.76,0,5,2.24,5,5l0,0C28,16.76,25.76,19,23,19z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_sysbar_menu.xml b/packages/SystemUI/res/drawable/ic_sysbar_menu.xml new file mode 100644 index 000000000000..5cc17911f11f --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_menu.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M14,9.5c1.24,0,2.25-1.01,2.25-2.25S15.24,5,14,5s-2.25,1.01-2.25,2.25S12.76,9.5,14,9.5z M14,11.75 c-1.24,0-2.25,1.01-2.25,2.25s1.01,2.25,2.25,2.25s2.25-1.01,2.25-2.25S15.24,11.75,14,11.75z M14,18.5 c-1.24,0-2.25,1.01-2.25,2.25S12.76,23,14,23s2.25-1.01,2.25-2.25S15.24,18.5,14,18.5z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_sysbar_recent.xml b/packages/SystemUI/res/drawable/ic_sysbar_recent.xml new file mode 100644 index 000000000000..6b038d179568 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sysbar_recent.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="28dp" + android:height="28dp" + android:viewportWidth="28" + android:viewportHeight="28"> + + <path + android:fillColor="?attr/singleToneColor" + android:pathData="M19.9,21.5H8.1c-0.88,0-1.6-0.72-1.6-1.6V8.1c0-0.88,0.72-1.6,1.6-1.6h11.8c0.88,0,1.6,0.72,1.6,1.6v11.8 C21.5,20.78,20.78,21.5,19.9,21.5z" /> +</vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/back.xml b/packages/SystemUI/res/layout/back.xml index 6843db9313d4..4e8726b3a634 100644 --- a/packages/SystemUI/res/layout/back.xml +++ b/packages/SystemUI/res/layout/back.xml @@ -22,10 +22,8 @@ android:layout_height="match_parent" android:layout_weight="0" systemui:keyCode="4" - android:scaleType="fitCenter" + android:scaleType="center" android:contentDescription="@string/accessibility_back" - android:paddingTop="@dimen/home_padding" - android:paddingBottom="@dimen/home_padding" android:paddingStart="@dimen/navigation_key_padding" android:paddingEnd="@dimen/navigation_key_padding" /> diff --git a/packages/SystemUI/res/layout/car_fullscreen_user_pod.xml b/packages/SystemUI/res/layout/car_fullscreen_user_pod.xml index f34811eb53f8..8379dbb4826d 100644 --- a/packages/SystemUI/res/layout/car_fullscreen_user_pod.xml +++ b/packages/SystemUI/res/layout/car_fullscreen_user_pod.xml @@ -23,15 +23,13 @@ android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" - android:gravity="center" - > + android:gravity="center"> <ImageView android:id="@+id/user_avatar" android:layout_width="@dimen/car_user_switcher_image_avatar_size" android:layout_height="@dimen/car_user_switcher_image_avatar_size" android:background="@drawable/car_button_ripple_background_inverse" - android:gravity="center" - /> + android:gravity="center"/> <TextView android:id="@+id/user_name" android:layout_width="match_parent" diff --git a/packages/SystemUI/res/layout/car_fullscreen_user_switcher.xml b/packages/SystemUI/res/layout/car_fullscreen_user_switcher.xml index bf5f188b25fa..2e1487c21024 100644 --- a/packages/SystemUI/res/layout/car_fullscreen_user_switcher.xml +++ b/packages/SystemUI/res/layout/car_fullscreen_user_switcher.xml @@ -37,6 +37,7 @@ android:id="@+id/user_grid" android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_marginTop="@dimen/car_user_switcher_margin_top" app:verticallyCenterListContent="true" app:dayNightStyle="force_night" app:showPagedListViewDivider="false" diff --git a/packages/SystemUI/res/layout/home.xml b/packages/SystemUI/res/layout/home.xml index 7b67b79f9432..95863272b9bf 100644 --- a/packages/SystemUI/res/layout/home.xml +++ b/packages/SystemUI/res/layout/home.xml @@ -21,10 +21,8 @@ android:layout_height="match_parent" android:layout_weight="0" systemui:keyCode="3" - android:scaleType="fitCenter" + android:scaleType="center" android:contentDescription="@string/accessibility_home" - android:paddingTop="@dimen/home_padding" - android:paddingBottom="@dimen/home_padding" android:paddingStart="@dimen/navigation_key_padding" android:paddingEnd="@dimen/navigation_key_padding" /> diff --git a/packages/SystemUI/res/layout/recent_apps.xml b/packages/SystemUI/res/layout/recent_apps.xml index 6b08cea7705f..870bcf7547a7 100644 --- a/packages/SystemUI/res/layout/recent_apps.xml +++ b/packages/SystemUI/res/layout/recent_apps.xml @@ -21,10 +21,8 @@ android:layout_width="@dimen/navigation_key_width" android:layout_height="match_parent" android:layout_weight="0" - android:scaleType="fitCenter" + android:scaleType="center" android:contentDescription="@string/accessibility_recent" - android:paddingTop="@dimen/home_padding" - android:paddingBottom="@dimen/home_padding" android:paddingStart="@dimen/navigation_key_padding" android:paddingEnd="@dimen/navigation_key_padding" /> diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml index 923edc8f1e92..2dc6525ffdd9 100644 --- a/packages/SystemUI/res/values-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp/dimens.xml @@ -91,7 +91,4 @@ <!-- The offsets the tasks animate from when recents is launched while docking --> <dimen name="recents_task_stack_animation_launched_while_docking_offset">192dp</dimen> - - <!-- Home button padding for sizing --> - <dimen name="home_padding">0dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 3472477c4ce5..d8607ccf0f37 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -104,6 +104,9 @@ <!-- The color of the navigation bar icons. Need to be in sync with ic_sysbar_* --> <color name="navigation_bar_icon_color">#E5FFFFFF</color> + <!-- The shadow color for light navigation bar icons. --> + <color name="nav_key_button_shadow_color">#30000000</color> + <!-- Shadow color for the first pixels around the fake shadow for recents. --> <color name="fake_shadow_start_color">#44000000</color> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 0c7c60010818..0024fe4979ed 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -941,8 +941,10 @@ <dimen name="nav_quick_scrub_track_edge_padding">42dp</dimen> <dimen name="nav_quick_scrub_track_thickness">2dp</dimen> - <!-- Home button padding for sizing --> - <dimen name="home_padding">16dp</dimen> + <!-- Navigation bar shadow params. --> + <dimen name="nav_key_button_shadow_offset_x">0dp</dimen> + <dimen name="nav_key_button_shadow_offset_y">1dp</dimen> + <dimen name="nav_key_button_shadow_radius">0.5dp</dimen> <!-- Smart reply button. Total height 48dp, visible height 32dp. --> <dimen name="smart_reply_button_spacing">8dp</dimen> diff --git a/packages/SystemUI/res/values/dimens_car.xml b/packages/SystemUI/res/values/dimens_car.xml index 8e17b52e6180..afbe17632346 100644 --- a/packages/SystemUI/res/values/dimens_car.xml +++ b/packages/SystemUI/res/values/dimens_car.xml @@ -21,6 +21,7 @@ <dimen name="car_user_switcher_image_avatar_size">@dimen/car_large_avatar_size</dimen> <dimen name="car_user_switcher_vertical_spacing_between_users">@dimen/car_padding_5</dimen> <dimen name="car_user_switcher_vertical_spacing_between_name_and_avatar">@dimen/car_padding_4</dimen> + <dimen name="car_user_switcher_margin_top">@dimen/car_padding_4</dimen> <dimen name="car_navigation_button_width">64dp</dimen> <dimen name="car_navigation_bar_width">760dp</dimen> diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 97cf1e51e1df..52e1c167ffc8 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -84,10 +84,9 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe private LiveData<Slice> mLiveData; private int mIconSize; /** - * Listener called whenever the view contents change. - * Boolean will be true when the change happens animated. + * Runnable called whenever the view contents change. */ - private Consumer<Boolean> mContentChangeListener; + private Runnable mContentChangeListener; private boolean mHasHeader; private Slice mSlice; private boolean mPulsing; @@ -150,7 +149,9 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe if (mPulsing || mSlice == null) { mTitle.setVisibility(GONE); mRow.setVisibility(GONE); - mContentChangeListener.accept(getLayoutTransition() != null); + if (mContentChangeListener != null) { + mContentChangeListener.run(); + } return; } @@ -223,7 +224,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe } if (mContentChangeListener != null) { - mContentChangeListener.accept(getLayoutTransition() != null); + mContentChangeListener.run(); } } @@ -310,11 +311,10 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe } /** - * Listener that gets invoked every time the title or the row visibility changes. - * Parameter will be {@code true} whenever the change happens animated. + * Runnable that gets invoked every time the title or the row visibility changes. * @param contentChangeListener The listener. */ - public void setContentChangeListener(Consumer<Boolean> contentChangeListener) { + public void setContentChangeListener(Runnable contentChangeListener) { mContentChangeListener = contentChangeListener; } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index 758a1b44b927..976b45424502 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -76,7 +76,6 @@ public class KeyguardStatusView extends GridLayout implements private float mDarkAmount = 0; private int mTextColor; private float mWidgetPadding; - private boolean mAnimateLayout; private int mLastLayoutHeight; private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() { @@ -185,7 +184,7 @@ public class KeyguardStatusView extends GridLayout implements mClockView.addOnLayoutChangeListener(this); mClockSeparator.addOnLayoutChangeListener(this); mKeyguardSlice.setContentChangeListener(this::onSliceContentChanged); - onSliceContentChanged(false /* animated */); + onSliceContentChanged(); boolean shouldMarquee = KeyguardUpdateMonitor.getInstance(mContext).isDeviceInteractive(); setEnableMarquee(shouldMarquee); @@ -199,8 +198,7 @@ public class KeyguardStatusView extends GridLayout implements mClockView.setElegantTextHeight(false); } - private void onSliceContentChanged(boolean animated) { - mAnimateLayout = animated; + private void onSliceContentChanged() { boolean smallClock = mKeyguardSlice.hasHeader() || mPulsing; float clockScale = smallClock ? mSmallClockScale : 1; @@ -228,10 +226,12 @@ public class KeyguardStatusView extends GridLayout implements long duration = KeyguardSliceView.DEFAULT_ANIM_DURATION; long delay = smallClock ? 0 : duration / 4; + boolean shouldAnimate = mKeyguardSlice.getLayoutTransition() != null + && mKeyguardSlice.getLayoutTransition().isRunning(); if (view == mClockView) { float clockScale = smallClock ? mSmallClockScale : 1; Paint.Style style = smallClock ? Paint.Style.FILL_AND_STROKE : Paint.Style.FILL; - if (mAnimateLayout) { + if (shouldAnimate) { mClockView.setY(oldTop + heightOffset); mClockView.animate().cancel(); mClockView.animate() @@ -257,7 +257,7 @@ public class KeyguardStatusView extends GridLayout implements } else if (view == mClockSeparator) { boolean hasSeparator = hasHeader && !mPulsing; float alpha = hasSeparator ? 1 : 0; - if (mAnimateLayout) { + if (shouldAnimate) { boolean isAwake = mDarkAmount != 0; mClockSeparator.setY(oldTop + heightOffset); mClockSeparator.animate().cancel(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java index 89f86c539b74..23e3f25f6f5a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java @@ -110,7 +110,8 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements @Override public Drawable getDrawable(Context context) { - BatterySaverDrawable b = new BatterySaverDrawable(context, 0); + BatterySaverDrawable b = + new BatterySaverDrawable(context, QSTileImpl.getColorForState(context, mState)); b.mState = mState; final int pad = context.getResources() .getDimensionPixelSize(R.dimen.qs_tile_divider_height); @@ -130,11 +131,16 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements setPowerSave(true); setCharging(false); setPowerSaveAsColorError(false); + mPowerSaveAsColorError = true; + mFramePaint.setColor(0); + mPowersavePaint.setColor(frameColor); + mFramePaint.setStrokeWidth(mPowersavePaint.getStrokeWidth()); + mPlusPaint.setColor(frameColor); } @Override protected int batteryColorForLevel(int level) { - return QSTileImpl.getColorForState(mContext, mState); + return 0; } @Override diff --git a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java index 167df8c614a6..481d54f3bbb6 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java +++ b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java @@ -28,6 +28,7 @@ import android.graphics.drawable.ColorDrawable; import android.os.Binder; import android.os.RemoteException; import android.util.DisplayMetrics; +import android.view.ContextThemeWrapper; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -40,6 +41,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import com.android.settingslib.Utils; import com.android.systemui.R; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.statusbar.phone.NavigationBarView; @@ -259,10 +261,16 @@ public class ScreenPinningRequest implements View.OnClickListener { } if (navigationBarView != null) { + int dualToneDarkTheme = Utils.getThemeAttr(getContext(), R.attr.darkIconTheme); + int dualToneLightTheme = Utils.getThemeAttr(getContext(), R.attr.lightIconTheme); + Context lightContext = new ContextThemeWrapper(getContext(), dualToneLightTheme); + Context darkContext = new ContextThemeWrapper(getContext(), dualToneDarkTheme); ((ImageView) mLayout.findViewById(R.id.screen_pinning_back_icon)) - .setImageDrawable(navigationBarView.getBackDrawable(mContext)); + .setImageDrawable(navigationBarView.getBackDrawable(lightContext, + darkContext)); ((ImageView) mLayout.findViewById(R.id.screen_pinning_home_icon)) - .setImageDrawable(navigationBarView.getHomeDrawable(mContext)); + .setImageDrawable(navigationBarView.getHomeDrawable(lightContext, + darkContext)); } ((TextView) mLayout.findViewById(R.id.screen_pinning_description)) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java index 364ed80638de..6a387971500e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java @@ -515,6 +515,13 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView } } + @Override + public void setDistanceToTopRoundness(float distanceToTopRoundness) { + super.setDistanceToTopRoundness(distanceToTopRoundness); + mBackgroundNormal.setDistanceToTopRoundness(distanceToTopRoundness); + mBackgroundDimmed.setDistanceToTopRoundness(distanceToTopRoundness); + } + /** * Set an override tint color that is used for the background. * diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index d03da8f7c9aa..f30fa6bd4b93 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -2795,6 +2795,24 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } @Override + public boolean topAmountNeedsClipping() { + if (isGroupExpanded()) { + return true; + } + if (isGroupExpansionChanging()) { + return true; + } + if (getShowingLayout().shouldClipToRounding(true /* topRounded */, + false /* bottomRounded */)) { + return true; + } + if (mGuts != null && mGuts.getAlpha() != 0.0f) { + return true; + } + return false; + } + + @Override protected boolean childNeedsClipping(View child) { if (child instanceof NotificationContentView) { NotificationContentView contentView = (NotificationContentView) child; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java index 67268c00a4ce..edfa61b4ddc2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java @@ -76,7 +76,7 @@ public abstract class ExpandableOutlineView extends ExpandableView { * it is moved. Otherwise, the translation is set on the {@code ExpandableOutlineView} itself. */ protected boolean mShouldTranslateContents; - private boolean mClipRoundedToClipTopAmount; + private boolean mTopAmountRounded; private float mDistanceToTopRoundness = -1; private float mExtraWidthForClipping; private int mMinimumHeightForClipping = 0; @@ -85,7 +85,8 @@ public abstract class ExpandableOutlineView extends ExpandableView { @Override public void getOutline(View view, Outline outline) { if (!mCustomOutline && mCurrentTopRoundness == 0.0f - && mCurrentBottomRoundness == 0.0f && !mAlwaysRoundBothCorners) { + && mCurrentBottomRoundness == 0.0f && !mAlwaysRoundBothCorners + && !mTopAmountRounded) { int translation = mShouldTranslateContents ? (int) getTranslation() : 0; int left = Math.max(translation, 0); int top = mClipTopAmount + mBackgroundTop; @@ -145,9 +146,9 @@ public abstract class ExpandableOutlineView extends ExpandableView { return EMPTY_PATH; } float topRoundness = mAlwaysRoundBothCorners - ? mOutlineRadius : mCurrentTopRoundness * mOutlineRadius; + ? mOutlineRadius : getCurrentBackgroundRadiusTop(); float bottomRoundness = mAlwaysRoundBothCorners - ? mOutlineRadius : mCurrentBottomRoundness * mOutlineRadius; + ? mOutlineRadius : getCurrentBackgroundRadiusBottom(); if (topRoundness + bottomRoundness > height) { float overShoot = topRoundness + bottomRoundness - height; topRoundness -= overShoot * mCurrentTopRoundness @@ -203,7 +204,7 @@ public abstract class ExpandableOutlineView extends ExpandableView { protected boolean drawChild(Canvas canvas, View child, long drawingTime) { canvas.save(); Path intersectPath = null; - if (mClipRoundedToClipTopAmount) { + if (mTopAmountRounded && topAmountNeedsClipping()) { int left = (int) (- mExtraWidthForClipping / 2.0f); int top = (int) (mClipTopAmount - mDistanceToTopRoundness); int right = getWidth() + (int) (mExtraWidthForClipping + left); @@ -248,9 +249,9 @@ public abstract class ExpandableOutlineView extends ExpandableView { public void setDistanceToTopRoundness(float distanceToTopRoundness) { super.setDistanceToTopRoundness(distanceToTopRoundness); if (distanceToTopRoundness != mDistanceToTopRoundness) { - mClipRoundedToClipTopAmount = distanceToTopRoundness >= 0; + mTopAmountRounded = distanceToTopRoundness >= 0; mDistanceToTopRoundness = distanceToTopRoundness; - invalidate(); + applyRoundness(); } } @@ -258,9 +259,12 @@ public abstract class ExpandableOutlineView extends ExpandableView { return false; } + public boolean topAmountNeedsClipping() { + return true; + } + protected boolean isClippingNeeded() { return mAlwaysRoundBothCorners || mCustomOutline || getTranslation() != 0 ; - } private void initDimens() { @@ -296,6 +300,11 @@ public abstract class ExpandableOutlineView extends ExpandableView { } public float getCurrentBackgroundRadiusTop() { + // If this view is top amount notification view, it should always has round corners on top. + // It will be applied with applyRoundness() + if (mTopAmountRounded) { + return mOutlineRadius; + } return mCurrentTopRoundness * mOutlineRadius; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java index 0ff4dde580b7..969e9d97a1f0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java @@ -53,6 +53,9 @@ public class NotificationBackgroundView extends View { private int mDrawableAlpha = 255; private boolean mIsPressedAllowed; + private boolean mTopAmountRounded; + private float mDistanceToTopRoundness; + public NotificationBackgroundView(Context context, AttributeSet attrs) { super(context, attrs); mDontModifyCorners = getResources().getBoolean( @@ -74,6 +77,7 @@ public class NotificationBackgroundView extends View { private void draw(Canvas canvas, Drawable drawable) { if (drawable != null) { + int top = mBackgroundTop; int bottom = mActualHeight; if (mBottomIsRounded && mBottomAmountClips && !mExpandAnimationRunning) { bottom -= mClipBottomAmount; @@ -84,7 +88,14 @@ public class NotificationBackgroundView extends View { left = (int) ((getWidth() - mActualWidth) / 2.0f); right = (int) (left + mActualWidth); } - drawable.setBounds(left, mBackgroundTop, right, bottom); + if (mTopAmountRounded) { + int clipTop = (int) (mClipTopAmount - mDistanceToTopRoundness); + top += clipTop; + if (clipTop >= 0) { + bottom += clipTop; + } + } + drawable.setBounds(left, top, right, bottom); drawable.draw(canvas); } } @@ -165,6 +176,14 @@ public class NotificationBackgroundView extends View { invalidate(); } + public void setDistanceToTopRoundness(float distanceToTopRoundness) { + if (distanceToTopRoundness != mDistanceToTopRoundness) { + mTopAmountRounded = distanceToTopRoundness >= 0; + mDistanceToTopRoundness = distanceToTopRoundness; + invalidate(); + } + } + @Override public boolean hasOverlappingRendering() { @@ -198,6 +217,9 @@ public class NotificationBackgroundView extends View { } public void setRoundness(float topRoundness, float bottomRoundNess) { + if (topRoundness == mCornerRadii[0] && bottomRoundNess == mCornerRadii[4]) { + return; + } mBottomIsRounded = bottomRoundNess != 0.0f; mCornerRadii[0] = topRoundness; mCornerRadii[1] = topRoundness; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java index aaf1989d162e..a49d507aa21a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.car; +import static android.content.DialogInterface.BUTTON_NEGATIVE; import static android.content.DialogInterface.BUTTON_POSITIVE; import android.app.AlertDialog; @@ -27,7 +28,6 @@ import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Bitmap; import android.os.AsyncTask; -import android.os.UserHandle; import android.support.v4.graphics.drawable.RoundedBitmapDrawable; import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; import android.support.v7.widget.RecyclerView; @@ -167,6 +167,9 @@ public class UserGridRecyclerView extends PagedListView implements private AlertDialog mDialog; // View that holds the add user button. Used to enable/disable the view private View mAddUserView; + // User record for the add user. Need to call notifyUserSelected only if the user + // confirms adding a user + private UserRecord mAddUserRecord; public UserAdapter(Context context, List<UserRecord> users) { mRes = context.getResources(); @@ -201,18 +204,16 @@ public class UserGridRecyclerView extends PagedListView implements circleIcon.setCircular(true); holder.mUserAvatarImageView.setImageDrawable(circleIcon); holder.mUserNameTextView.setText(userRecord.mInfo.name); + holder.mView.setOnClickListener(v -> { if (userRecord == null) { return; } - // Notify the listener which user was selected - if (mUserSelectionListener != null) { - mUserSelectionListener.onUserSelected(userRecord); - } // If the user selects Guest, start the guest session. if (userRecord.mIsStartGuestSession) { + notifyUserSelected(userRecord); mUserManagerHelper.startNewGuestSession(mGuestName); return; } @@ -228,6 +229,7 @@ public class UserGridRecyclerView extends PagedListView implements .concat(System.getProperty("line.separator")) .concat(mRes.getString(R.string.user_add_user_message_update)); + mAddUserRecord = userRecord; mDialog = new Builder(mContext, R.style.Theme_Car_Dark_Dialog_Alert) .setTitle(R.string.user_add_user_title) .setMessage(message) @@ -240,11 +242,19 @@ public class UserGridRecyclerView extends PagedListView implements return; } // If the user doesn't want to be a guest or add a user, switch to the user selected + notifyUserSelected(userRecord); mUserManagerHelper.switchToUser(userRecord.mInfo); }); } + private void notifyUserSelected(UserRecord userRecord) { + // Notify the listener which user was selected + if (mUserSelectionListener != null) { + mUserSelectionListener.onUserSelected(userRecord); + } + } + private Bitmap getUserRecordIcon(UserRecord userRecord) { if (userRecord.mIsStartGuestSession) { return mUserManagerHelper.getGuestDefaultIcon(); @@ -260,12 +270,14 @@ public class UserGridRecyclerView extends PagedListView implements @Override public void onClick(DialogInterface dialog, int which) { - // Enable the add button - if (mAddUserView != null) { - mAddUserView.setEnabled(true); - } if (which == BUTTON_POSITIVE) { + notifyUserSelected(mAddUserRecord); new AddNewUserTask().execute(mNewUserName); + } else if (which == BUTTON_NEGATIVE) { + // Enable the add button only if cancel + if (mAddUserView != null) { + mAddUserView.setEnabled(true); + } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 98672b238c4e..a907bdd32521 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -39,7 +39,6 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; -import android.os.RemoteException; import android.os.SystemProperties; import android.support.annotation.ColorInt; import android.util.AttributeSet; @@ -119,7 +118,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav private Rect mRotationButtonBounds = new Rect(); private int[] mTmpPosition = new int[2]; - private KeyButtonDrawable mBackIcon, mBackLandIcon, mBackAltIcon, mBackAltLandIcon; + private KeyButtonDrawable mBackIcon; private KeyButtonDrawable mBackCarModeIcon, mBackLandCarModeIcon; private KeyButtonDrawable mBackAltCarModeIcon, mBackAltLandCarModeIcon; private KeyButtonDrawable mHomeDefaultIcon, mHomeCarModeIcon; @@ -453,6 +452,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav && ((mOverviewProxyService.getInteractionFlags() & FLAG_DISABLE_QUICK_SCRUB) == 0); } + // TODO(b/80003212): change car mode icons to vector icons. private void updateCarModeIcons(Context ctx) { mBackCarModeIcon = getDrawable(ctx, R.drawable.ic_sysbar_back_carmode, R.drawable.ic_sysbar_back_carmode); @@ -469,33 +469,27 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav } private void updateIcons(Context ctx, Configuration oldConfig, Configuration newConfig) { + int dualToneDarkTheme = Utils.getThemeAttr(ctx, R.attr.darkIconTheme); + int dualToneLightTheme = Utils.getThemeAttr(ctx, R.attr.lightIconTheme); + Context lightContext = new ContextThemeWrapper(ctx, dualToneLightTheme); + Context darkContext = new ContextThemeWrapper(ctx, dualToneDarkTheme); + if (oldConfig.orientation != newConfig.orientation || oldConfig.densityDpi != newConfig.densityDpi) { - mDockedIcon = getDrawable(ctx, - R.drawable.ic_sysbar_docked, R.drawable.ic_sysbar_docked_dark); - mHomeDefaultIcon = getHomeDrawable(ctx); + mDockedIcon = getDrawable(lightContext, darkContext, R.drawable.ic_sysbar_docked); + mHomeDefaultIcon = getHomeDrawable(lightContext, darkContext); } if (oldConfig.densityDpi != newConfig.densityDpi || oldConfig.getLayoutDirection() != newConfig.getLayoutDirection()) { - mBackIcon = getBackDrawable(ctx); - mBackLandIcon = mBackIcon; - mBackAltIcon = getBackImeDrawable(ctx); - mBackAltLandIcon = mBackAltIcon; - mRecentIcon = getDrawable(ctx, - R.drawable.ic_sysbar_recent, R.drawable.ic_sysbar_recent_dark); - mMenuIcon = getDrawable(ctx, R.drawable.ic_sysbar_menu, R.drawable.ic_sysbar_menu_dark); - - int dualToneDarkTheme = Utils.getThemeAttr(ctx, R.attr.darkIconTheme); - int dualToneLightTheme = Utils.getThemeAttr(ctx, R.attr.lightIconTheme); - Context darkContext = new ContextThemeWrapper(ctx, dualToneDarkTheme); - Context lightContext = new ContextThemeWrapper(ctx, dualToneLightTheme); - - mAccessibilityIcon = getDrawable(darkContext, lightContext, - R.drawable.ic_sysbar_accessibility_button, - R.drawable.ic_sysbar_accessibility_button); - - mImeIcon = getDrawable(darkContext, lightContext, - R.drawable.ic_ime_switcher_default, R.drawable.ic_ime_switcher_default); + mBackIcon = getBackDrawable(lightContext, darkContext); + mRecentIcon = getDrawable(lightContext, darkContext, R.drawable.ic_sysbar_recent); + mMenuIcon = getDrawable(lightContext, darkContext, R.drawable.ic_sysbar_menu); + + mAccessibilityIcon = getDrawable(lightContext, darkContext, + R.drawable.ic_sysbar_accessibility_button, false /* hasShadow */); + + mImeIcon = getDrawable(lightContext, darkContext, R.drawable.ic_ime_switcher_default, + false /* hasShadow */); updateRotateSuggestionButtonStyle(mRotateBtnStyle, false); @@ -505,42 +499,58 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav } } - public KeyButtonDrawable getBackDrawable(Context ctx) { - return chooseNavigationIconDrawable(ctx, R.drawable.ic_sysbar_back, - R.drawable.ic_sysbar_back_dark, R.drawable.ic_sysbar_back_quick_step, - R.drawable.ic_sysbar_back_quick_step_dark); + public KeyButtonDrawable getBackDrawable(Context lightContext, Context darkContext) { + KeyButtonDrawable drawable = chooseNavigationIconDrawable(lightContext, darkContext, + R.drawable.ic_sysbar_back, R.drawable.ic_sysbar_back_quick_step); + orientBackButton(drawable); + return drawable; } - public KeyButtonDrawable getBackImeDrawable(Context ctx) { - return chooseNavigationIconDrawable(ctx, R.drawable.ic_sysbar_back_ime, - R.drawable.ic_sysbar_back_ime_dark, R.drawable.ic_sysbar_back_ime_quick_step, - R.drawable.ic_sysbar_back_ime_quick_step_dark); + public KeyButtonDrawable getHomeDrawable(Context lightContext, Context darkContext) { + final boolean quickStepEnabled = mOverviewProxyService.shouldShowSwipeUpUI(); + KeyButtonDrawable drawable = quickStepEnabled + ? getDrawable(lightContext, darkContext, R.drawable.ic_sysbar_home_quick_step) + : getDrawable(lightContext, darkContext, R.drawable.ic_sysbar_home, + false /* hasShadow */); + orientHomeButton(drawable); + return drawable; + } + + private void orientBackButton(KeyButtonDrawable drawable) { + final boolean useAltBack = + (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0; + drawable.setRotation(useAltBack + ? -90 : (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) ? 180 : 0); } - public KeyButtonDrawable getHomeDrawable(Context ctx) { - return chooseNavigationIconDrawable(ctx, R.drawable.ic_sysbar_home, - R.drawable.ic_sysbar_home_dark, R.drawable.ic_sysbar_home_quick_step, - R.drawable.ic_sysbar_home_quick_step_dark); + private void orientHomeButton(KeyButtonDrawable drawable) { + drawable.setRotation(mVertical ? 90 : 0); } - private KeyButtonDrawable chooseNavigationIconDrawable(Context ctx, @DrawableRes int iconLight, - @DrawableRes int iconDark, @DrawableRes int quickStepIconLight, - @DrawableRes int quickStepIconDark) { + private KeyButtonDrawable chooseNavigationIconDrawable(Context lightContext, + Context darkContext, @DrawableRes int icon, @DrawableRes int quickStepIcon) { final boolean quickStepEnabled = mOverviewProxyService.shouldShowSwipeUpUI(); return quickStepEnabled - ? getDrawable(ctx, quickStepIconLight, quickStepIconDark) - : getDrawable(ctx, iconLight, iconDark); + ? getDrawable(lightContext, darkContext, quickStepIcon) + : getDrawable(lightContext, darkContext, icon); } - private KeyButtonDrawable getDrawable(Context ctx, @DrawableRes int lightIcon, - @DrawableRes int darkIcon) { - return getDrawable(ctx, ctx, lightIcon, darkIcon); + private KeyButtonDrawable getDrawable(Context lightContext, Context darkContext, + @DrawableRes int icon) { + return getDrawable(lightContext, darkContext, icon, true /* hasShadow */); + } + + private KeyButtonDrawable getDrawable(Context lightContext, Context darkContext, + @DrawableRes int icon, boolean hasShadow) { + return KeyButtonDrawable.create(lightContext, lightContext.getDrawable(icon), + darkContext.getDrawable(icon), hasShadow); } - private KeyButtonDrawable getDrawable(Context darkContext, Context lightContext, - @DrawableRes int lightIcon, @DrawableRes int darkIcon) { - return KeyButtonDrawable.create(lightContext.getDrawable(lightIcon), - darkContext.getDrawable(darkIcon)); + private KeyButtonDrawable getDrawable(Context ctx, @DrawableRes int lightIcon, + @DrawableRes int darkIcon) { + // Legacy image icons using separate light and dark images will not support shadows + return KeyButtonDrawable.create(ctx, ctx.getDrawable(lightIcon), + ctx.getDrawable(darkIcon), false /* hasShadow */); } private TintedKeyButtonDrawable getDrawable(Context ctx, @DrawableRes int icon, @@ -557,13 +567,13 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav private KeyButtonDrawable getBackIconWithAlt(boolean carMode, boolean landscape) { return landscape - ? carMode ? mBackAltLandCarModeIcon : mBackAltLandIcon - : carMode ? mBackAltCarModeIcon : mBackAltIcon; + ? carMode ? mBackAltLandCarModeIcon : mBackIcon + : carMode ? mBackAltCarModeIcon : mBackIcon; } private KeyButtonDrawable getBackIcon(boolean carMode, boolean landscape) { return landscape - ? carMode ? mBackLandCarModeIcon : mBackLandIcon + ? carMode ? mBackLandCarModeIcon : mBackIcon : carMode ? mBackCarModeIcon : mBackIcon; } @@ -600,20 +610,21 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav // We have to replace or restore the back and home button icons when exiting or entering // carmode, respectively. Recents are not available in CarMode in nav bar so change // to recent icon is not required. - KeyButtonDrawable backIcon - = ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0) - ? getBackIconWithAlt(mUseCarModeUi, mVertical) - : getBackIcon(mUseCarModeUi, mVertical); + final boolean useAltBack = + (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0; + KeyButtonDrawable backIcon = useAltBack + ? getBackIconWithAlt(mUseCarModeUi, mVertical) + : getBackIcon(mUseCarModeUi, mVertical); + KeyButtonDrawable homeIcon = mUseCarModeUi ? mHomeCarModeIcon : mHomeDefaultIcon; + if (!mUseCarModeUi) { + orientBackButton(backIcon); + orientHomeButton(homeIcon); + } + getHomeButton().setImageDrawable(homeIcon); getBackButton().setImageDrawable(backIcon); updateRecentsIcon(); - if (mUseCarModeUi) { - getHomeButton().setImageDrawable(mHomeCarModeIcon); - } else { - getHomeButton().setImageDrawable(mHomeDefaultIcon); - } - // Update IME button visibility, a11y and rotate button always overrides the appearance final boolean showImeButton = !mShowAccessibilityButton && @@ -640,8 +651,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav // Always disable recents when alternate car mode UI is active. boolean disableRecent = mUseCarModeUi || !isOverviewEnabled(); - boolean disableBack = ((mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) - && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0); + boolean disableBack = ((mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) && !useAltBack; // When screen pinning, don't hide back and home when connected service or back and // recents buttons when disconnected from launcher service in screen pinning mode, @@ -945,6 +955,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav } private void updateRecentsIcon() { + mDockedIcon.setRotation(mDockedStackExists && mVertical ? 90 : 0); getRecentsButton().setImageDrawable(mDockedStackExists ? mDockedIcon : mRecentIcon); mBarTransitions.reapplyDarkIntensity(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ShadowKeyDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ShadowKeyDrawable.java new file mode 100644 index 000000000000..8311dfd64fd2 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ShadowKeyDrawable.java @@ -0,0 +1,207 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar.phone; + + +import android.graphics.Bitmap; +import android.graphics.BlurMaskFilter; +import android.graphics.BlurMaskFilter.Blur; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.PixelFormat; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; + +import com.android.systemui.R; + +/** + * A drawable which adds shadow around a child drawable. + */ +public class ShadowKeyDrawable extends Drawable { + private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG); + + private final ShadowDrawableState mState; + + public ShadowKeyDrawable(Drawable d) { + this(d, new ShadowDrawableState()); + } + + private ShadowKeyDrawable(Drawable d, ShadowDrawableState state) { + mState = state; + if (d != null) { + mState.mBaseHeight = d.getIntrinsicHeight(); + mState.mBaseWidth = d.getIntrinsicWidth(); + mState.mChangingConfigurations = d.getChangingConfigurations(); + mState.mChildState = d.getConstantState(); + } + } + + public void setRotation(float degrees) { + if (mState.mRotateDegrees != degrees) { + mState.mRotateDegrees = degrees; + mState.mLastDrawnBitmap = null; + invalidateSelf(); + } + } + + public void setShadowProperties(int x, int y, int size, int color) { + if (mState.mShadowOffsetX != x || mState.mShadowOffsetY != y + || mState.mShadowSize != size || mState.mShadowColor != color) { + mState.mShadowOffsetX = x; + mState.mShadowOffsetY = y; + mState.mShadowSize = size; + mState.mShadowColor = color; + mState.mLastDrawnBitmap = null; + invalidateSelf(); + } + } + + public float getRotation() { + return mState.mRotateDegrees; + } + + @Override + public void draw(Canvas canvas) { + Rect bounds = getBounds(); + if (bounds.isEmpty()) { + return; + } + if (mState.mLastDrawnBitmap == null) { + regenerateBitmapCache(); + } + canvas.drawBitmap(mState.mLastDrawnBitmap, null, bounds, mPaint); + } + + @Override + public void setTint(int tintColor) { + super.setTint(tintColor); + } + + @Override + public void setAlpha(int alpha) { + mPaint.setAlpha(alpha); + invalidateSelf(); + } + + @Override + public void setColorFilter(ColorFilter colorFilter) { + mPaint.setColorFilter(colorFilter); + invalidateSelf(); + } + + @Override + public ConstantState getConstantState() { + return mState; + } + + @Override + public int getOpacity() { + return PixelFormat.TRANSLUCENT; + } + + @Override + public int getIntrinsicHeight() { + return mState.mBaseHeight; + } + + @Override + public int getIntrinsicWidth() { + return mState.mBaseWidth; + } + + @Override + public boolean canApplyTheme() { + return mState.canApplyTheme(); + } + + private void regenerateBitmapCache() { + final int width = getIntrinsicWidth(); + final int height = getIntrinsicHeight(); + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + canvas.save(); + final float radians = (float) (mState.mRotateDegrees * Math.PI / 180); + + // Rotate canvas before drawing original drawable if no shadow + if (mState.mShadowSize == 0) { + canvas.rotate(mState.mRotateDegrees, width / 2, height / 2); + } + + // Call mutate, so that the pixel allocation by the underlying vector drawable is cleared. + final Drawable d = mState.mChildState.newDrawable().mutate(); + d.setBounds(0, 0, mState.mBaseWidth, mState.mBaseHeight); + d.draw(canvas); + + if (mState.mShadowSize > 0) { + // Draws the shadow + Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG); + paint.setMaskFilter(new BlurMaskFilter(mState.mShadowSize, Blur.NORMAL)); + int[] offset = new int[2]; + + final Bitmap shadow = bitmap.extractAlpha(paint, offset); + + paint.setMaskFilter(null); + paint.setColor(mState.mShadowColor); + bitmap.eraseColor(Color.TRANSPARENT); + + canvas.rotate(mState.mRotateDegrees, width / 2, height / 2); + + final float shadowOffsetX = (float) (Math.sin(radians) * mState.mShadowOffsetY + + Math.cos(radians) * mState.mShadowOffsetX); + final float shadowOffsetY = (float) (Math.cos(radians) * mState.mShadowOffsetY + - Math.sin(radians) * mState.mShadowOffsetX); + + canvas.drawBitmap(shadow, offset[0] + shadowOffsetX, offset[1] + shadowOffsetY, paint); + d.draw(canvas); + } + + bitmap = bitmap.copy(Bitmap.Config.HARDWARE, false); + mState.mLastDrawnBitmap = bitmap; + canvas.restore(); + } + + private static class ShadowDrawableState extends ConstantState { + int mChangingConfigurations; + int mBaseWidth; + int mBaseHeight; + float mRotateDegrees; + int mShadowOffsetX; + int mShadowOffsetY; + int mShadowSize; + int mShadowColor; + + Bitmap mLastDrawnBitmap; + ConstantState mChildState; + + @Override + public Drawable newDrawable() { + return new ShadowKeyDrawable(null, this); + } + + @Override + public int getChangingConfigurations() { + return mChangingConfigurations; + } + + @Override + public boolean canApplyTheme() { + return true; + } + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java index cce9d1cd6d95..1a85c479a42c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java @@ -17,10 +17,16 @@ package com.android.systemui.statusbar.policy; import android.annotation.Nullable; +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.view.Gravity; +import com.android.systemui.R; +import com.android.systemui.statusbar.phone.ShadowKeyDrawable; + /** * Drawable for {@link KeyButtonView}s which contains an asset for both normal mode and light * navigation bar mode. @@ -29,13 +35,24 @@ public class KeyButtonDrawable extends LayerDrawable { private final boolean mHasDarkDrawable; - public static KeyButtonDrawable create(Drawable lightDrawable, - @Nullable Drawable darkDrawable) { + public static KeyButtonDrawable create(Context lightContext, Drawable lightDrawable, + @Nullable Drawable darkDrawable, boolean hasShadow) { if (darkDrawable != null) { - return new KeyButtonDrawable( - new Drawable[] { lightDrawable.mutate(), darkDrawable.mutate() }); + ShadowKeyDrawable light = new ShadowKeyDrawable(lightDrawable.mutate()); + ShadowKeyDrawable dark = new ShadowKeyDrawable(darkDrawable.mutate()); + if (hasShadow) { + // Only apply the shadow on the light drawable + Resources res = lightContext.getResources(); + int offsetX = res.getDimensionPixelSize(R.dimen.nav_key_button_shadow_offset_x); + int offsetY = res.getDimensionPixelSize(R.dimen.nav_key_button_shadow_offset_y); + int radius = res.getDimensionPixelSize(R.dimen.nav_key_button_shadow_radius); + int color = lightContext.getColor(R.color.nav_key_button_shadow_color); + light.setShadowProperties(offsetX, offsetY, radius, color); + } + return new KeyButtonDrawable(new Drawable[] { light, dark }); } else { - return new KeyButtonDrawable(new Drawable[] { lightDrawable.mutate() }); + return new KeyButtonDrawable(new Drawable[] { + new ShadowKeyDrawable(lightDrawable.mutate()) }); } } @@ -57,4 +74,13 @@ public class KeyButtonDrawable extends LayerDrawable { getDrawable(1).setAlpha((int) (intensity * 255f)); invalidateSelf(); } + + public void setRotation(float degrees) { + if (getDrawable(0) instanceof ShadowKeyDrawable) { + ((ShadowKeyDrawable) getDrawable(0)).setRotation(degrees); + } + if (mHasDarkDrawable && getDrawable(1) instanceof ShadowKeyDrawable) { + ((ShadowKeyDrawable) getDrawable(1)).setRotation(degrees); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TintedKeyButtonDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TintedKeyButtonDrawable.java index 4d33dec56397..30a5cc841c45 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TintedKeyButtonDrawable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TintedKeyButtonDrawable.java @@ -21,6 +21,7 @@ import android.graphics.Color; import android.graphics.drawable.Drawable; import com.android.internal.graphics.ColorUtils; +import com.android.systemui.statusbar.phone.ShadowKeyDrawable; /** * Drawable for {@link KeyButtonView}s which contains a single asset and colors for light and dark @@ -36,7 +37,8 @@ public class TintedKeyButtonDrawable extends KeyButtonDrawable { public static TintedKeyButtonDrawable create(Drawable drawable, @ColorInt int lightColor, @ColorInt int darkColor) { - return new TintedKeyButtonDrawable(new Drawable[] { drawable }, lightColor, darkColor); + return new TintedKeyButtonDrawable(new Drawable[] { drawable }, + lightColor, darkColor); } private TintedKeyButtonDrawable(Drawable[] drawables, int lightColor, int darkColor){ 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 a2b33fa1a581..0aa51c99c24b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -760,7 +760,9 @@ public class NotificationStackScrollLayout extends ViewGroup } private void updateClippingToTopRoundedCorner() { - Float clipStart = (float) mTopPadding + mAmbientState.getExpandAnimationTopChange(); + Float clipStart = (float) mTopPadding + + mStackTranslation + + mAmbientState.getExpandAnimationTopChange(); Float clipEnd = clipStart + mCornerRadius; boolean first = true; for (int i = 0; i < getChildCount(); i++) { @@ -769,8 +771,7 @@ public class NotificationStackScrollLayout extends ViewGroup continue; } float start = child.getTranslationY(); - float end = start + Math.max(child.getActualHeight() - child.getClipBottomAmount(), - 0); + float end = start + child.getActualHeight(); boolean clip = clipStart > start && clipStart < end || clipEnd >= start && clipEnd <= end; clip &= !(first && mOwnScrollY == 0); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java index 17a4fbc4c1f6..189b1eed15e3 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java @@ -57,9 +57,7 @@ public class KeyguardSliceViewTest extends SysuiTestCase { public void showSlice_notifiesListener() { ListBuilder builder = new ListBuilder(getContext(), mSliceUri); AtomicBoolean notified = new AtomicBoolean(); - mKeyguardSliceView.setContentChangeListener((hasHeader)-> { - notified.set(true); - }); + mKeyguardSliceView.setContentChangeListener(()-> notified.set(true)); mKeyguardSliceView.onChanged(builder.build()); Assert.assertTrue("Listener should be notified about slice changes.", notified.get()); @@ -68,9 +66,7 @@ public class KeyguardSliceViewTest extends SysuiTestCase { @Test public void showSlice_emptySliceNotifiesListener() { AtomicBoolean notified = new AtomicBoolean(); - mKeyguardSliceView.setContentChangeListener((hasHeader)-> { - notified.set(true); - }); + mKeyguardSliceView.setContentChangeListener(()-> notified.set(true)); mKeyguardSliceView.onChanged(null); Assert.assertTrue("Listener should be notified about slice changes.", notified.get()); @@ -92,9 +88,7 @@ public class KeyguardSliceViewTest extends SysuiTestCase { @Test public void refresh_replacesSliceContentAndNotifiesListener() { AtomicBoolean notified = new AtomicBoolean(); - mKeyguardSliceView.setContentChangeListener((hasHeader)-> { - notified.set(true); - }); + mKeyguardSliceView.setContentChangeListener(()-> notified.set(true)); mKeyguardSliceView.refresh(); Assert.assertTrue("Listener should be notified about slice changes.", notified.get()); diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 686ab53ecc22..d06410597391 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -205,6 +205,14 @@ message MetricsEvent { HARDWARE_FAILURE_FINGERPRINT_TOO_MANY_DEAD_PIXELS = 5; } + enum IoOperation { + IOOP_UNKNOWN = 0; + IOOP_READ = 1; + IOOP_WRITE = 2; + IOOP_UNMAP = 3; + IOOP_SYNC = 4; + } + // Known visual elements: views or controls. enum View { // Unknown view @@ -5931,8 +5939,7 @@ message MetricsEvent { // ACTION: Battery health snapshot // CATEGORY: OTHER // OS: P - // uses FIELD_END_BATTERY_PERCENT for batt % - // uses FIELD_END_BATTERY_UA for instantaneous current load + // uses FIELD_END_BATTERY_PERCENT for instantaneous batt % ACTION_BATTERY_HEALTH = 1433; // FIELD: Battery health snapshot type - min daily voltage, resistance, etc. @@ -5940,31 +5947,33 @@ message MetricsEvent { // OS: P FIELD_BATTERY_HEALTH_SNAPSHOT_TYPE = 1434; - // FIELD: Battery temperature at snapshop. + // FIELD: Battery temperature at snapshot, in 1/10 deg C. // CATEGORY: OTHER // OS: P - FIELD_BATTERY_TEMPERATURE = 1435; + FIELD_BATTERY_TEMPERATURE_DECI_C = 1435; - // FIELD: Battery voltage at snapshot. + // FIELD: Battery voltage at snapshot, in microVolts. // CATEGORY: OTHER // OS: P - FIELD_BATTERY_VOLTAGE = 1436; + FIELD_BATTERY_VOLTAGE_UV = 1436; - // FIELD: Battery open circuit voltage at snapshot. + // FIELD: Battery open circuit voltage at snapshot, in microVolts. // CATEGORY: OTHER // OS: P - FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE = 1437; + FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE_UV = 1437; - // ACTION: Battery charge cycles - // Number of times the battery has charged beyond a + // ACTION: Number of times the battery has charged beyond a // fractional threshold of full capacity. // CATEGORY: OTHER // OS: P ACTION_BATTERY_CHARGE_CYCLES = 1438; - // FIELD: Battery charge cycles - // Number of times the battery has charged beyond a - // fractional threshold of full capacity. + // FIELD: BATTERY_CHARGE_CYCLES - Number of times the battery has charged + // beyond a fractional threshold of full + // capacity. A comma-separated string of + // buckets. If there are eight buckets, + // each bucket represents charging to n/8 + // percent full. // CATEGORY: OTHER // OS: P FIELD_BATTERY_CHARGE_CYCLES = 1439; @@ -5980,6 +5989,62 @@ message MetricsEvent { // OS: P DIALOG_BLUETOOTH_DISABLE_A2DP_HW_OFFLOAD = 1441; + // ACTION: SLOW_IO - I/O operation took longer than threshold, + // reported aggregated per day when > 0. + // CATEGORY: OTHER + // OS: P + ACTION_SLOW_IO = 1442; + + // FIELD: IO_OPERATION_TYPE - The IO Operation that caused the high latency. + // The value is an integer from the enum IoOperation. + // CATEGORY: OTHER + // OS: P + FIELD_IO_OPERATION_TYPE = 1443; + + // FIELD: IO_OPERATION_COUNT - Count of how many times this slow IO operation happened + // over the past 24hr (reported only if > 0). + // CATEGORY: OTHER + // OS: P + FIELD_IO_OPERATION_COUNT = 1444; + + // ACTION: Speaker Imedance - last recorded speaker impedance. + // reported max once per 24hr. + // CATEGORY: OTHER + // OS: P + ACTION_SPEAKER_IMPEDANCE = 1445; + + // FIELD: Speaker Impedance in milliohms. + // CATEGORY: OTHER + // OS: P + FIELD_SPEAKER_IMPEDANCE_MILLIOHMS = 1446; + + // FIELD: Speaker Location - identifies one of several speakers on a device. + // CATEGORY: OTHER + // OS: P + FIELD_SPEAKER_LOCATION = 1447; + + // FIELD: Instantaneous battery resistance in microohms. + // CATEGORY: OTHER + // OS: P + FIELD_BATTERY_RESISTANCE_UOHMS = 1448; + + // FIELD: Instantaneous battery current - in microamps. + // CATEGORY: OTHER + // OS: P + FIELD_BATTERY_CURRENT_UA = 1449; + + // FIELD: HARDWARE_LOCATION - Identifier for instance of a hardware type on a + // board. + // CATEGORY: OTHER + // OS: P + FIELD_HARDWARE_LOCATION = 1450; + + // ACTION: BATTERY_CAUSED_SHUTDOWN - shutdown due to low battery, the + // action is logged after the subsequent boot. + // CATEGORY: OTHER + // OS: P + ACTION_BATTERY_CAUSED_SHUTDOWN = 1451; + // ---- End P Constants, all P constants go above this line ---- // Add new aosp constants above this line. // END OF AOSP CONSTANTS diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto index bf9ccb838ae9..72f11e0a63c1 100644 --- a/proto/src/wifi.proto +++ b/proto/src/wifi.proto @@ -619,6 +619,9 @@ message RssiPollCount { // Number of RSSI polls with 'rssi' optional int32 count = 2; + + // Beacon frequency of the channel in MHz + optional int32 frequency = 3; } // Number of occurrences of a specific alert reason value diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 98bf740d0d30..c25f8ff843a8 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -37,9 +37,7 @@ import static android.app.ActivityManagerInternal.ASSIST_KEY_DATA; import static android.app.ActivityManagerInternal.ASSIST_KEY_RECEIVER_EXTRAS; import static android.app.ActivityManagerInternal.ASSIST_KEY_STRUCTURE; import static android.app.ActivityThread.PROC_START_SEQ_IDENT; -import static android.app.AppOpsManager.OP_ASSIST_STRUCTURE; import static android.app.AppOpsManager.OP_NONE; -import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED; import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM; @@ -5128,6 +5126,7 @@ public class ActivityManagerService extends IActivityManager.Stub final ActivityRecord sourceRecord; final int targetUid; final String targetPackage; + final boolean isResolver; synchronized (this) { if (resultTo == null) { throw new SecurityException("Must be called from an activity"); @@ -5165,6 +5164,7 @@ public class ActivityManagerService extends IActivityManager.Stub } targetUid = sourceRecord.launchedFromUid; targetPackage = sourceRecord.launchedFromPackage; + isResolver = sourceRecord.isResolverOrChildActivity(); } if (userId == UserHandle.USER_NULL) { @@ -5184,6 +5184,7 @@ public class ActivityManagerService extends IActivityManager.Stub .setActivityOptions(bOptions) .setMayWait(userId) .setIgnoreTargetSecurity(ignoreTargetSecurity) + .setFilterCallingUid(isResolver ? 0 /* system */ : targetUid) .execute(); } catch (SecurityException e) { // XXX need to figure out how to propagate to original app. @@ -20547,7 +20548,7 @@ public class ActivityManagerService extends IActivityManager.Stub IPackageManager pm = AppGlobals.getPackageManager(); ApplicationInfo app = null; try { - app = pm.getApplicationInfo(packageName, 0, userId); + app = pm.getApplicationInfo(packageName, STOCK_PM_FLAGS, userId); } catch (RemoteException e) { // can't happen; package manager is process-local } diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index d64b429edcd4..ef5a5a322aa8 100644 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -826,6 +826,18 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo return ResolverActivity.class.getName().equals(realActivity.getClassName()); } + boolean isResolverOrChildActivity() { + if (!"android".equals(packageName)) { + return false; + } + try { + return ResolverActivity.class.isAssignableFrom( + Object.class.getClassLoader().loadClass(realActivity.getClassName())); + } catch (ClassNotFoundException e) { + return false; + } + } + ActivityRecord(ActivityManagerService _service, ProcessRecord _caller, int _launchedFromPid, int _launchedFromUid, String _launchedFromPackage, Intent _intent, String _resolvedType, ActivityInfo aInfo, Configuration _configuration, diff --git a/services/core/java/com/android/server/am/ActivityStartController.java b/services/core/java/com/android/server/am/ActivityStartController.java index bbdc9248a256..a7c32009a4c4 100644 --- a/services/core/java/com/android/server/am/ActivityStartController.java +++ b/services/core/java/com/android/server/am/ActivityStartController.java @@ -37,6 +37,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.UserHandle; import android.provider.Settings; import android.util.Slog; import android.view.RemoteAnimationAdapter; @@ -340,7 +341,7 @@ public class ActivityStartController { // Collect information about the target of the Intent. ActivityInfo aInfo = mSupervisor.resolveActivity(intent, resolvedTypes[i], 0, null, userId, ActivityStarter.computeResolveFilterUid( - callingUid, realCallingUid)); + callingUid, realCallingUid, UserHandle.USER_NULL)); // TODO: New, check if this is correct aInfo = mService.getActivityInfoForUser(aInfo, userId); diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index ad434b4db27e..73e3d33073fc 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -312,6 +312,7 @@ class ActivityStarter { Configuration globalConfig; int userId; WaitResult waitResult; + int filterCallingUid; /** * If set to {@code true}, allows this activity start to look into @@ -367,6 +368,7 @@ class ActivityStarter { mayWait = false; avoidMoveToFront = false; allowPendingRemoteAnimationRegistryLookup = true; + filterCallingUid = UserHandle.USER_NULL; } /** @@ -404,6 +406,7 @@ class ActivityStarter { avoidMoveToFront = request.avoidMoveToFront; allowPendingRemoteAnimationRegistryLookup = request.allowPendingRemoteAnimationRegistryLookup; + filterCallingUid = request.filterCallingUid; } } @@ -792,7 +795,8 @@ class ActivityStarter { callingPid = realCallingPid; rInfo = mSupervisor.resolveIntent(intent, resolvedType, userId, 0, - computeResolveFilterUid(callingUid, realCallingUid)); + computeResolveFilterUid( + callingUid, realCallingUid, mRequest.filterCallingUid)); aInfo = mSupervisor.resolveActivity(intent, rInfo, startFlags, null /*profilerInfo*/); @@ -984,7 +988,9 @@ class ActivityStarter { } ResolveInfo rInfo = mSupervisor.resolveIntent(intent, resolvedType, userId, - 0 /* matchFlags */, computeResolveFilterUid(callingUid, realCallingUid)); + 0 /* matchFlags */, + computeResolveFilterUid( + callingUid, realCallingUid, mRequest.filterCallingUid)); if (rInfo == null) { UserInfo userInfo = mSupervisor.getUserInfo(userId); if (userInfo != null && userInfo.isManagedProfile()) { @@ -1006,7 +1012,8 @@ class ActivityStarter { rInfo = mSupervisor.resolveIntent(intent, resolvedType, userId, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - computeResolveFilterUid(callingUid, realCallingUid)); + computeResolveFilterUid( + callingUid, realCallingUid, mRequest.filterCallingUid)); } } } @@ -1078,8 +1085,8 @@ class ActivityStarter { callingPid = Binder.getCallingPid(); componentSpecified = true; rInfo = mSupervisor.resolveIntent(intent, null /*resolvedType*/, userId, - 0 /* matchFlags */, computeResolveFilterUid(callingUid, - realCallingUid)); + 0 /* matchFlags */, computeResolveFilterUid( + callingUid, realCallingUid, mRequest.filterCallingUid)); aInfo = rInfo != null ? rInfo.activityInfo : null; if (aInfo != null) { aInfo = mService.getActivityInfoForUser(aInfo, userId); @@ -1173,10 +1180,14 @@ class ActivityStarter { * * @param customCallingUid The UID on whose behalf to make the call. * @param actualCallingUid The UID actually making the call. + * @param filterCallingUid The UID to be used to filter for instant apps. * @return The logical UID making the call. */ - static int computeResolveFilterUid(int customCallingUid, int actualCallingUid) { - return customCallingUid >= 0 ? customCallingUid : actualCallingUid; + static int computeResolveFilterUid(int customCallingUid, int actualCallingUid, + int filterCallingUid) { + return filterCallingUid != UserHandle.USER_NULL + ? filterCallingUid + : (customCallingUid >= 0 ? customCallingUid : actualCallingUid); } private int startActivity(final ActivityRecord r, ActivityRecord sourceRecord, @@ -2562,6 +2573,11 @@ class ActivityStarter { return this; } + ActivityStarter setFilterCallingUid(int filterCallingUid) { + mRequest.filterCallingUid = filterCallingUid; + return this; + } + ActivityStarter setComponentSpecified(boolean componentSpecified) { mRequest.componentSpecified = componentSpecified; return this; diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 7c9a3ae260f4..28665e3c3942 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -3795,7 +3795,7 @@ public class AudioService extends IAudioService.Stub queueMsgUnderWakeLock(mAudioHandler, MSG_SET_A2DP_SINK_CONNECTION_STATE, state, - 0 /* arg2 unused */, + -1, btDevice, delay); } @@ -4641,22 +4641,22 @@ public class AudioService extends IAudioService.Stub public int setBluetoothA2dpDeviceConnectionState(BluetoothDevice device, int state, int profile) { return setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent( - device, state, profile, false /* suppressNoisyIntent */); + device, state, profile, false /* suppressNoisyIntent */, -1 /* a2dpVolume */); } public int setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(BluetoothDevice device, - int state, int profile, boolean suppressNoisyIntent) + int state, int profile, boolean suppressNoisyIntent, int a2dpVolume) { if (mAudioHandler.hasMessages(MSG_SET_A2DP_SINK_CONNECTION_STATE, device)) { return 0; } return setBluetoothA2dpDeviceConnectionStateInt( - device, state, profile, suppressNoisyIntent, AudioSystem.DEVICE_NONE); + device, state, profile, suppressNoisyIntent, AudioSystem.DEVICE_NONE, a2dpVolume); } public int setBluetoothA2dpDeviceConnectionStateInt( BluetoothDevice device, int state, int profile, boolean suppressNoisyIntent, - int musicDevice) + int musicDevice, int a2dpVolume) { int delay; if (profile != BluetoothProfile.A2DP && profile != BluetoothProfile.A2DP_SINK) { @@ -4674,7 +4674,7 @@ public class AudioService extends IAudioService.Stub (profile == BluetoothProfile.A2DP ? MSG_SET_A2DP_SINK_CONNECTION_STATE : MSG_SET_A2DP_SRC_CONNECTION_STATE), state, - 0 /* arg2 unused */, + a2dpVolume, device, delay); } @@ -5204,41 +5204,41 @@ public class AudioService extends IAudioService.Stub } } - /** Handles internal volume messages in separate volume thread. */ - private class AudioHandler extends Handler { - - private void setDeviceVolume(VolumeStreamState streamState, int device) { + private void setDeviceVolume(VolumeStreamState streamState, int device) { - synchronized (VolumeStreamState.class) { - // Apply volume - streamState.applyDeviceVolume_syncVSS(device); + synchronized (VolumeStreamState.class) { + // Apply volume + streamState.applyDeviceVolume_syncVSS(device); - // Apply change to all streams using this one as alias - int numStreamTypes = AudioSystem.getNumStreamTypes(); - for (int streamType = numStreamTypes - 1; streamType >= 0; streamType--) { - if (streamType != streamState.mStreamType && - mStreamVolumeAlias[streamType] == streamState.mStreamType) { - // Make sure volume is also maxed out on A2DP device for aliased stream - // that may have a different device selected - int streamDevice = getDeviceForStream(streamType); - if ((device != streamDevice) && mAvrcpAbsVolSupported && - ((device & AudioSystem.DEVICE_OUT_ALL_A2DP) != 0)) { - mStreamStates[streamType].applyDeviceVolume_syncVSS(device); - } - mStreamStates[streamType].applyDeviceVolume_syncVSS(streamDevice); + // Apply change to all streams using this one as alias + int numStreamTypes = AudioSystem.getNumStreamTypes(); + for (int streamType = numStreamTypes - 1; streamType >= 0; streamType--) { + if (streamType != streamState.mStreamType && + mStreamVolumeAlias[streamType] == streamState.mStreamType) { + // Make sure volume is also maxed out on A2DP device for aliased stream + // that may have a different device selected + int streamDevice = getDeviceForStream(streamType); + if ((device != streamDevice) && mAvrcpAbsVolSupported && + ((device & AudioSystem.DEVICE_OUT_ALL_A2DP) != 0)) { + mStreamStates[streamType].applyDeviceVolume_syncVSS(device); } + mStreamStates[streamType].applyDeviceVolume_syncVSS(streamDevice); } } - // Post a persist volume msg - sendMsg(mAudioHandler, - MSG_PERSIST_VOLUME, - SENDMSG_QUEUE, - device, - 0, - streamState, - PERSIST_DELAY); - } + // Post a persist volume msg + sendMsg(mAudioHandler, + MSG_PERSIST_VOLUME, + SENDMSG_QUEUE, + device, + 0, + streamState, + PERSIST_DELAY); + + } + + /** Handles internal volume messages in separate volume thread. */ + private class AudioHandler extends Handler { private void setAllVolumes(VolumeStreamState streamState) { @@ -5605,7 +5605,7 @@ public class AudioService extends IAudioService.Stub break; case MSG_SET_A2DP_SINK_CONNECTION_STATE: - onSetA2dpSinkConnectionState((BluetoothDevice)msg.obj, msg.arg1); + onSetA2dpSinkConnectionState((BluetoothDevice)msg.obj, msg.arg1, msg.arg2); mAudioEventWakeLock.release(); break; @@ -5899,7 +5899,7 @@ public class AudioService extends IAudioService.Stub return mAudioHandler.hasMessages(MSG_BTA2DP_DOCK_TIMEOUT); } - private void onSetA2dpSinkConnectionState(BluetoothDevice btDevice, int state) + private void onSetA2dpSinkConnectionState(BluetoothDevice btDevice, int state, int a2dpVolume) { if (DEBUG_DEVICES) { Log.d(TAG, "onSetA2dpSinkConnectionState btDevice=" + btDevice+"state=" + state); @@ -5944,6 +5944,14 @@ public class AudioService extends IAudioService.Stub makeA2dpDeviceUnavailableNow(mDockAddress); } } + if (a2dpVolume != -1) { + VolumeStreamState streamState = mStreamStates[AudioSystem.STREAM_MUSIC]; + // Convert index to internal representation in VolumeStreamState + a2dpVolume = a2dpVolume * 10; + streamState.setIndex(a2dpVolume, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, + "onSetA2dpSinkConnectionState"); + setDeviceVolume(streamState, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP); + } makeA2dpDeviceAvailable(address, btDevice.getName(), "onSetA2dpSinkConnectionState"); setCurrentAudioRouteName(btDevice.getAliasName()); @@ -6046,7 +6054,7 @@ public class AudioService extends IAudioService.Stub // consistent with audio policy manager state setBluetoothA2dpDeviceConnectionStateInt( btDevice, BluetoothA2dp.STATE_DISCONNECTED, BluetoothProfile.A2DP, - false /* suppressNoisyIntent */, musicDevice); + false /* suppressNoisyIntent */, musicDevice, -1 /* a2dpVolume */); } } } @@ -6056,6 +6064,9 @@ public class AudioService extends IAudioService.Stub // address is not used for now, but may be used when multiple a2dp devices are supported synchronized (mA2dpAvrcpLock) { mAvrcpAbsVolSupported = support; + sendMsg(mAudioHandler, MSG_SET_DEVICE_VOLUME, SENDMSG_QUEUE, + AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, 0, + mStreamStates[AudioSystem.STREAM_MUSIC], 0); } } diff --git a/services/core/java/com/android/server/display/ColorDisplayService.java b/services/core/java/com/android/server/display/ColorDisplayService.java index 213ec364f78f..0b6786cf8c07 100644 --- a/services/core/java/com/android/server/display/ColorDisplayService.java +++ b/services/core/java/com/android/server/display/ColorDisplayService.java @@ -189,6 +189,13 @@ public final class ColorDisplayService extends SystemService mController = new ColorDisplayController(getContext(), mCurrentUser); mController.setListener(this); + // Set the color mode, if valid, and immediately apply the updated tint matrix based on the + // existing activated state. This ensures consistency of tint across the color mode change. + onDisplayColorModeChanged(mController.getColorMode()); + + // Reset the activated state. + mIsActivated = null; + setCoefficientMatrix(getContext(), DisplayTransformManager.needsLinearColorMatrix()); // Prepare color transformation matrix. @@ -201,9 +208,6 @@ public final class ColorDisplayService extends SystemService if (mIsActivated == null) { onActivated(mController.isActivated()); } - - // Transition the screen to the current temperature. - applyTint(false); } private void tearDown() { @@ -223,8 +227,6 @@ public final class ColorDisplayService extends SystemService mColorMatrixAnimator.end(); mColorMatrixAnimator = null; } - - mIsActivated = null; } @Override @@ -288,6 +290,10 @@ public final class ColorDisplayService extends SystemService @Override public void onDisplayColorModeChanged(int mode) { + if (mode == -1) { + return; + } + // Cancel the night display tint animator if it's running. if (mColorMatrixAnimator != null) { mColorMatrixAnimator.cancel(); @@ -297,7 +303,8 @@ public final class ColorDisplayService extends SystemService setMatrix(mController.getColorTemperature(), mMatrixNight); final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class); - dtm.setColorMode(mode, mIsActivated ? mMatrixNight : MATRIX_IDENTITY); + dtm.setColorMode(mode, (mIsActivated != null && mIsActivated) ? mMatrixNight + : MATRIX_IDENTITY); } @Override diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 5f9a363dc728..9886a07c0a49 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -8781,8 +8781,16 @@ public class PackageManagerService extends IPackageManager.Stub if (scanSystemPartition && isSystemPkgUpdated && !isSystemPkgBetter) { // The version of the application on the /system partition is less than or - // equal to the version on the /data partition. Throw an exception and use - // the application already installed on the /data partition. + // equal to the version on the /data partition. Even though the disabled system package + // is likely to be replaced by a version on the /data partition, we make assumptions + // that it's part of the mPackages collection during package manager initialization. So, + // add it to mPackages if there isn't already a package in the collection and then throw + // an exception to use the application already installed on the /data partition. + synchronized (mPackages) { + if (!mPackages.containsKey(pkg.packageName)) { + mPackages.put(pkg.packageName, pkg); + } + } throw new PackageManagerException(Log.WARN, "Package " + pkg.packageName + " at " + pkg.codePath + " ignored: updated version " + pkgSetting.versionCode + " better than this " + pkg.getLongVersionCode()); diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 61400da6e452..a735297b06c2 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -6655,6 +6655,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { } void launchVoiceAssistWithWakeLock() { + sendCloseSystemWindows(SYSTEM_DIALOG_REASON_ASSIST); + final Intent voiceIntent; if (!keyguardOn()) { voiceIntent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH); diff --git a/services/tests/servicestests/src/com/android/server/ColorDisplayServiceTest.java b/services/tests/servicestests/src/com/android/server/display/ColorDisplayServiceTest.java index c004074d241b..6bd8011f1aa9 100644 --- a/services/tests/servicestests/src/com/android/server/ColorDisplayServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/display/ColorDisplayServiceTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server; +package com.android.server.display; import android.annotation.NonNull; import android.app.ActivityManager; @@ -32,8 +32,8 @@ import android.test.mock.MockContentResolver; import com.android.internal.app.ColorDisplayController; import com.android.internal.util.test.FakeSettingsProvider; -import com.android.server.display.DisplayTransformManager; -import com.android.server.display.ColorDisplayService; +import com.android.server.LocalServices; +import com.android.server.SystemService; import com.android.server.twilight.TwilightListener; import com.android.server.twilight.TwilightManager; import com.android.server.twilight.TwilightState; diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 7d42eb369c57..6311127a1ffe 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -699,6 +699,29 @@ public class UsageStatsService extends SystemService implements == PackageManager.PERMISSION_GRANTED; } + private void checkCallerIsSystemOrSameApp(String pkg) { + if (isCallingUidSystem()) { + return; + } + checkCallerIsSameApp(pkg); + } + + private void checkCallerIsSameApp(String pkg) { + final int callingUid = Binder.getCallingUid(); + final int callingUserId = UserHandle.getUserId(callingUid); + + if (mPackageManagerInternal.getPackageUid(pkg, PackageManager.MATCH_ANY_USER, + callingUserId) != callingUid) { + throw new SecurityException("Calling uid " + pkg + " cannot query events" + + "for package " + pkg); + } + } + + private boolean isCallingUidSystem() { + final int uid = Binder.getCallingUid(); + return uid == Process.SYSTEM_UID; + } + @Override public ParceledListSlice<UsageStats> queryUsageStats(int bucketType, long beginTime, long endTime, String callingPackage) { @@ -792,11 +815,7 @@ public class UsageStatsService extends SystemService implements final int callingUid = Binder.getCallingUid(); final int callingUserId = UserHandle.getUserId(callingUid); - if (mPackageManagerInternal.getPackageUid(callingPackage, PackageManager.MATCH_ANY_USER, - callingUserId) != callingUid) { - throw new SecurityException("Calling uid " + callingPackage + " cannot query events" - + "for package " + callingPackage); - } + checkCallerIsSameApp(callingPackage); final long token = Binder.clearCallingIdentity(); try { return UsageStatsService.this.queryEventsForPackage(callingUserId, beginTime, @@ -807,6 +826,53 @@ public class UsageStatsService extends SystemService implements } @Override + public UsageEvents queryEventsForUser(long beginTime, long endTime, int userId, + String callingPackage) { + if (!hasPermission(callingPackage)) { + return null; + } + + if (userId != UserHandle.getCallingUserId()) { + getContext().enforceCallingPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + "No permission to query usage stats for this user"); + } + + final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller( + Binder.getCallingUid(), UserHandle.getCallingUserId()); + + final long token = Binder.clearCallingIdentity(); + try { + return UsageStatsService.this.queryEvents(userId, beginTime, endTime, + obfuscateInstantApps); + } finally { + Binder.restoreCallingIdentity(token); + } + } + + @Override + public UsageEvents queryEventsForPackageForUser(long beginTime, long endTime, + int userId, String pkg, String callingPackage) { + if (!hasPermission(callingPackage)) { + return null; + } + if (userId != UserHandle.getCallingUserId()) { + getContext().enforceCallingPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + "No permission to query usage stats for this user"); + } + checkCallerIsSystemOrSameApp(pkg); + + final long token = Binder.clearCallingIdentity(); + try { + return UsageStatsService.this.queryEventsForPackage(userId, beginTime, + endTime, callingPackage); + } finally { + Binder.restoreCallingIdentity(token); + } + } + + @Override public boolean isAppInactive(String packageName, int userId) { try { userId = ActivityManager.getService().handleIncomingUser(Binder.getCallingPid(), |